Appication Composerとは
Appication ComposerはブラウザベースのGUIでAWSサービスを組み込んだサーバレスアプリケーションを簡単に構築できるように作られたツールです。 CloudFormationやAWS SAMのテンプレートを利用した開発も可能なため、新規も既存もどちらでも有効な手段になる可能性があります。
ホーム
マネージメントコンソールからApplication Composerを検索しホーム画面を表示します。
ホーム画面には、サービス概要と、構築を開始する3つの方法が表示されます。
- デモプロジェクトを開く
- 空白のプロジェクトを新規に作成する
- CloudFormationテンプレートを読み込む
少し下には、開発フローの説明がわかりやすく記載されています。 テストとデプロイもツールに含まれており、開発がしやすくなりような工夫がありそうです。
デモプロジェクト
今回は空白のプロジェクトではなく、デモプロジェクトを使います。
デモを開いたところ、ポップアップの画面が表示されました。 作成完了したテンプレートをダウンロードするには、ChromeかEdgeを使用した方が良いみたいです。 今回はSafariを使用していたのですが、Chromeに切り替えます。
Chromeに切り替えてデモを開き直すと、ポップアップの内容が変わりました。 ローカルのフォルダを指定してあげると良いようです。
フォルダを指定するとチェックがつきます。
やっとCreateに到達できました。 ボタンを押すと、一気に構築された状態のキャンバスが表示されます。
3つのサービスから構成されているようで、API Gateway、LambdaとDynamoDBによる典型的なサーバーレスアプリケーションが作られました。 画面右上のComposerのクイックツアーも試してみます。
クイックツアーは5つのステップで構成されており、GUI操作の基本的な説明をしてくれます。 ここでは写真になっているのですが、実際にはGifのような動くイメージで説明してくれます。
画面上部のボタンにより、Canvas表示とTemplate表示を選択でき、瞬時に切り替えることができます。
Canvas表示に戻し、サービスの詳細を見ていきます。
API Gateway
まずはAPI Gatewayです。 論理ID、オーソライザ、メソッド、CORSの設定が並んでいます。 メソッドは選択するとリストが表示されます。
Lambda
次はLambdaです。5つのLambdaがグループになっています。 ListItemsのLambdaの詳細を見ていきます。
Lambdaを作成する際に必要な項目が並んでおり、デモでは全てセットアップされています。
ここで、そういえばコードはどこに存在するのかと思いGUIで少し探していたのですが、デモをCreateする際にローカルのフォルダを指定しておりましたね。 確認したところそのフォルダにソースなどが格納されています。
DynamoDB
最後はDynamoDBです。論理IDとPartition keyやSort Keyなどが選択できます。
デプロイ
編集ができることはわかったのですが、次にどのようにテストやデプロイをするのかわからなかったので、GUIからヒントを探します。
画面右上のMenuを開くと、リンクがありました。
説明から察するに、Application Composerからはデプロイするものではなく、作成・編集したものはCloudFormationのテンプレート形式なので、 その形式に準拠したAWSサービスを使ってデプロイすることになるようです。AWS SAMが推奨されているようです。
わかったこと
Application ComposerはGUIベースで構成の作成ができるツールで、複雑なIasCの可視化に役立つと感じました。 ゼロからの構築にこのサービスを使うかというと、そうではないと感じています。Application Composerというツールに慣れていくことで、初動を早くすることはできると感じました。
一言で言うと、CloudFormationデザイナーのサーバーレス版というような印象でした。
サーバーレスのサービスが今度も増えていき、開発が楽になっていくことを期待したいと思います。