2019年7月30日開催の「X-Tech JAWS & JAWS-UGアーキテクチャ専門支部 コラボ勉強会#02」に参加しました。
勉強会全体について
テーマは「Infrastructure as Code」でした。
登壇者の属性は全員が自社サービス事業会社所属。ロールはSRE、プロダクトオーナー、基盤グループ。他にDeveloper Success Teamというロールがありました。質問内容を含めインフラエンジニア目線の強い勉強会でした。
具体的なツールとしてCloudFormation、Terraform、Ansible、AWS CDKが話題に挙がりました。
個別のセッションについて
各セッションのテーマと印象に残った点をまとめます。
セッション1. ビットバンク株式会社 石川さん、鈴木さん
CloudFormationでInfrastructure as Codeを実践する話。
セッション2. 株式会社エウレカ 原田さん
Terraformでマルチアカウント環境を管理する話。
- TerraformのmoduleとOkta Integrationでアカウント管理の面倒さに対処する。
- サービスをまたぐインテグレーションがTerraformの強み。(AWS + Datadogなど)
セッション3. ABEJA, Inc. 村主さん
そもそもInfrastructure as Codeは必要かという話。
- チーム規模、体制、事業フェーズによる。投資対効果を考える。
- コンセプトは良いがツールが追いついていない。
- Infrastructure as Codeで構築して手作業で運用するのもありではないか。
セッション4. 株式会社DeNA 佐藤さん
Ansible + CloudFormationをAWS CDKに移行した話。
- AWS CDK (Cloud Development Kit)。JavaScript/TypeScript、Pythonで書ける。
- Constructsモジュールを使えば、自動的にAWSのベストプラクティスに乗れる。
- 2段階の移行がオススメ。CloudFormationのテンプレート生成フェーズと実行フェーズ。
感想
AWS Cloud Development Kit (CDK)を初めて知りました。興味あります。
インフラチームと開発チームの関係の話に違和感を持ちました。インフラのコード化についてどのように開発チームを巻き込むかという問題意識が会場で共有されていたように思います。私の感覚では、開発チームはCI/CDのパイプラインを構築するためにむしろインフラのコード化を積極的に求める立場になると思っていました。モヤモヤとしたすれ違いを感じます。
「開発チームとの関係、運用の位置付け、そもそもInfrastructure as Codeは必要か」といった話題は、技術の話だけで解決するものではなく、DevOpsのような組織の課題に帰着する気がします。たとえば、関係者全員でバリューストリームマッピングを実施する。そしてデリバリーのボトルネックを解消する手段としてビジネス上の位置付けを明確にした上でInfrastructure as Codeに取り組むといったプロセスが1つの理想だと思います。そういえば、"The Phoenix Project" (「The DevOps 逆転だ!」)の主人公は運用の人でしたが、どのような取り組みが描かれていたのだったかなぁということを考えました。
細かいテクニカルな話題では、Auto Scaling Groupのブルー/グリーンデプロイが難しい云々の話が分かるようで分からず気になりました。
すべてのセッションを興味深く聞きました。運営者の方、登壇者の方、並びに他参加者の皆様に感謝します。