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
660
マルチクラウドで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
120
NTT Tech Conference #5 - Opening Keynote
mahito
0
840
NTT Tech Conference #5 - Closing Keynote
mahito
0
1k
組織/企業/グループを超えたエンジニアのつながりを広げるイベントをしている話 / JTF2020
mahito
4
9.8k
保育園にChaos Engineeringを提案した話 / The story of proposing Chaos Engineering to a nursery school
mahito
1
920
Chaos Engineeringという考え方 / A concept of Chaos Engineering
mahito
5
8.2k
いつもニコニコあなたの隣に這い寄るカオスエンジニアリング! / CNDT-OSDT-2019-2G1
mahito
7
9k
あなたの知らないマヒトの世界 / TechLunch #76
mahito
0
530
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
人工知能のための哲学塾 ニューロフィロソフィ篇 第零夜 「ニューロフィロソフィとは何か?」
miyayou
0
430
「違う現場で格闘する二人」——社内コミュニティがつないだトヨタ流アジャイルの実践とその先
shinichitakeuchi
0
320
「アウトプット脳からユーザー価値脳へ」がそんなに簡単にできたら苦労しない #RSGT2026
aki_iinuma
11
5k
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
3
2k
「駆動」って言葉、なんかカッコイイ_Mitz
comucal
PRO
0
140
RALGO : AIを組織に組み込む方法 -アルゴリズム中心組織設計- #RSGT2026 / RALGO: How to Integrate AI into an Organization – Algorithm-Centric Organizational Design
kyonmm
PRO
3
1.1k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.6k
Digitization部 紹介資料
sansan33
PRO
1
6.5k
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
130
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.6k
次世代AIコーディング:OpenAI Codex の最新動向 進行スライド/nikkei-tech-talk-40
nikkei_engineer_recruiting
0
140
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
410
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
110
How GitHub (no longer) Works
holman
316
140k
Thoughts on Productivity
jonyablonski
74
5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Building AI with AI
inesmontani
PRO
1
620
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
360
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Fireside Chat
paigeccino
41
3.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Scaling GitHub
holman
464
140k
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 !