11月28日(月)の19:00〜20:30で開催された「AWS Tech talk Night#4 ~アーキテクチャ道場&ライブコーディング!Infrastructure as CodeでSNS風Webアプリをデプロイしてみよう!~」 を視聴しました。
内容としては、ツイッター的なSNSを作りたいアプリ屋さんがAWSアーキテクトの方にインフラについて相談して、実際にAWSにデプロイする。その過程でインフラについてはAWSマネジメントコンソールというGUI操作ではなく、コードでインフラ構成を記述してAWSに構築するというもの。
こういった社外の勉強会的なものに参加するのは初めてだったのですが、IaCに興味があり、入門的な内容且つライブコーディングもあるということで面白そうだったので申し込んでみました。
IaCというとTerraformが有名で自分も名前を聞いたことはあったのですが、AWSではCDKというものを提供しているようです。
すこし調べてみた違いとしては、TerraformはGO言語を使っていて、AWS以外にもGCPなど複数のCloudサービスに対応しているのが強みのようです。
対してAWS CDKはTypeScriptやその他様々な言語での記述に対応していることと、AWSに特化していてConstruct Hubというサイト上で様々なよくあるインフラ構成をあらかじめ抽象化した設定が提供されているとのことです。
実際にライブコーディングで、S3とそのS3をリソースオリジンに設定したCloudFrontが簡単に作れるというのを見せていただきました。
ライブコーディングで作られたインフラ構成としては、以下の感じでした
- 先述のS3にNuxt.jsのフロントエンド用SPAを配置
- AWS Lambdaにバックエンド用のNuxt3のNitroでapiを配置
- データの永続化用にDynamoDBを作成し、Lambdaからアクセス
AWSにインフラを相談するアプリ屋さんと、それを解決するAWSアーキテクトの方のやり取りという設定でライブコーディング前にロールプレイがあり、その中で提示されたインフラ構成としては上記のライブコーディングには含まれなかった内容でツイッター的なサービスを想定していて、DynamoDBから非同期のイベントトリガーで全文検索エンジンにも情報をレプリケートしてアプリから利用するというものもありました。
複数の画面でぽちぽちやるよりも簡単そうなので、AWSでインフラを触ってみようというときはCDKを使ってみるのも良さそうだなと思いました。
今回の勉強会はTECK PLAYというサイトでたまたま知って申し込みました。
こちらのサイトはconnpassとDoorkeeperという2つの勉強会・セミナー系イベントの情報をまとめてくれているサイトのようで、connpass単体で探すよりも便利そうでした。
また気になる勉強会があれば申し込んでみたいと思います。
コメント