AWSサービスの全体像をビジュアルマップで表現する試み Map Of Computing Architectures for AWS が面白そう!

AWSサービスの全体像をビジュアルマップで表現してくれる Map Of Computing Architectures for AWS(ベータ版)のご紹介です。

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

コンバンハ、千葉(幸)です。

「うわっ...AWSのサービス、多すぎ...?」

多いですよね。200弱くらいあるんでしょうかね。これだけ多いと、触ったことのないサービスも沢山あります。名前くらいは知ってるけど、何ができるのかよく分からない、というものだらけです。

せめて全体像の中でどこに位置するものなのか、他のサービスと相関性があったりするのか、サラッと抑えられればいいのですが。

そんな悩みに答えてくれるかもしれないものを見つけました。 Map Of Computing Architectures for AWS です。

以下の画像を見てください。ちょっと面白そうじゃないですか?

目次

Map Of Computing Architectures for AWS とは

Map Of Computing Architectures for AWS (以下MoCA for AWS)は元々AWSでソリューションアーキテクトとして働いていた Philip Fitzsimons 氏が立ち上げているサイトです。

ローンチ時のツイートはこちら。2020年4月1日です。

留意点としては、現状ベータ版であることと、AWSと提携したり承諾を受けているものではないという点です。

飽くまで個人として、AWSの製品群、特にコンピューティングに関するものに対して学習の助けになるよう運営されているものとなります。

リンネの分類学周期表地質時代を参考にしながら、視覚的に理解しやすいマップを作ったとのことです。

MoCA for AWS の1つ目の軸:エリア

マップを見ると、6角形のエリア内に各サービスが配置されていることが分かります。HUNTER X HU

これは、以下の3つの領域の組み合わせからなるものです。

  • Data: 情報がどのように構造化および保存されるか
  • Execution: コードとプロセスの実行方法
  • Movement: コミュニケーションと転送がどのように行われるか

AWSサービスはこれらの単一の領域に所属するものだけでなく、その交差点に位置するものもあります。隣り合う領域の重複も含めて、以下の6つに分類されています。

  • Data: 情報がどのように構造化および保存されるか
  • Data-Execution: 情報とデータベースへのクエリ
  • Execution: コードとプロセスの実行方法
  • Execution-Movement: オーケストレーションと制御
  • Movement: コミュニケーションと転送がどのように行われるか
  • Movement-Data: 転送と移行

AWSサービスは、これらの領域のいずれかに所属する形で表現されます。

MoCA for AWS の2つ目の軸:スコープ

マップの中心から外側に向けて、距離の拡がりを表しています。

  • モバイルエッジネットワーク(ちょっと特殊ですね)
  • データセンター
  • クラウド(リージョン単位)
  • グローバル

特にクラウドとデータセンターのスコープにサービスが集中しています。Movement-Dataではオンプレとの連携が行えるサービスが多く用意されている、といったことがひと目で理解できます。

グローバルなサービスって意外と少ないな、という気付きもあったりします。

個々のAWSサービスの表現

マップ上に配置されるAWSサービスは、以下のような構成になっています。

  • プライマリリソース:サービスのプライマリリソース
    • RDSであれば「db」
    • EC2であれば「インスタンス」
    • CloudFrontであれば「ディストリビューション」など
  • バリエーション:サービスに関連するサブサービスの数
    • RDSであれば以下のようなものが含まれる
      • 「AWS Performance Insights」などのヘルパーサービス
      • バリエーション(Amazon RDS for MySQL、Amazon RDS for PostgreSQL、Amazon Auroraなど)
  • 接頭辞:「Amazon」または「AWS」
  • フルネーム:製品名
  • ショートネーム:短い一意の名前
  • 概要:何を提供するサービスかの説明
  • 操作モード:管理方法
    • infrastracture
    • managed
    • unmanaged

「Amazon」か「AWS」かを書いてくれるのは地味に嬉しいですね。単体で使用できるものは「Amazon」、他のサービスとの併用が前提になっているものは「AWS」という命名規則である、というのをよく聞きます。(正式なソース不明)

また、枠の色によって、特別なクラスを表現しているものもあります。

  • :セキュリティ
  • :オーケストレーション
  • :コンプライアンス

改めてマップを見てみる

2020年4月9日時点でのマップは以下のようになっています。画像が小さくて文字までは追えないと思うので、ぜひ本家のサイトで確認してみてください。

https://moca.computingarchitectures.com/en/~hello-world/

見方が分かると、サービス間の相関性などが見えてきて面白いです。AWSサービスのリストを眺めるよりは、よりイメージがつきやすいのではないでしょうか。AWSサービスの分類とはまた別の切り口で再分類しているのも興味深いです。 AWS の製品・サービス一覧

ベータ版ということもあり、RDSが「unmanaged」とされていたり、バリエーションの数がどこまでカバーしているのか分かりにくいという荒削りな部分もあります。マップ上で表現されているAWSサービスの数も80個弱に留まっています。

ただ、メールによるフィードバックを受け付けていて、随時更新されています。(更新内容はTwitter上でツイートしているようです。)サービスのカバー範囲や見た目の向上なども含めてネクストステップとして予定しているとのことなので、定期的にチェックされてみてはいかがでしょうか。

終わりに

AWSサービスの全体像をビジュアルマップで表現している Map Of Computing Architectures for AWS のご紹介でした。

先日は個々のAWSサービスを一枚絵で表現してくれている「awsgeek.com」をご紹介しました。

サービスを表現するにはいろんなアプローチがあるなと、改めて思います。こういったアウトプットを活用しながら効率的に学習していきたいですし、アウトプットをしてくれる先人に感謝を捧げたいです。引き続き頑張りましょう。

以上、千葉(幸)がお送りしました!