ほぼ日AWS について
AWSのソリューションについて学んでいく為に、以下のAWS管理画面で見れるすべてのサービス
について、どんな時に使われてそれらがどんなソリューションなのかまとめてみたいと思います。
※ ちなみに著者はAWS初心者勢です。
ソリューションがどういうものかに重点をおいて調べてまとめているだけですので、ノウハウTipsの提供等はできません。
このブログの目標
読んだ方(主に自分)が、AWSのソリューションについて 「ああ、AWSののこのソリューションって〜〜〜っていうもんでしょ?」ってざっくり理解するのに手助けになれば幸いです。
では、本題。
アプリケーション統合ソリューション について
主として以下のサービスが提供されている。
Step Functions
何ができるのか
AWS Strep Functionsは、視覚的なワークフローを使用して分散アプリケーションとマイクロサービスのコンポーネントを簡単に調整する事が出来るサービスである。
AWS Step Functions によってグラフィカルコンソールを使用する事でアプリケーションのコンポーネントを一連のステップとして配置し、可視化する事が出来る。これにより簡単にアプリケーションをスケール、変更できるようになる。
AWS Step Functions では各ステップは自動的にトリガーされ、エラーが発生した場合は再実行される。
無料利用枠ある?
あるよ。
東京リージョンある?
あるよ。
主なユースケース
分散アプリケーションやマイクロサービスを組み合わせる事で一連のワークフローを視覚的に作成するためのフルマネージドサービスとして提供されている。
これにより、調整を非常に簡単に行う事が出来たり また 実行がモニタリングされることによってエラーハンドリングなどの解析等に生かすこともできる。
Amazon MQ
何ができるのか
Amazon MQは クラウド内のメッセージブローカーの設定や運用を簡単に行える、 Apache ActiveMQ向けのフルマネージドメッセージブローカーサービスである。
Amazon MQ を使用する事で、ActiveMQのコンソールとJMS、NMS、AMQP、STOMP、MQTT、WebSocketといったメッセージング向けの業界標準API およびプロトコルに直接アクセスする事ができる。アプリケーションでメッセージングコードの書き換えをする必要がなくなり、これらの規格を使用している場合、あらゆるメッセージブローカーからAmazonMQに簡単に移行する事が出来る。
無料利用枠ある?
あるよ。
東京リージョンある?
なさそう。
主なユースケース
この後出てくるSQSやSNSなどと違って Apache MQ のマネージドサービスであることから既存のアプリケーションとして Apache MQ を使っている場合にアプリケーション側をほぼ変更する事なく、 Amazon MQに移行できる、という点で簡単に導入できるメリットがある。
マネージドサービスのため、インフラの辺りの管理も減るなどアプリケーションの変更は不要のまま、マネージドサービスに移行できる選択肢として活用できる。
(そもそも Apache MQが何か、っていうのが・・・うまく説明できない、ピンときてないです。)
Simple Notification Service
何ができるのか
Amazon Simple Notification Service はフルマネージド型の モバイル通知サービスで一般的に頭文字をとって SNSとよばれ、登録中のエンドポイントやクライアントに配信するメッセージを調整できる。
SNSを使用する事でモバイルデバイス、サービスの多数の受信者に対してメッセージを提供する事が出来る。
無料利用枠ある?
あるよ。
東京リージョンある?
あるよ。
主なユースケース
Amazon SNS を使用する事で各種デバイスのアプリケーションとエンドユーザーが モバイルプッシュ通知、HTTP/HTTPS Eメール、 SMS などで柔軟に通知を受け取ることができる。
Simple Queue Service
何ができるのか
Amazon Simple Queue Service は、完全マネージド型のメッセージキューイングサービスであり、頭文字をとってSQSとよばれる。
マイクロサービス、分散システム、およびサーバーレスアプリケーションの切り離しとスケーリングを容易にするとともに、それぞれが個別の関数を実行する個々のコンポーネントでアプリケーションを構築することにより、スケーラビリティや信頼性が向上される。
無料利用枠ある?
あるよ。
東京リージョンある?
あるよ。
主なユースケース
SQSを使用する事で主に二種類のキュー(標準キュー、FIFOキュー)に対応する事ができる。
標準キューでは高いスループットを満たされ、配信は少なくとも一度行われるようなキューであり、配信順序がベストエフォート型である。 FIFOキューは 限られたスループットではあるが、メッセージが送信される順序の通りに一度のみ確実に処理されるように設計されたキューである。 どちらも要件に合わせて選択する。
SWF
何ができるのか
SWFは正式名称は Amazon Simple Workflowで頭文字をとって、SWFとよばれる。 SWFは、開発者が並行したステップまたは連続したステップがあるバックグラウンドジョブを構築、実行、スケールするのに役立つ。
SWFはクラウド内のフルマネージド型の状態トラッカー、およびタスクコーディネーターのサービスである。
無料利用枠ある?
あるよ。
東京リージョンある?
あるよ。
主なユースケース
SWFはシンプルなサービスであり、これを使用するとワークフローの管理がよりシンプルになり、独自のビジネスロジックなどを含む実際の作業単位の分離を促進し、ビジネス要件の変化に合わせて容易にフロー制御などのアプリケーションロジックを変更する事が出来るメリットがある。
例えば、インフラ自動化機能を各ワークフロー毎に切り分けて配置するなどがあげられる。
所感
普段使わないアーキテクチャだからなかなか難しい。
マイクロサービスアーキテクチャ的な考えの為に、よりマイクロサービスとして使用できるようAPIを呼ぶ事でサービスを実行できるようなサービスが提供されていたり、もしくはそのマイクロサービスをワークフローとして管理できるようなサービスがあったりする。
なかなか使う機会はないかな、とか思ったけど。 SNSとかは別だね。お世話になりますー。