스피나커는 넷플릭스(Netflix)에서 개발한 오픈소스 기반의 멀티클라우드 연속 배포(Continuous Delivery) 플랫폼이다. 클라우드 네이티브 환경에서 애플리케이션을 빠르고 안정적으로 배포·관리하기 위해 설계되었으며, 현재는 구글(Google), 아마존(AWS), 마이크로소프트(Microsoft Azure), 쿠버네티스(Kubernetes) 등 다양한 클라우드 서비스와 연동된다.
1. 개요
정식 명칭: Spinnaker (한국어 표기: 스피나커)
주요 목적: 파이프라인 기반의 자동화된 배포, 롤백, 카나리( Canary ) 배포, 블루‑그린( Blue‑Green ) 배포 등 고급 배포 전략 제공
라이선스: Apache License 2.0
관계 조직: 2020년 5월에 설립된 Continuous Delivery Foundation(CDF) 에서 관리
2. 역사
연도
주요 사건
2014
넷플릭스 내부 프로젝트로 시작, 대규모 배포 자동화 요구에 대응하기 위해 개발
2015
오픈소스로 공개, GitHub에 최초 코드 공개(버전 0.1)
2016‑2018
구글, 아마존, 마이크로소프트 등 클라우드 제공업체와 협업, 클라우드 연동 기능 확대
2020
Continuous Delivery Foundation에 프로젝트 이관, 커뮤니티 기반 개발 활성화
2023
2.x 메이저 릴리즈(Spinnaker 2.0) 발표 – 마이크로서비스 아키텍처 적용, UI 개선, 플러그인 시스템 도입
3. 주요 구성 요소
컴포넌트
역할
Clouddriver
클라우드 공급자와의 통신 및 인프라 리소스(서버, 로드밸런서, 보안그룹 등) 관리
Orca
파이프라인 실행 엔진. 단계별 작업을 스케줄링하고 상태를 추적
Deck
웹 UI 프론트엔드. 파이프라인 정의, 애플리케이션 대시보드, 모니터링 제공
Fiat
권한 관리 및 인증(Authorization) 서비스
Gate
API 게이트웨이. 외부 시스템(예: CI 툴)과의 통신을 위한 RESTful 인터페이스
Igor
CI 서버(Jenkins, Travis CI 등)와 연동하여 빌드 정보를 가져옴
Rosco
이미지 패키징 및 베이킹(예: Packer) 도구와 연동
Kayenta
카나리 배포 시 자동화된 메트릭 분석 및 판단 로직 수행
Echo
알림 및 이벤트 전송(메일, Slack, HipChat 등) 담당
Monitoring
Prometheus, Datadog 등 외부 모니터링 시스템과 연동 가능
4. 핵심 기능
파이프라인 기반 워크플로: 단계(빌드, 테스트, 배포, 승인 등)를 시각적으로 설계·관리
멀티클라우드 지원: 동일 파이프라인으로 AWS, GCP, Azure, Kubernetes, OpenStack 등 다중 클라우드에 배포 가능
고급 배포 전략: 카나리, 블루‑그린, 롤링, 스팟 인스턴스 교체 등 다양한 전략 제공
자동화된 롤백: 배포 실패 시 자동으로 이전 버전으로 복구
정책 기반 권한 관리: 팀·프로젝트 단위의 세부 권한 제어
플러그인 아키텍처: 커스텀 단계·알림·통합 플러그인 구현 가능
5. 적용 사례
넷플릭스: 내부 서비스 수천 개에 대해 일일 수천 건의 배포 자동화 운영
스포티파이(Spotify): 마이크로서비스 기반 서비스 배포에 스피나커 사용, 카나리 배포로 안정성 향상