スタートアップが注目すべきAWSのポイント
まず、簡単にAWSが提供するクラウドサービスの特徴をおさらいしてみましょう。基本的なところで、以下の点が挙げられます。
- Self service(セルフサービス):さまざまなサービスをいつどう使うかはお客さま自身で決められる。事前にサービスの利用を申し込んでAWSによる承認を待つ必要はない(各種上限緩和、侵入テスト、ベータサービスの利用などには申請が必要)。
- Pay-as-you-go(従量課金制):起動時間数、リクエスト数、データ容量など、使った分の最小限の料金を支払うだけなので、コスト効率が高い。
- Scalability, Flexibility, Agility(拡張性、柔軟性、俊敏性):追加リソースが必要になったら増やし、不要になったら減らすことが素早くできる。複雑な要件もさまざまなサービスを組み合わせて実現できる。
- Undifferentiated Heavy Liftingの排除(他との差別化につながらない重労働の排除):例えば、サーバーまたはミドルウェアの運用といった、「事業の価値や差別化には直結しないがやらなければならない仕事」をAWSにオフロードすることができる。
- Security(高度なセキュリティ):責任共有モデルに基づき、AWSの責任範囲はAWSに任せながら、お客さまの環境はお客さま自身で自由に管理、統制できる。AWSはそのために必要なサービスや支援を提供する。
これらがスタートアップのビジネスにおいてどうメリットになるのか、改めて考えてみましょう。その前提として、スタートアップにおいては常にスピードが非常に重要であることを挙げておきます。
例えば、MVP(Minimum Viable Product - 評価可能な実用最小限の製品)に取り組んでいるシードフェーズにあるスタートアップ企業は、Pay-as-you-goでコストを抑えながらも素早くトライアンドエラーを重ねる必要があります。そんなとき、Self serviceで、ほしいときにほしいバックエンドリソースを素早く得られるのはメリットになります。
また、Undifferentiated Heavy Liftingを排除して構築・運用工数を削減することで、ビジネス価値に直結する開発タスクに集中できます。Pivot(事業の方向転換)をする場合に不要になった過去のリソースをすぐにシャットダウンすることもクラウドなら簡単です。
グロースフェーズに入り、いよいよサービスを拡張していく段階のスタートアップでは、スピードに加えサービスを安定して支えられるScalabilityがより高く求められます。そんなとき、負荷に応じて自動的にリソースを増減させられるAWS Auto Scalingやシームレスにスケールしてくれるサーバーレスのサービス、あるいは業界をリードするオブジェクトストレージAmazon S3をはじめ各種サービスは強い味方になるでしょう。
事業が大きくなるにつれて、事業やユーザーを守るためにSecurityを高める必要が出てきます(初期のフェーズにももちろんSecurityは必要ですが、要求がより高度になっていくという意味です)。その場合、スタートアップはAWS IAMなどの豊富なセキュリティサービスを使って要件を満たすことができると同時に、金融業界などでも採用実績の豊富なAWSを利用していることで、提携先のエンタープライズ企業から歓迎されることもあります。
上記以外にも、スタートアップ企業が注目すべきAWSクラウドのメリットは、多々あります。
例えば、Flexibility、柔軟性です。サービスが成長していくにつれて、組織やシステムが複雑になり増える要件に対して、AWSの165以上のサービスから各社の個性的な要件に合うものを必要に応じて選択し、組み合わせて実現することができます。AWSは、この考え方を「ビルディングブロック」と呼んでいます。
さらに、豊富な人材や情報量の多さも大きなメリットです。ありがたいことに、今日の日本でAWSは数十万以上のお客さまにご利用いただいており、JAWS-UGなどのユーザーコミュニティ活動も活発です。つまりAWSに慣れ親しんだエンジニアが多いということになります。実際に、エンジニアの採用面における効果を考慮してAWSを選択しているスタートアップもいらっしゃいます。また、公式ドキュメントのみならず、書籍やオンラインの技術情報も豊富です。こういった点は、少ない人数で開発するスタートアップのエンジニアにとって助けになる場面が多いはずです。
スタートアップ業界で見られるAWS技術トレンド(1)
私たちアマゾン ウェブ サービス ジャパン株式会社のスタートアップソリューションアーキテクトは、多くのスタートアップのエンジニアの方から相談を受け、AWSおよび周辺技術の最新情報を踏まえてアーキテクチャ設計や運用のディスカッションや提案を行っています。
年に1000件以上の技術支援を行っていると、スタートアップのみなさんの間で共通する技術動向、注目されているAWSサービスなどが見えてきます。では、最近どういったご相談を多く受けているか、いくつかのトピックに分けてその傾向を見てみましょう。
コンテナ技術
最近とても注目を浴びているだけでなく、各社が取り組み始めていて、導入、設計、運用に関する相談が多いのがコンテナ、具体的にはDockerに関することです。
「これまでAmazon EC2で運用してきたシステムをこれからDocker化したい」「開発環境ではDockerを使っているが本番環境に導入するにあたり相談したい」「Amazon ECS、Amazon EKSについて違いを知りたい」といったご相談をいただくこともあれば、「すでにDockerを本番運用しているが、○○するにはどうすればよいか」などの具体的な質問もあります。○○は、例えばBlue/Greenデプロイであったり、スケールイン時のドレイニングであったりとさまざまです。
普段ご相談を受ける中で私が思うことは、「Dockerまたは関連するツールを導入すること自体を目的として考えるべきでない」という点です。詳しくは、私の信頼すべきスタートアップソリューションアーキテクトチームの1人である松田和樹(@mats16k)が最近AWS Startup ブログにまとめているので、ぜひご一読いただけるとうれしいです。
サーバーレス
Dockerだけでなく、より抽象化されたサーバーレスなテクノロジーに関するご相談も日に日に増えています。既存のシステムのサーバーレス化に関するご相談や、作っていくうちに数が多くなって複雑化してきたAWS Lambda関数の管理、Amazon API Gatewayの認可機能、Amazon DynamoDBのテーブル設計、AWS AppSyncを使うにあたってのGraphQL APIの考え方などさまざまな相談がスタートアップ企業の方々から寄せられています。
サーバーレスコンピューティングは、開発者リソースをインフラの保守運用といった業務タスクから、よりアプリケーションレイヤーに集中できることや、コスト効率が高いこと、さらにスケーラビリティを確保できる点で、スタートアップのビジネスに適した面を多く持つ技術であると言えます。
一例ですが、スタートアップの方がサクッとサーバーレスなRESTful Web APIを作るならAWS Chalice、フロント・モバイルアプリエンジニアの方が簡単にスケーラブルなアプリケーションを作るならAWS Amplifyといった選択肢があります。これらは手早くサーバーレスアプリケーションを構築でき、かつ拡張も簡単です。実際それらを使ってサービスを展開しているスタートアップ企業も増えています。