Mirantisが開催しているSpinnkaerのトレーニングを受けてきました。
日本初のSpinnakerの研修でしたので、受講した内容および所感を述べたいと思います。
2019/4/16追記
わたしが受講したときはベータ版でしたが、ついに正式リリースされました!
https://www.atpress.ne.jp/news/181240
Spinnakerとは?
オープンソースのCD(Continuous Delivery)ツールです。当初はNetflixで開発されていましたが、オープンソース化されています。詳しくはメルカリのエンジニアが書いたブログがとても参考になります。
https://tech.mercari.com/entry/2017/08/21/092743
研修の概要
本研修は1日間のコースとなります。CICDおよびSpinnakerの構成の説明、およびハンズオンを行います。ハンズオンは、コードをアップロードしてから、kubernetesにデプロイするまでのCI/CDをSpinnaker(+α)を使って実装しました。
受講対象者
まずは、Linuxコマンドに慣れているのは必須です。特にファイル編集を頻繁におこないますので、viコマンドを扱えないと、ハンズオンに着いていくのが厳しいです。あと、kubernetsおよび、CICDについて知識があれば、より良いと思われます。
アジェンダ
本研修のアジェンダになります。ただし、わたしが受講したのはベータ版でしたので、今後内容が変わる可能性があります。
- Introduction
- Continuous Delivery with Spinnaker
- Lab 1: Explore the classroom environment
- Lab 2: Continuous Integration
- Spinnaker Architecture
- Lab 3: Spinnaker Deployment
- Spinnaker Deployment pipeline
- Lab 4: CI/CD Pipelines
- Cloud Management
- Lab 5: Application Management
- Kubernetes Integration
- Reliable Deployment
- Kayenta Automated Canary Analysis
トレーニングの流れとしては、座学で概要とハンズオンで実装する内容を学び、その後に時間をとってのハンズオンを行う形式でした。質問は逐次受け付けてくれるので分からない事があれば、講師がすぐに回答してくれます。
アジェンダの中から内容の一部をご紹介しますが、Lab 4ではSpinnakerのパイプライン機能を使って実際に、変更したコートをアップしてから、Dockerイメージの作成、ステージング環境(k8s)にイメージのアップ、次に本番環境にイメージのアップという、CI/CDでの一般的な使い方について体験することができました。
また、Lab 5ではBlue/Greenデプロイメント(SpinnakerではRed/Blackデプロイメントと呼称)といった、安全に新しいアプリケーションに切り替える手法についても実際にハンズオンで体験することができます。
本トレーニングでは、上記の様にCI/CDツールの基本的な使い方については網羅していますので、CI/CDツール未経験者の方でも満足できるものになるかと思います。
受講した感想
Spinnakerの基本的な使い方は、このトレーニングを受講する事である程度は網羅できました。受講して思ったことは、SpinnakerでなくてもJenkins、TravasCIの様なCI/CDツールを扱った経験があった方が、Spinnakerと他のツールと対比することができるので、Spinnakerのメリット、デメリットをより深く学べることでした。
最後に
Spinnakerは、kubernetesに対してのCD機能が標準的に実装されているだけではなく、AWS,Azure,GCPのIaaS等に対してにもCD機能が実装されています。Spinnakerについて興味がある、もしくはkubernetes等のCDツールの選定に悩んでいるのでしたらば、本トレーニングの受講をご検討してみてはいかがでしょうか。