Kyrios ブログ

AWS Application Composer で、サーバーレスアプリケーションをノーコードで作ってみる

サーバーレスアプリケーションを視覚的に作成できるサービス「AWS Application Composer」 は、ドラッグ&ドロップの直感的な動作で、簡単にアプリケーションを設計・デプロイできます。また、AWS CloudFormationを使用し、ベストプラクティスに沿ったIaCテンプレートの作成やコード出力が可能です。共同設計やプロトタイピング、教育ツールとしても有用で、AWSのサービスやベストプラクティスを学びながらアプリケーションを開発できます。

目次[非表示]

  1. 1.AWS Application Composerとは?
    1. 1.1.AWS Application Composer の特徴
  2. 2.コンポーネントカードとカードコネクション
    1. 2.1.Application Composer コンポーネントカード
      1. 2.1.1.拡張コンポーネント カード
      2. 2.1.2.標準コンポーネント カード(標準 IaC リソース カード)
    2. 2.2.カードの接続
  3. 3.クイックデモ
    1. 3.1.①カードの配置と接続
    2. 3.2.②パラメータの設定
    3. 3.3.③コードの出力
    4. 3.4.こんな応用もできるかも…
  4. 4.AWS Application Composerのユースケース
    1. 4.1.サーバーレス アーキテクチャのプロトタイピング
    2. 4.2.共同アプリケーション設計
    3. 4.3.最小限の実行可能な製品の迅速な展開
    4. 4.4.クライアントへのサーバーレス ソリューションの紹介
    5. 4.5.AWS のベスト プラクティスを理解する
    6. 4.6.教育およびトレーニング ツール


AWS Application Composerとは?

AWS Application Composerは、サーバレスアプリケーションを視覚的・直感的に作成することができる、サービスです。近年の学校向けプログラミング教育で使用される「ビジュアルプログラミングツール」のように、各コンポーネントを、ドラッグ&ドロップで配置し、繋いでいくことでアプリケーションをデプロイできます。

AWS CloudFormationでサポートされているAWSサービスを使用してアプリケーションを作成することができます。AWS Application Composerを使用することで、AWS Cloud FormationのIaCテンプレートを、ベストプラクティスに沿った形で作成することができます。また、その内容をコードに出力することもできます。

Application Composer は次の方法で使用できます。

  • Application Composer コンソール
  • AWS Toolkit for Visual Studio Code
  • CloudFormation コンソールモード
  最新のアプリケーションを視覚的に作成する - AWS Application Composer - AWS AWS Application Composer を使用すると、コードとしてのインフラストラクチャに支えられた最新のアプリケーションに AWS サービスを視覚的に構成して構成できます。 Amazon Web Services, Inc.


AWS Application Composer の特徴

AWS Application Composerの特徴をいくつかご紹介します。

  • カードを使用して構築
    アプリケーションを構築する際は、Application Composer キャンバス上に、「カード」を配置します。詳しくは後述しますが、AWS CloudFormation リソースがカードとなっており、実装したいリソースを選び、使用します。

  • カードを接続
    リソースのカードを接続して、イベント駆動の関係性を構成します。

  • 任意の AWS CloudFormation リソースを操作する

    AWS CloudFormationのリソースをキャンバスにドラッグしてアプリケーションアーキテクチャを構築します。Application Composerでは、リソースのプロパティを指定するために使用できる初期のIaCテンプレートが提供されています。

  • 注目の AWS サービスで追加機能にアクセス
    Application Composer には、アプリケーションの構築時によく使用される、または一緒に設定される AWS サービスが用意されています。
    例: AWS Step Functions 機能。Application Composer キャンバス内で直接 Step Functions Workflow Studio を起動するためのインテグレーションを提供します。


※この節の説明は、AWSドキュメントを和訳し、再編集したものです。

コンポーネントカードとカードコネクション

実際の編集画面を見ていきたいと思います。

Application Composer コンポーネントカード

拡張コンポーネント カード

拡張コンポーネント カードには、AWS でアプリケーションを構築するときによく一緒に使用される AWS CloudFormation リソースが含まれています。インフラストラクチャ コードは、AWS のベスト プラクティスに従って Application Composer によって作成されます。

利用できるリソース一覧は、こちらのドキュメントでご確認ください。


標準コンポーネント カード(標準 IaC リソース カード)

標準コンポーネント カードは、IaCのいくつかの動作が内包されたリソースです。スクリーンショットを取った時点で、1291個のリソースが用意されています。
キャンバスにドラッグされた各標準 IaC リソース カードには、標準コンポーネントというラベルが付けられ、複数のリソースに組み合わせることができます。

ドキュメント内の画像を組み合わせて作成


カードの接続

各拡張コンポーネントカードには、少なくとも 1 つのコネクタ ポートがあります。コネクタ ポートを 1 つ選択し、別のカードのポートにドラッグするだけで、接続をすることができます。Application Composer は、2 つのリソースを接続するか、この構成はサポートされていないことを示すメッセージを表示します。

標準の IaC リソース カードにはコネクタ ポートがありません。この場合、アプリケーションのテンプレートでこれらのイベント駆動型関係を指定する必要があります。Application Composer は自動的に接続を検出し、カード間の点線で視覚化します。


クイックデモ

ここでは、簡単なデモ画面をご紹介したいと思います。

①カードの配置と接続

左のペインの「Resources」タブを選択し、設置したいリソースを選択し、キャンバスにドラッグ&ドロップで配置します。

カードを設置後、コネクタでつないでいきます。

②パラメータの設定

次に、設置したリソースのカードをクリックすると、プロパティが表示されるため、パラメータを設定します。

③コードの出力

作成したテンプレートは、YAMLやJSON形式のコードとして出力することができます。

こんな応用もできるかも…

その他にも、例えば、AIでコード提案をしてくれる「Amazon CodeWhisperer」や「VSCode」と組み合わせて開発する、Amazon Q 拡張機能を生成 AI アシスタントとして使用するといったことも試すことができそうです。

AWS Application Composerのユースケース

AWS Application Composerはさまざまな場面で活かすことができます。

サーバーレス アーキテクチャのプロトタイピング

プロジェクトの初期段階などで、サーバーレス アプリケーションをすばやくスケッチしてプロトタイプ化することができます。従来は、サードパーティ製のAWS構成図作成サービスや、PowerPointを使ってサービスの依存関係を図示する必要などがありましたが、AWS Application Composerを使用すれば、手軽に実際に動作可能な構成を作り上げることができます。


共同アプリケーション設計

サーバーレス アプリケーションの設計において、開発者、アーキテクト、関係者間のコラボレーションを促進することができます。直感的に構成が見えるため、スムーズな共同作業が可能です。


最小限の実行可能な製品の迅速な展開

サーバーレス アプリケーション用の、最小限の実行可能な製品 (MVP: Minimum Viable Product) をすばやく開発して展開します。サービス化の検討段階など、コアな開発段階以外において迅速に作成することができることは、アイディアを加速させることや、余計な工数の削減などさまざまな利点があります。


クライアントへのサーバーレス ソリューションの紹介

アプリケーションの実行環境にAWS を検討しているクライアントに対し、サーバーレス ソリューションを紹介する際に、実際に動くプロトタイプを見せることができるため、提案の魅力がぐっと高まることが期待できます。


AWS のベスト プラクティスを理解する

AWS Application Composerは、AWS のIaCにおけるベスト プラクティスをベースに、リソースの詳細 や接続のヒントが与えられます。そのため、作成しながら、ベストプラクティスの理解を進めることができます。



教育およびトレーニング ツール

インフラエンジニアと開発エンジニアがコラボレーションをしていくIaC、CI/CDを実現する組織では、これまでの専門外の分野の習得も必要になってきます。AWS Application Composerを使用することで、新しい開発者がサーバーレス アーキテクチャの概念やAWSのインテグレーションを学ぶことができます。



ご紹介は以上です。ぜひ興味を持った方はお気軽に試してみてください!

Kyriosブログ新着記事

Kyrios 導入事例