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
690
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて / Introduction of Spinnaker
マルチクラウドで継続的デリバリー(Continuous Delivery)を実現するSpinnakerについての紹介
Mahito
October 26, 2018
More Decks by Mahito
See All by Mahito
保育園にカオスエンジニアリングを提案した話 / Chaos Night #1
mahito
8
14k
河と魚と私 / Fishing on the River
mahito
0
150
NTT Tech Conference #5 - Opening Keynote
mahito
0
880
NTT Tech Conference #5 - Closing Keynote
mahito
0
1.1k
組織/企業/グループを超えたエンジニアのつながりを広げるイベントをしている話 / JTF2020
mahito
4
10k
保育園にChaos Engineeringを提案した話 / The story of proposing Chaos Engineering to a nursery school
mahito
1
960
Chaos Engineeringという考え方 / A concept of Chaos Engineering
mahito
5
8.5k
いつもニコニコあなたの隣に這い寄るカオスエンジニアリング! / CNDT-OSDT-2019-2G1
mahito
7
9.2k
あなたの知らないマヒトの世界 / TechLunch #76
mahito
0
560
Other Decks in Technology
See All in Technology
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
150
第3回しろおびセキュリティスポンサーセッション
log0417
0
160
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.6k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
モダンフロントエンド 開発研修
recruitengineers
PRO
4
560
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
210
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
780
【CEDEC2026】グラフィックスエンジニアのためのニューラルシェーディング入門
cygames
PRO
0
130
GitHub CopilotのFinOps- AI CreditのObservabilityと価値を生むためのエージェント設計
yuriemori
0
140
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
300
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
650
Goでデータパイプラインを作ろう
sansantech
PRO
1
360
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
108
250k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
590
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
200
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
400
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
440
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
340
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 !