今回の記事のモチベーション
私はSI系のどっしりしたシステム開発に携わることが多かったので、開発者がサクッとアプリをホスティングできる!がウリのAmplifyに触れる機会がこれまで少なく、ちゃんと入門したいなと思ったのがきっかけです。
よく抱いていた疑問
「Amplify Consoleってたまに聞くけど、ドキュメントやマネコン見ても結局どの機能のことを指すのかよく分からないのだが…??」
Amplifyの超概要
一言でいうと「アプリケーション開発者がAWSインフラをお手軽に利用できちゃうフレームワーク&マネージドサービス」です。
Amplify
一番最初に出来た機能。iOSなどの「モバイルアプリ」用バックエンドを構築できるフレームワーク。
Amplify Hosting
フロントエンドを含め、Webアプリをお手軽にホスティングできる。
Amplify Studio
フロントエンド+バックエンド開発用のビジュアルエディター。Figmaと連携できる。
Amplifyファミリーで使える便利ツール
私がモヤっていた「Amplify Console」はここに位置します。
これらツール群は、上記のAmplify主要3機能のうち特定のどれかにのみ属すワケではない、というのがややこしいポイントです。
- Amplify CLI
- Amplify Console
- Amplify Libraries
- Amplify UI Components
- などなど…
実は歴史を紐解くと理解しやすい
私は2020年頃からAWSを触り始めた(比較的)ニワカ勢なのですが、もともと2017年に登場直後のAmplifyはJavaScriptライブラリとして提供されており、そもそもマネジメントコンソールからアクセス可能なWeb画面が無かったそうです。
そんな中、翌年201年にマネコンからホスティングやCI/CD機能が追加されたのが「Amplify Console」だそうです。なるほど!
なぜAmplifyは分かりづらいのか?
今回調べて改めて分かった大きな点は
- 毎年進化を続けてきた歴史的経緯があり、Amplifyブランドとしての体系的な見せ方が難しい
- フレームワークから出発しており、アプリケーション開発に不慣れなインフラエンジニアには特にイメージしづらい
以下も影響していることと思います。
- 進化が早いので既存資料がすぐ古くなる
- 各機能の正式名称とマネコン表記、日本語訳が揺らぐ
- 抽象度が高い裏側隠蔽系サービスなので具体的に説明されづらい
※特に公式のサービス紹介ページが分かりづらい。説明が抽象的なことに加えて、「Amplify Web Hosting」といったツール名の揺らぎ?もありかなり混乱しました。
さらにAmplifyは開発者ツールの色が強いので、AWSドキュメント(ユーザーガイド)と別に開発者向けドキュメント(Amplify Dev Center)があるんですよね。
参考資料
👇 Amplify黎明期の歴史背景が分かりやすいです。
👇 比較的最近までのAmplifyのエッセンスが綺麗に整理されている神ブログ
最後に
私もまだまだAmplifyを勉強し始めたばかりなので、お気づきの点があれば是非コメントいただけると有り難いです!