実は多かった！AWSで利用できるローコード・ノーコードサービス

# はじめに
AWSを利用したアプリケーションを開発するにあたり、専門的なプログラミングスキルが求められます。これは、多くの非エンジニアにとって（私もそうですが）障壁となっているのではないでしょうか。

基本的なAWSサービスの知識はあっても、実際の開発経験が乏しいというケースも少なくはないと考えます。こうした状況を踏まえ、AWSは開発プロセスを簡略化し、より多くの人々がアプリケーション作成に携われるよう、ノーコードおよびローコードのマネージドサービスを提供しています。

こうしたツールは、コーディングを最小限に抑えつつ、効率的な開発を可能にします。さらに、最近では生成AI技術を活用したサービスも登場し、開発の可能性をさらに広げています。本記事では、AWSが提供するマネージドなノーコード・ローコードツールを整理します。

# ノーコード・ローコードとは
まず言葉の定義を確認しておきます。

**ノーコード（No-Code）** とは、プログラミング言語を使用せずに、視覚的なインターフェースやドラッグ＆ドロップなどの直感的な操作でアプリケーションを開発するアプローチです。ユーザーは、事前に用意された部品やテンプレートを組み合わせることで、特別なスキルがなくてもアプリケーションを構築できます。

一方 **ローコード（Low-Code）** とは、最小限のプログラミングで開発を行うアプローチです。視覚的な開発環境を提供しつつ、必要に応じて手動でコードを追加・カスタマイズすることができます。ノーコードよりも柔軟性が高く、より複雑な機能の実装が可能です。

どちらも開発の効率化を実現する一方で、大規模かつ複雑なシステムには不向きであるため、要件に適しているか判断が求められます。

それではここからAWSの各サービスについて取り上げます。本記事ではサービスを、「システム開発全般向け」「特定用途向け」に分類しています。前者は汎用的に利用可能なもの、後者はデータ分析、AI/ML、コールセンターといった限られたケースで利用するサービスを指します。

# システム開発全般向けサービス
ここではAWS App Studio、AWS Step Functions、AWS Application Composer、Amazon Q Businessを紹介します。

## AWS App Studio
7/10のAWS Summit NewYorkで発表された最新サービスです。2023年にサ終したAmazon HoneyCodeの後継サービスなのではと言われています。

自然言語を利用し、アプリケーションを説明するプロンプトを入力することで、要件を自動的に整理し「いい感じ」のアプリケーションを構築してくれます。
コネクタを設定することで、Aurora、S3、サードパーティサービス（HubSpot、Twilio、Zendesk）などと連携することも可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/b2556169-655c-3c32-2849-d2c6b4881c57.png)

ページのUIも自由に設定することが可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/89450154-144b-1741-544d-0d1e7f30abcd.png)

料金については構築自体は無料ですが、アプリケーションを公開した場合、使用時間に応じて課金が発生します。

本記事の執筆時点では、プレビュー版が利用可能で、リージョンはオレゴンに限定されます。初期設定時にIAM Identity Centerの紐付けが必要ですが、こちらはオレゴンリージョンでグループを作成しなければいけない点は注意が必要です。

https://aws.amazon.com/jp/blogs/aws/build-custom-business-applications-without-cloud-expertise-using-aws-app-studio-preview/

## AWS Step Functions
AWS Step Functionsは、AWSの各種サービスを連携させワークフローとして管理するサービスです。コンソール画面上で、サービスのアイコンを配置しながらビジネスプロセスを組み立てることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/586c78f7-39e0-6199-ccbf-8a6af4553e23.png)

用途としては、ETL、バッチ処理、定期バックアップ、リソースのプロビジョニングなどアイデア次第で多くの複雑な処理を自動化させることが可能です。

https://aws.amazon.com/jp/step-functions/

https://dev.classmethod.jp/articles/introduction-2024-aws-step-functions/

## AWS Application Composer
AWS Application Composerは、サーバーレスアプリケーションの構築ツールです。専用のビジュアルキャンパス上でコンポーネントを組み合わせることで、サービスの構成図を描きつつSAMのテンプレートを作成できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/863b2613-29e7-2512-bc73-939a3bf6466e.png)
出典：https://docs.aws.amazon.com/application-composer/latest/dg/what-is-composer.html

2023年11月のアップデートでは、Cloud Formationに対応するリソース数が1,000以上に拡大し、VSCode上でも利用することが可能となりました。またAWS Step Functions Workflow Studioと連携が可能となり、システムの大枠はApplication Composer、詳細な処理はStep Functionsで定義することで、一元的な管理が可能となりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/6eb73757-5fd9-7628-a409-f3f044640a90.png)
出典：https://aws.amazon.com/jp/blogs/news/aws-step-functions-workflow-studio-is-now-available-in-aws-application-composer/

https://aws.amazon.com/jp/application-composer/features/

## Amazon Q Business
Amazon Q Businessは、生成AIを活用したアシスタントサービスです。企業のシステム内のデータや情報に基づいて質問への回答、要約の提供、コンテンツの生成などを実行することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/429f876c-9daf-562d-5a9c-2ea8fa60cde3.png)

詳細な機能や設定方法については過去の記事を参照ください。

https://qiita.com/Neville/items/8bc10b1b7a29faae1c6b

また2024年7月のアップデートによりAmazon Q AppsがGAとなりました。ユーザー自身が自然言語で指示するだけで、目的に合った生成AIアプリをワンステップで作成可能となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/ff230750-1a60-2af1-6b71-586f392688d2.png)
出典：https://aws.amazon.com/jp/builders-flash/202406/amazon-q-nocode-app/

https://aws.amazon.com/jp/blogs/aws/amazon-q-apps-now-generally-available-enables-users-to-build-their-own-generative-ai-apps/


# 特定用途向けサービス
今回紹介するサービスについては、以下のように分類しました。
| 分類 | サービス |
|:-|:-|
| データ分析  | AWS Glue DataBrew  |
| データ分析  |Amazon QuickSight|
| AI/ML | Amazon Sagemaker Canvas  |
| AI/ML | Amazon Bedrock Studio   |
| AI/ML | Amazon Bedrock Prompt Flows   |
| AI/ML | Amazon Lex  |
| コンタクトセンター | Amazon Connect  |

## AWS Glue DataBrew
AWS Glue DataBrewは、データ分析に必要なETLジョブをGUI上で定義することがてきるサービスです。

250以上の事前構築された変換から選択して、コードを記述することなくデータ準備を自動化できます。具体的には、異常のフィルタリング、標準形式へのデータの変換、無効な値の修正などのタスクが設定可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/cf3a8d9b-96a1-01bf-e4aa-0a4f26d89de8.png)
出典：https://aws.amazon.com/jp/glue/features/databrew/

またデータ系統を視覚的にマッピングして、さまざまなデータソースと、データが通過した変換手順を確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/40c6ac46-bd59-5abf-9c6f-d22c64d4492b.png)
出典：https://aws.amazon.com/jp/glue/features/databrew/

料金は実際に使用した分に対してのみ料金が発生します。なお作成したジョブはGlueジョブと別物になるため、Glueワークフローに組み込むことができない点は注意が必要です。

https://aws.amazon.com/jp/glue/features/databrew/

https://blog.serverworks.co.jp/aws-glue-databrew

## Amazon QuickSight
Amazon QuickSightは、クラウドネイティブなBIサービスです。S3やRwdshiftといったデータソースに格納したデータを分析・可視化することが可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/792b8cf3-3d05-700d-f314-78235ff64212.png)
出典：https://aws.amazon.com/jp/quicksight/?amazon-quicksight-whats-new.sort-by=item.additionalFields.postDateTime&amazon-quicksight-whats-new.sort-order=desc

また最近ではAmazon Qを利用し、自然言語のプロンプトを記述することで、ダッシュボードの作成、インサイトの導出などが容易に実行できるようになりました。

https://aws.amazon.com/jp/quicksight/q/

## Amazon Sagemaker Canvas
コードを記述しなくても、機械学習を使用して予測を生成できるAIツールです。これまでモデルの作成やトレーニングはSagemaker StudioのCLI上で操作する必要があり、プログラミングのスキルが要求されていました。Sagemaker Canvasでは、300以上の組み込み変換、分析、詳細なデータ品質に関するインサイトレポートを使用し、コードを記述することなく機械学習用のデータをGUI上で整備することが可能となります。

また2023年11月のアップデートで、自然言語を利用したデータの探索や変換が可能となり、さらに使い勝手が向上しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/72cbe85e-4398-11a8-25a3-d02a6a49c271.png)
出典：https://aws.amazon.com/jp/blogs/news/use-natural-language-to-explore-and-prepare-data-with-a-new-capability-of-amazon-sagemaker-canvas/

https://aws.amazon.com/jp/sagemaker/canvas/

## Amazon Bedrock Studio
Amazon Bedrockは、フルマネージド型のAIサービスで多様な基盤モデル(FM)を選択し、自然言語処理やコンテンツ生成、画像生成といった幅広いAI機能を設定できるサービスです。

2024年5月に、プロトタイピング環境としてAmazon Bedrock Studioが新たに追加されました。こちらはFMを選択したうえで、コンポーネントを組み合わせることでナレッジベース、エージェント、ガードレールといったBedrockの主要機能を実装することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/8576176a-7451-2f9e-f9f3-701b8185994a.png)
出典：https://aws.amazon.com/jp/bedrock/studio/

また複数人の共同開発も可能で、特定のメンバーに対しリソースのアクセス権を付与することができます。

## Amazon Bedrock Prompt Flows 
Amazon Bedrockには、Knowledge BaseやAgentなど様々な機能が存在しますが、2024年7月にPrompt Flowsというワークフロー作成ツールが追加となりました。これはビジュアルビルダーを使用して、プロンプト、ナレッジベース、Lambda関数などのさまざまなコンポーネントをドラッグ＆ドロップし、複雑なワークフローを可視化することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/3e5217a9-cbaa-188f-0470-c80b0f32f31b.png)
出典：https://aws.amazon.com/jp/blogs/machine-learning/streamline-generative-ai-development-in-amazon-bedrock-with-prompt-management-and-prompt-flows-preview/

## Amazon Lex
Amazon Lexは、チャットボットや対話型インターフェースを構築するための高度な自然言語モデルを備えた、フルマネージド型AIサービスです。
ユーザのリクエストに対する動作について、マネジメントコンソールを通じて、ポイント＆クリックで設定できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/e518f02c-e511-f16c-d32f-e95f7195046d.png)

なおより高度な処理を実行したい場合は、Lambdaにてカスタムコードを追加する必要があります。

## Amazon Connect
Amazon Connectとは、クラウドベースのコンタクトセンターサービスです。音声通話、チャット、タスク管理など複数のチャネルを統合した顧客対応を可能にします。
問い合わせ時のフローは、専用のフロービルダーを利用し素早く設定することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/404a35a9-a351-2a53-9766-3893fbcbb70b.png)
出典：https://dev.classmethod.jp/articles/re-introduction-2022-amazon-connect/

また2023年のアップデートで、ノーコードUIビルダーの機能が追加されました。これはステップバイステップガイドと呼ばれる、エージェント向けの操作マニュアルのようなもので、画面のデザインを直感的に設定することができるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/663f2aa5-dcc1-ef18-b1bc-5f30cbec3b08.png)
出典：https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/no-code-ui-builder.html


# 最後に
今回紹介したサービスは、専用のプラットフォーム上でAWSサービスや処理内容等をドラッグ＆ドロップ配置することで、直感的にシステム構成やワークフローの設定を可能にするものが多かった印象です。うまく活用することで、視覚的に分かりやすいデモを素早く作成し、利用者からのフォードバックを得る頻度を高めることが期待できます。

またApp Studioのように、文章で要件を入力することで求める機能を瞬時に実現できる、そういった生成AIを活用したサービスが拡充されると、今後さらに開発の民主化が進展するのではないでしょうか。

# 参考
・ローコードとは何ですか? ([リンク](https://aws.amazon.com/jp/what-is/low-code/))
・AWSローコード-ノーコードサービスによる投資プロセスの高速化 ([リンク](https://aws.amazon.com/jp/blogs/news/accelerate-the-investment-process-with-aws-low-code-no-code-services/))
・（ほぼ）ノーコードでもBedrockしたいっ！！ ([リンク](https://speakerdeck.com/shimagaji/jawsugsapporo-bedrock-with-almost-no-code))
・AWSのノーコード・ローコードLLMアプリ開発 ([リンク](https://speakerdeck.com/moritalous/aws-nocode-lowcode))