AWSサービスが多すぎて選ぶのに困ってきたのでAWSサービスガチャを作ってみた(AWS Amplify × Figma)

AWSサービスが多すぎる問題

f:id:imiky:20220324221042p:plain出典:AWS re:Invent 2021 - Keynote with Dr. Werner Vogels

AWSサービス多すぎませんか...

200以上ものサービスがあって、Wernerさんは "You have asked for this, it is basically your fault !" 言いよるし。

サービスが多すぎてどうやって適切なサービスを選んだら良いか分からない

そんなみなさまのペインに対して、画期的なソリューションを作りましたのでご紹介したいと思います。

AWSサービスガチャ

f:id:imiky:20220326171100g:plain

「どのサービスを使えばいいか分からない...」
そんなときに [ガチャ] ボタンを押すと、そんな悩み事から解放されます。

目の前に現れる見慣れぬ3つのサービス。
それを使ってみるも良し、3つのサービスから全然違う新しいサービスを構想するも良し。
AWSサービスガチャは心理的負担から解放されつつも、あなたの可能性を広げます。

そんな画期的なサービスを作れた秘密はAWS Amplify × Figma

re:Invent 2021でAmplifyとFigmaの連携機能が発表されたことで、このような画期的なアプリケーションをインフラエンジニアの私でもわずか数時間で作れてしまう時代になりました。

aws.amazon.com

詳しい使い方はAWS公式ブログなど良質なものが多数ありますので、本記事では割愛させていただきます。
本記事では、Amplify Studio × Figmaを使ってみた私が個人的に感じたうれしみをまとめます。

まず、Amplify Studioの半分が優しさでできています。
「データを管理したい」「認証機能がほしい」「ファイル置き場がほしい」「UI設計がしたい」「データ設計がしたい」...
開発者が「したいこと」ベースでAWSを利用することができます。
Cognito や DynamoDB のような具体的なサービスを自分で選定する必要はありません。

これこそ「AWSサービスが多すぎる問題」に対するソリューション!

f:id:imiky:20220326174026p:plain

 

また、インフラエンジニアのみなさまに朗報です。
フロントエンドコードに不慣れな私にもAmplify Studioは寄り添ってくれます

FigmaでUIコンポーネントを描きます。
アニメーション無しの見た目だけお絵描きすれば良いので、Figmaを始めて使う方でも20〜30分も触っていれば普通に使えるようになると思います。

f:id:imiky:20220326175605p:plain

Figmaで描いたUIコンポーネントをAmplify Studioに取り込めて

f:id:imiky:20220326173555p:plain

Amplify Studio に言われるがままに、フロントエンドコードにコピペすれば良いのです。

f:id:imiky:20220326180256p:plain

すると、Amplifyがコードを書いてくれています。ありがとう...!
そのコンポーネントを表示したい部分に埋め込むだけで良いのです。

f:id:imiky:20220326180428p:plain

フロントエンドに疎い私は、Figmaでぽちぽちお絵描きするだけです。
インフラエンジニアの救世主Amplify Studio。

Amplify Studioはそれだけでは終わりません。

当然、UIとデータが連動してアプリケーションは成立します。
そんな、UIとデータのつなぎ込みもAmplify Studioがやってくれるのです(感動)

Amplify Studio上で、この画像のsrcはデータベースのこの属性を使ってね。このラベルはデータベースのこの属性を使ってね。とぽちぽちやるだけです。

f:id:imiky:20220326181520p:plain

すると、指定のデータをクエリしてUIに反映されるようにAmplify Studioがコードを書いておいてくれるのです。
信じられないことに、フロントエンドに疎い私はぽちぽちしただけです。

このような私の強い味方Amplify Studioのおかげで、AWSサービスガチャをわずか数時間で構築することができたのです。

まとめ

AWSサービスが多すぎる問題を説きましたが、個人的には、AWSの大量のサービスから適切なサービスを選んで組み上げることは、レゴブロックで遊んでいる感覚なので大好きです。Amplifyに勝手にバックエンドを構築されちゃうとムズムズします。

とはいえ、画期的なサービスアイディアを思いついたときには、ちんたらサービスを選んで組み上げるより、ざっくり任せてぱぱっと動くものを作っちゃった方が良いと思います。

自分で組み上げる / Amplify に任せるを二者択一ではなく、状況に合わせて都合よく使い分けられるようになれると良いのかなと思いました。

おまけ

AWSサービスガチャを引いて、画期的なサービスを想造したいと思います。

ガチャ!

f:id:imiky:20220326183036p:plain

誰にも言えない恥ずかしい秘密を入力すると、誰にも知られてはいけない秘密のアイテムをレコメンドしてくれるECサイト」が作れます。恥ずかしい秘密と秘密のアイテムの情報はCloudHSMの暗号化キーにより固く保護され、アイテムはPersonalizeによる機械学習ベースのレコメンド機能で選定されます。

こんな感じで、普段は触らないサービスに偶然出会い、概要だけでも調べて何に使えるか考えてみることも「AWSサービスが多すぎる問題」のソリューションの一つになるかもしれません。