Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて /...
Search
Mahito
October 26, 2018
Technology
0
580
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて / Introduction of Spinnaker
マルチクラウドで継続的デリバリー(Continuous Delivery)を実現するSpinnakerについての紹介
Mahito
October 26, 2018
Tweet
Share
More Decks by Mahito
See All by Mahito
保育園にカオスエンジニアリングを提案した話 / Chaos Night #1
mahito
8
14k
河と魚と私 / Fishing on the River
mahito
0
84
NTT Tech Conference #5 - Opening Keynote
mahito
0
780
NTT Tech Conference #5 - Closing Keynote
mahito
0
990
組織/企業/グループを超えたエンジニアのつながりを広げるイベントをしている話 / JTF2020
mahito
4
9.4k
保育園にChaos Engineeringを提案した話 / The story of proposing Chaos Engineering to a nursery school
mahito
1
850
Chaos Engineeringという考え方 / A concept of Chaos Engineering
mahito
5
7.8k
いつもニコニコあなたの隣に這い寄るカオスエンジニアリング! / CNDT-OSDT-2019-2G1
mahito
6
8.6k
あなたの知らないマヒトの世界 / TechLunch #76
mahito
0
460
Other Decks in Technology
See All in Technology
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
240
AndroidデバイスにFTPサーバを建立する
e10dokup
0
250
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
740
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
0
220
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
19
6.1k
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
690
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
240
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
800
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
350
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
560
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
5
710
Classmethod AI Talks(CATs) #17 司会進行スライド(2025.02.19) / classmethod-ai-talks-aka-cats_moderator-slides_vol17_2025-02-19
shinyaa31
0
110
Featured
See All Featured
Visualization
eitanlees
146
15k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Practical Orchestrator
shlominoach
186
10k
KATA
mclloyd
29
14k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Designing Experiences People Love
moore
140
23k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
Typedesign – Prime Four
hannesfritz
40
2.5k
Transcript
マルチクラウドでContinuous Deliveryを実 現するSpinnakerについて 海浜幕張テック ミートアップ #2
About me Mahito Ogura < Twitter: @Mahito > 海浜幕張在住(都内通信系会社勤務) 業務:IoT関連
(2018/7〜) • クラウドや分散システムの調査検証 • 分散トレーシングなどの分散システムの調査検証 • OpenStackやコンテナに関する調査検証 • インフラ構築(Chef, Ansible) • アプリケーション開発 • 採用のお手伝いとか各種イベント業, etc...
本日のお話 マルチクラウドで継続的デリバリー( Continuous Delivery )を実現する Spinnaker について知ってもらい興味を持ってもらう あわよくば後日 Spinnaker を試してもらって情報交換なんかができれば・・・
Spinnaker
Spinnakerとは • マルチクラウドで Continuous Delivery ( CD )を実現するプラットフォーム • クラスタの管理や
Image の作成、デプロイ管理などの Pipeline を提供 • Netflix 社が開発し、 OSS として公開されているが現在は Google や Pivotal, Microsoft, Mirantis なども開発に参加している
パイプラインはアプリケーションのコードをプロダクションにリリースするために必要なすべ ての手順を実行するプロセス PiplineとCI/CD Test/Build Deploy Test Approve CI CD
Sample Spinnaker Pipeline
Spinnaker Cloud Target 詳細はリポジトリを御覧ください https://github.com/spinnaker/clouddriver/ • AWS (EC2) • Docker
• GCP (AppEngine, GCE, GKE) • Kubernetes • Microsft Azure • OpenStack • etc...
Blue / Green Deployment Spinnaker は Blue / Green Deployment
を実現 Green (new) に問題があった場合は Blue ( old )に Rollback が可能 ※ただし Kubernetes v2 Provider は Blue/Green に非対応 https://www.spinnaker.io/concepts/
Canary Analysis - Kayenta [1] Netflix と Google が共同で OSS
化した Automated Canary Analysis (ACA) の基盤 [2][3] Spinnaker の一機能( Kayenta )として ACA の動作を行う 基準( Baseline )と新バージョン( Canary )のメトリクスを比較し、 差分を確認することで、新バージョンに問題がないかを分析 メトリックスの取得に使えるのは現在 Stackdriver, Prometheus, Datadog, Signalfx 参考 • [1] : https://github.com/spinnaker/kayenta • [2] : Automated Canary Analysis at Netflix with Kayenta • [3] : Introducing Kayenta: An open automated canary analysis tool from Google and Netflix
参考:NetflixのCanary Release Process 3 つのクラスタで運用しそれぞれに同じトラフィックから量を変えて流す 1. Production :本番環境 (many servers)
2. Baseline : Canary と比較するための現行バージョン (1 + m servers) 3. Canary :新バージョン (1 + m servers) Traffic Router Metrics Canary Analysis Production(v1.0) Baseline(v1.0) Canary(v2.0)
Chaos Engineering [1] 分散システム内にわざと障害を起こすことで、 対象のシステムが本番環境において耐障害性を持っていることを証明する手法 Spinnaker ではランダムにインスタンスやコンテナを削除することで Chaos Engineering を実現するツールのひとつである
Chaos monkey が利用可能 [1] : http://principlesofchaos.org/ [2] : https://github.com/Netflix/chaosmonkey
Spinnakerの構築 [1] Halyard を用いて設定、デプロイを行う 1. Halyard のインストール 2. Cloud Provider
の選択 3. インストール環境の選択 4. 設定とデプロイ 5. オプション設定 6. プロダクション環境への適用 ※だいたいドキュメントどおりにできるが時折動かないので注意! [1]: https://www.spinnaker.io/setup/install/
Spinnaker Architecture • Deck - UI • Gate - API
Gateway • Orca - Orchestrate engine • Cloddriver - Cloud controller • Fiat - Authorization • Front50 - Metadata management • Rosco - Image builder • Kayenta - Canary Analysis • Echo - Event bus • Igor - Pipelines trigger
Spinnaker Pros / Cons Pros • マルチクラウド対応( AWS/GCP, k8s に関してはほぼ動くと思っていい)
• クラスタ管理機能 (Blue/Green Deployment, Auto Scale) • 品質確保・向上のしくみ (Canary Release, Chaos Monkey) • 新機能の追加が早い(大体 2 ヶ月ごとにバージョンアップ) Cons • 公式ドキュメント以外の情報はコミュニティに頼るのが現状 • CD に特化しているため CI には Jenkis など他の CI ツールが必要 • Spinnaker 自体が Microservices であり複雑 • UI が中心で CLI はまだ開発中 ... ?
Thank you !