製品の品質を落とさずに開発チームを拡大する方法
開発チームの規模を拡大中ですか?製品の品質を犠牲にすることなく成長する方法を学びましょう。このガイドでは、スケールする時期、チーム構成、採用、リーダーシップ、ツールなどの兆候に加え、The Codestがどのように...
新しいプロジェクトを始めようとしている、あるいは新しい機能を開発しようとしているのでしょうか?何か作業を始める前に、役に立つかもしれない様々な外部ツールについて可能な限り調べる価値があります。
つの基本的な、おそらく最も人気のある AWS サービスにはEC2とS3がある。一言で言えば、EC2では、次のようなことができる。 プロジェクト S3はあらゆる種類のデータを保存するために使われる。しかしこの記事では、Codestで通常使用している、多かれ少なかれ人気のある他のAWSツールについて見ていきたいと思う。

これは、多くのユーザーに非常に高速にリソースを提供するために特別に作られたツールである。多くのユーザーとは、一つのリソースに対して何百、何千というリクエストではなく、何百万というリクエストを意味します。例えば、あなたのグラフィック、CSS、HTML、もしくは ジャバスクリプト ファイルをどのページにも適用することができます。また、リソースが提供するコンテンツに完全な影響を与えたい - 何かを変更する必要があり、この変更があなたのファイルを含むすべてのページで起こるようにしたい。そしてここでAWS Cloudfrontが登場し、最終的なユーザができるだけ早くあなたのリソースを受け取れるよう、そのすべての機能を提供します。
Cloudfrontは多くの統計も提供している。例えば、最もリクエストされたページ、リソースへのリクエストが行われたデバイス、httpステータスなどです。
もちろん、このツールはかなり高価だが、クラウドフロントへのリクエストが多ければ多いほど、サービスに支払う金額は少なくなる。したがって、本当に大きな、あるいは巨大なトラフィックを持つウェブサイトにリソースを配置したい場合は、このソリューションを検討する必要があります。
To put it in simple terms, it’s a service that allows to execute of a large number of jobs directly on the AWS. All you have to prepare is an execution script and a ドッカー image, whilst AWS Batch will do the rest. Batch will dynamically create instances on EC2, allocate a suitable place for jobs and launch them at the same time. You do not have to worry that your EC2 instance will be run out of space or memory, or that you have to constantly think about when and how the job can be started. For communication between the script in the docker image and your service you can just create the API and here you go. If you want to use Batch you should also prepare your docker repository in Amazon Elastic Container Registry (ECR) service.
ドッカー・コンテナから恩恵を受けるもうひとつのサービスも特筆に値する。それはElastic Container Service(ECS)と呼ばれるものだ。Batchとの主な違いは、EC2インスタンスのセットアップとスケーリングを自分で行う必要があることだ。Batchのコストは、どのEC2インスタンスを使用できるかによって決まる。
AWS Batchはdockerイメージを起動することで作業を行うが、次のサービスであるAWS Lambdaはスクリプトを直接実行することができる。サーバをセットアップする必要はありません。 コード は仮想的に実行され、さらに良いことに、好きな方法で何らかの値を返すこともできる。
どんな時に使えるのか?例えば、ブラウザからのパラメータに基づいてウェブサイト上で計算を行い、さらにその計算にはウェブ上の他の場所への追加クエリが必要だとします。この場合、Lambdaでエンドポイントを作成し、スクリプトを追加し、ウェブサイトでこのエンドポイントを使うだけでいい。実に簡単だ。
ラムダのコストは、スクリプトが実行されているときだけカウントされる。
Simple Notification Serviceはその名の通り、通知を送るために特別に開発されたツールだ。様々なAWSサービス間の通信に簡単に使うことができる。例えば、マイクロサービスのグループがあり、そのうちの1つが他のマイクロサービスをリードしたい、つまりそのうちのいくつかを開始させたり、いくつかのアクションを実行させたりしたいとします。このような場合、メインサービスから通知を送信し、別のマイクロサービスでメッセージの受信を処理することができる。ちなみに、Amazon Simple Queue Service (SQS)についても触れておく価値がある。
SNSの場合(SQSと同様)、支払いは実行されたリクエストに対してのみ行われます。SNSへのメッセージ送信、SNSから他のサービスへのメッセージ送信、SNS APIプールからのその他の追加リクエストです。
Amazon Relational Database Serviceは単なる外部データベースである。このサービスにより、AWSはリレーショナル・データベースのセットアップ、使用、スケーリングを簡単に行うことができる。例えば、データベースがかなりの規模になり、日々大きくなることが予想され、そのデータベースを使用して多かれ少なかれ複雑な操作を定期的に実行する予定がある場合、例えばデータの処理や別のデータベースへのコピーなど、このソリューションは検討する価値がある。利用可能なデータベースエンジンには、PostgreSQL、MySQL、MariaDBがあります。
RDSのコストがデータベースのサイズとその使用量に関係することは容易に推測できる。

AWSは、既存のサービスを改善するにしても、新しいものを作るにしても、常に変化し続けている。AWSの技術革新に常にアンテナを張っておくだけでなく、既にあるものについても知っておくことが望ましい。