Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JAWS DAYS 2022 IaCツール徹底比較

Kazuki Maeda
October 08, 2022

JAWS DAYS 2022 IaCツール徹底比較

Kazuki Maeda

October 08, 2022
Tweet

More Decks by Kazuki Maeda

Other Decks in Programming

Transcript

  1. Kazuki Maeda @kzk_maeda SRE @atama plus AWS Community Builders /

    AWS Startup Community Core Member --- 日系電機メーカー法務→Recruitでインフラエンジニアとして、オンプレ、社内ITシステムなど経験したあとクラウド、 PMなど→スタートアップに転身してEM→現職 AWSはサーバーレス・データ基盤周りの技術が好き  Lambda / StepFunctions / Glue / MWAA / Athena を触っていきたい IaCはTerraformが好き 競馬は全くわかりません 実況・解説
  2. 本日のレースの出走馬紹介 1 AWS CDK 父馬:AWS社 / 母馬:CloudFormation • AWS公式が提供する、AWSリソースをプログラミング言語で 記述するためのFramework

    • PythonやTypeScriptなどが利用可能 • 裏側ではCloudFormationが利用される • AWS公式のためのリソース追従性や拡張性の高さに期待
  3. 本日のレースの出走馬紹介 2 Terraform 父馬:HashiCorp社 / 母馬:Go言語 • HashiCorp社によって提供される、オープンソースの IaC ツール

    • マルチクラウドプラットフォームや監視サービスなどの周辺 ツールにも対応 • 広く利用され、知見が世の中に多く出回っている人気の高さ が特徴
  4. 本日のレースの出走馬紹介 3 AWS SAM 父馬:AWS社 / 母馬:CloudFormation • AWS社によって提供される、サーバーレスアプリケーション 構築に特化したオープンソースの

    IaCツール • 裏側ではCloudFormationが利用される • サーバーレスリソースを簡単に記述できる敏捷性の高さで逃 げ切れるか
  5. 本日のレースの出走馬紹介 4 Serverless Framework 父馬:Serverless社 / 母馬:Node.js • Serverless社によって提供される、サーバーレスアプリケー ション構築に特化したオープンソースの

    IaCツール • Node.jsで記述されており、コミュニティによる pluginも豊富 • SAMに引けを取らない敏捷性に加え、マルチクラウドのため 対応できるコースも多い
  6. 第2コーナー(機敏性) SAM / Serverless framework • LambdaやDynamoDBリソースをローカルで立ち上げて Functionの実行確認を行うことがで きる •

    一方、Chatbotの様なリソースはローカルで立ち上げることができるわけではないので幅広い リソースを統合的に動作確認することは困難 ローカルで所定の Lambda runtimeを実行するイメージが立ち上がり、よく見る Lambdaのログが出力されている
  7. 第3コーナー(運用性) Terraform • Terraform Cloud!!!! • 容易な設定でTerraformの 実行環境を得られる • グラフィカルなdiff参照、

    Workflow機能などTerraform を利用するならセットで 使いたい • 回しものではありません RepoにpushするとCloudでplanが実行され、どのような変更 が走るかが視覚的に理解できる
  8. 第3コーナー(運用性) CDK / SAM • Code Pipelineや、Ciecle CI / Github

    actionsを持ちたCI/CDのパイプラインを柔軟に構築 することは可能 • ある程度CI/CDに関する知識を求められ、初期設定や configの管理運用が必要となる
  9. 結果発表 CDK Terraform SAM Serverless 拡張性 ◎ AWSリソース一般に 同レベルで管理可能 ◎

    AWSリソースの追従 性は高い AWS外のリソース管 理も可能 ◯ CFnのテンプレートを ベタで記述することで 拡張可能 ◯ 同左 AWS外のリソースも管 理できる 機敏性 ◎ SAMと組み合わせた ローカル環境 watchによるhotswap が可能 △ AWSへのデプロイが 必須となり、手軽な管 理は難しい ◯ 対応リソースの範囲内 であればローカル環境 を簡単に立ち上げられ る ◯ 同左 運用性 ◯ Code系やGithub actionsなど用いた一 般的なCIが可能 ◎ Terraform Cloudの存 在は大きい ◯ 一般的なCIは可能 エコシステムは途上か もしれない ◎ Serverless CI/CDが ある pluginのエコシステム も豊富