狠狠撸

狠狠撸Share a Scribd company logo
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
? 2022, Amazon Web Services, Inc. or its affiliates.
Infrastructure as Code
談義 2022
内田 大樹、吉田 祐樹、杉山 祐介
Amazon Web Services Japan
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
自己紹介
6
内田 大樹 (うちだ ひろき)
インダストリソリューション部
ソリューションアーキテクト
主に大企業のお客様を担当し、お客様のAWS活用を
様々な形でご支援する役割。趣味は写真撮影。
好きなIaCのツール
Ansible
AWS CDK
@nikuyoshi
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
Infrastructure as Code 談義 2022に関して
本セッションの概要、話すこと
Infrastructure as Code ( IaC ) の概念が産まれてから15年以上経ち、歴史を
追いながら2022年における実装方式や考え方を整理するTech Talkです。そもそも
IaCとは何か、何故生まれたのか、IaCをプロジェクトに適用するにはどういった
考慮が必要なのか、IaC適用後の苦労話等ざっくばらんにこのセッションで話す予定
です。開発者向けのイベントということで、開発者観点での話も交えながら、IaC経験
者がこの場で本音で語ります。このセッションに参加することで、参加者は
実プロジェクトへの採用の判断、適用範囲の判断をより自信をもって行えるように
なるでしょう。
このセッションで話さないこと
? AWSの各種サービスに関する詳細、使い方
? OSSに関する詳細、使い方
7
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
本セッションの対象聴講者、ゴール
対象者
? IaC を知らない方、これから知りたい方
? IaC を既に適用していて、課題に向き合っている方
? オンプレミス、クラウドに IaC を適用してみたい方
ゴール
? IaC の概要、歴史を理解できること
? IaC の導入時、導入後、どのような課題に立ち向かう必要があるのか
理解でき、実プロジェクトへの採用の判断、適用範囲の判断をより自信を
もって行えるようになること。
8
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
アジェンダ
? Infrastructure as Code ( IaC ) 概要 – 15分
? IaC 談義 – 40分
9
皆様ご意見ありがとうございました!
https://twitter.com/nikuyoshi/status/
1506191295483576324
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
? 2022, Amazon Web Services, Inc. or its affiliates. 10
Infrastructure as Code
( IaC ) 概要
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
IaC とは?
IaC とは、ソフトウェア開発のプラクティスを
インフラストラクチャの自動化に活かすアプローチのこと。
そのようなアプローチを用いることで、 VCS※1 、CI/CD といった
開発手法もインフラストラクチャに適用できる。
開発者
Source Build Test Deploy
Git
商用環境
git push
? 構成定義
? 設定ファイル
? ドキュメント
ビルド
ツール
テスト
ツール
インフラストラクチャ
定義ツール
※1 VCS … Version Control Systemsの略。GitやSubversionといったバージョン管理のソフトウェアを指す
? Terraform
? CloudFormation
サーバー構成
ツール
? Ansible
? Chef
? Puppet
開発環境
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
Infrastructure as Codeに関する書籍
第一版 邦訳版が2017年3月にO’Reilly Japanから出版。
今回のセッションで扱う複数のテーマに関してより深堀
して記載があるため、ご興味のある方は是非ご一読を。
第二版が2020年12月に出版されており、英語に抵抗が
なければこちらを読むのも手です。
(2022年4月時点では英語のみ)
本日書籍の詳細には触れませんが、ベースとなる知識や
考え方を暗黙的に取り扱っている場合があります。今回
のセッションを視聴するにあたって、必ず読んでおく
ことが必要、というわけではないのでご安心ください。
適宜解説もする予定です。
12
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
Infrastructure as Codeに関する書籍を読んでいきました
IaC 談義の話をするからには、総復習しないとやばい…という思いから読み
始めました。 IaC をある程度分かっていたつもりですが、わかった顔をして
いたことがよく分かりました。今後もリファレンスとして使っていきます。
13
復習に
つながった
新しい気づき!
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
4/4から4/22までの平日15日間毎日毎章まとめてツイート
14
https://twitter.com/i/events/1514613649276489734
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
なぜ IaC なのか?
ダイナミックインフラストラクチャ※1が台頭し、頻繁にサーバー
作成、更新、削除が行われるようになり、インフラストラクチャの
変更管理を容易にするため。
※1 プログラムを使ってインフラストラクチャを管理できるプラットフォーム 例:パブリッククラウド、プライベートクラウド etc…
開発者
ダイナミック
インフラストラクチャ
作成、更新、削除
よくある悩み
?変更差分が分からず、リリースしづらい
(or リリースできない)
?リリース準備、チェックに時間がかかり、
毎回1週間のリードタイムが発生
?毎回手作業しんどい
開発者
Source Build Test Deploy
ダイナミック
インフラストラクチャ
Git
? 構成定義
? 設定ファイル
? ドキュメント
構成差分の明確化
CI/CD、セキュリティ
自動監査ツール等を用い、
リードタイムの短縮
IaC適用前 IaC適用後
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
IaC の原則 1/2
? 簡単に再現できるシステム
? 使い捨てにできるシステム
? 統一的なシステム
? 反復できるプロセス
? 絶えず変化するデザイン
16
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
IaC の原則 2/2
17
開発者
Source Build Test Deploy
Git
商用環境
git push
? 構成定義
? 設定ファイル
? ドキュメント
ビルド
ツール
テスト
ツール
インフラストラクチャ
定義ツール
? Terraform
? CloudFormation
サーバー構成
ツール
? Ansible
? Chef
? Puppet
開発環境
簡単に再現できる
反復できる
使い捨てにできる
絶えず変化する
デザイン 統一的にできる
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
IaC の歴史
18
2008
1993 2005
諸説ありますが、内田が調べた限りの情報を以下の図にまとめております。
APIでプログラマブルに扱えるサービスとしてAmazon EC2、日本のお客様に広く利用が加速した意味で東京リージョンのリリースも
含めて以下に記載しております。
2012
2006 2011
2009
日本でIaCが徐々に流行
2013 2021
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
コンテナとは?(超概略)
19
コンテナイメージ
ランタイム/
エンジン
依存ライブラリ
パッケージ
各環境に配布
ローカル環境 ステージング環境 本番環境
コンテナ コンテナ コンテナ
アプリケーション
コード
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
これから先の議論で触れる内容
20
IaCのツール選定
IaCのテスト
コンテナ と IaC
パイプライン
引継ぎどうするか問題
アジャイル開発
導入時の課題
開発環境だけIaC
IaCの標準化の話
IaCにおける
鶏卵問題
視聴者の皆様も気になるテーマがあれば
Tweetをお願いします!
クラウド と IaC
IaCの教育
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
? 2022, Amazon Web Services, Inc. or its affiliates. 21
IaC 談義
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
自己紹介
22
吉田 祐樹(よしだ ゆうき)
プロフェッショナルサービス本部
AppDevコンサルタント
得意分野
アプリケーションのモダナイズ、チームのアジャイル化
大規模なインフラコード化と自動化
好きなIaCのツール
Terraform
yshd
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
? 2022, Amazon Web Services, Inc. or its affiliates. 23
何故IaCを行うのか?
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
これから先の議論で触れる内容
24
IaCのツール選定
IaCのテスト
コンテナ vs IaC
パイプライン
引継ぎどうするか問題
アジャイル開発
導入時の課題
開発環境だけIaC
IaCの標準化の話
IaCにおける
鶏卵問題
クラウドとIaC
IaCの教育
INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
当日の模様
https://youtu.be/ed35fEbpyIE?t=496
25

More Related Content

Infrastructure as Code (IaC) 談義 2022

  • 1. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow ? 2022, Amazon Web Services, Inc. or its affiliates. Infrastructure as Code 談義 2022 内田 大樹、吉田 祐樹、杉山 祐介 Amazon Web Services Japan
  • 2. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow 自己紹介 6 内田 大樹 (うちだ ひろき) インダストリソリューション部 ソリューションアーキテクト 主に大企業のお客様を担当し、お客様のAWS活用を 様々な形でご支援する役割。趣味は写真撮影。 好きなIaCのツール Ansible AWS CDK @nikuyoshi
  • 3. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow Infrastructure as Code 談義 2022に関して 本セッションの概要、話すこと Infrastructure as Code ( IaC ) の概念が産まれてから15年以上経ち、歴史を 追いながら2022年における実装方式や考え方を整理するTech Talkです。そもそも IaCとは何か、何故生まれたのか、IaCをプロジェクトに適用するにはどういった 考慮が必要なのか、IaC適用後の苦労話等ざっくばらんにこのセッションで話す予定 です。開発者向けのイベントということで、開発者観点での話も交えながら、IaC経験 者がこの場で本音で語ります。このセッションに参加することで、参加者は 実プロジェクトへの採用の判断、適用範囲の判断をより自信をもって行えるように なるでしょう。 このセッションで話さないこと ? AWSの各種サービスに関する詳細、使い方 ? OSSに関する詳細、使い方 7
  • 4. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow 本セッションの対象聴講者、ゴール 対象者 ? IaC を知らない方、これから知りたい方 ? IaC を既に適用していて、課題に向き合っている方 ? オンプレミス、クラウドに IaC を適用してみたい方 ゴール ? IaC の概要、歴史を理解できること ? IaC の導入時、導入後、どのような課題に立ち向かう必要があるのか 理解でき、実プロジェクトへの採用の判断、適用範囲の判断をより自信を もって行えるようになること。 8
  • 5. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow アジェンダ ? Infrastructure as Code ( IaC ) 概要 – 15分 ? IaC 談義 – 40分 9 皆様ご意見ありがとうございました! https://twitter.com/nikuyoshi/status/ 1506191295483576324
  • 6. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow ? 2022, Amazon Web Services, Inc. or its affiliates. 10 Infrastructure as Code ( IaC ) 概要
  • 7. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow IaC とは? IaC とは、ソフトウェア開発のプラクティスを インフラストラクチャの自動化に活かすアプローチのこと。 そのようなアプローチを用いることで、 VCS※1 、CI/CD といった 開発手法もインフラストラクチャに適用できる。 開発者 Source Build Test Deploy Git 商用環境 git push ? 構成定義 ? 設定ファイル ? ドキュメント ビルド ツール テスト ツール インフラストラクチャ 定義ツール ※1 VCS … Version Control Systemsの略。GitやSubversionといったバージョン管理のソフトウェアを指す ? Terraform ? CloudFormation サーバー構成 ツール ? Ansible ? Chef ? Puppet 開発環境
  • 8. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow Infrastructure as Codeに関する書籍 第一版 邦訳版が2017年3月にO’Reilly Japanから出版。 今回のセッションで扱う複数のテーマに関してより深堀 して記載があるため、ご興味のある方は是非ご一読を。 第二版が2020年12月に出版されており、英語に抵抗が なければこちらを読むのも手です。 (2022年4月時点では英語のみ) 本日書籍の詳細には触れませんが、ベースとなる知識や 考え方を暗黙的に取り扱っている場合があります。今回 のセッションを視聴するにあたって、必ず読んでおく ことが必要、というわけではないのでご安心ください。 適宜解説もする予定です。 12
  • 9. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow Infrastructure as Codeに関する書籍を読んでいきました IaC 談義の話をするからには、総復習しないとやばい…という思いから読み 始めました。 IaC をある程度分かっていたつもりですが、わかった顔をして いたことがよく分かりました。今後もリファレンスとして使っていきます。 13 復習に つながった 新しい気づき!
  • 10. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow 4/4から4/22までの平日15日間毎日毎章まとめてツイート 14 https://twitter.com/i/events/1514613649276489734
  • 11. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow なぜ IaC なのか? ダイナミックインフラストラクチャ※1が台頭し、頻繁にサーバー 作成、更新、削除が行われるようになり、インフラストラクチャの 変更管理を容易にするため。 ※1 プログラムを使ってインフラストラクチャを管理できるプラットフォーム 例:パブリッククラウド、プライベートクラウド etc… 開発者 ダイナミック インフラストラクチャ 作成、更新、削除 よくある悩み ?変更差分が分からず、リリースしづらい (or リリースできない) ?リリース準備、チェックに時間がかかり、 毎回1週間のリードタイムが発生 ?毎回手作業しんどい 開発者 Source Build Test Deploy ダイナミック インフラストラクチャ Git ? 構成定義 ? 設定ファイル ? ドキュメント 構成差分の明確化 CI/CD、セキュリティ 自動監査ツール等を用い、 リードタイムの短縮 IaC適用前 IaC適用後
  • 12. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow IaC の原則 1/2 ? 簡単に再現できるシステム ? 使い捨てにできるシステム ? 統一的なシステム ? 反復できるプロセス ? 絶えず変化するデザイン 16
  • 13. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow IaC の原則 2/2 17 開発者 Source Build Test Deploy Git 商用環境 git push ? 構成定義 ? 設定ファイル ? ドキュメント ビルド ツール テスト ツール インフラストラクチャ 定義ツール ? Terraform ? CloudFormation サーバー構成 ツール ? Ansible ? Chef ? Puppet 開発環境 簡単に再現できる 反復できる 使い捨てにできる 絶えず変化する デザイン 統一的にできる
  • 14. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow IaC の歴史 18 2008 1993 2005 諸説ありますが、内田が調べた限りの情報を以下の図にまとめております。 APIでプログラマブルに扱えるサービスとしてAmazon EC2、日本のお客様に広く利用が加速した意味で東京リージョンのリリースも 含めて以下に記載しております。 2012 2006 2011 2009 日本でIaCが徐々に流行 2013 2021
  • 15. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow コンテナとは?(超概略) 19 コンテナイメージ ランタイム/ エンジン 依存ライブラリ パッケージ 各環境に配布 ローカル環境 ステージング環境 本番環境 コンテナ コンテナ コンテナ アプリケーション コード
  • 16. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow これから先の議論で触れる内容 20 IaCのツール選定 IaCのテスト コンテナ と IaC パイプライン 引継ぎどうするか問題 アジャイル開発 導入時の課題 開発環境だけIaC IaCの標準化の話 IaCにおける 鶏卵問題 視聴者の皆様も気になるテーマがあれば Tweetをお願いします! クラウド と IaC IaCの教育
  • 17. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow ? 2022, Amazon Web Services, Inc. or its affiliates. 21 IaC 談義
  • 18. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow 自己紹介 22 吉田 祐樹(よしだ ゆうき) プロフェッショナルサービス本部 AppDevコンサルタント 得意分野 アプリケーションのモダナイズ、チームのアジャイル化 大規模なインフラコード化と自動化 好きなIaCのツール Terraform yshd
  • 19. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow ? 2022, Amazon Web Services, Inc. or its affiliates. 23 何故IaCを行うのか?
  • 20. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow これから先の議論で触れる内容 24 IaCのツール選定 IaCのテスト コンテナ vs IaC パイプライン 引継ぎどうするか問題 アジャイル開発 導入時の課題 開発環境だけIaC IaCの標準化の話 IaCにおける 鶏卵問題 クラウドとIaC IaCの教育
  • 21. INFRASTRUCTURE AS CODE談義 2022 ? 2022, Amazon Web Services, Inc. or its affiliates. #AWSDevLiveShow 当日の模様 https://youtu.be/ed35fEbpyIE?t=496 25