進化するアーキテクチャシリーズ、第 1 部

このコンテンツはいかがでしたか?

「素晴らしいアイデアが浮かんだ」

すべてのスタートアップはアイデアから始まります。資金やスタッフ、流通など無数のことを心配する前に、新鮮で新しいアイデア、つまり可能性を秘めていると感じる製品やサービスのアイデアを得ているのです。

アイデアがクラウドに依存する場合は、クラウドアーキテクチャが必要です。このブループリントは、優れたアイデアを現実のものにするのに役立ち、うまく構築されていれば、ビジネスの成長とともに進化させることができます。

アイデアの確固たるブループリントを構築できるように、この 4 部構成のシリーズの「進化するアーキテクチャ」では、その名も「Example Startup」という企業がどのようにアイデアを実践していくかを紹介します。第 1 部では、お客様の関心と市場適合性をテストするために、どのように実用最小限の製品 (MVP) を構築したかを見ていきます。シリーズの後半では、スケーラブル、安全性、高可用性、冗長性を備えた本格的なソリューションを提供するために、スタートアップのライフサイクルを経て、設計と意思決定がどのように進化するかを見ていきます。

初めての MVP の提供

スタートアップによる最初の数回の製品提供は、通常、段階的なアプローチで行われます。これらは、資金調達、時間、リソース、チームの規模、知識と経験によって決まります。

この段階では、完璧を良しとせず、シンプルでありながら機能的なソリューションを提供することが非常に重要です。そのためには、一方向と双方向の意思決定フェイルファストと必要に応じた方向転換、コスト管理、市場投入までの時間の短縮についての方法を知る必要があります。

Example Startup が、このプロセスにどのように取り組んでいるかを見てみましょう。

アイデア
Example Startup のアイデアは、「ファンタジー株式市場」を作ることです。彼らは空想のスポーツリーグをベースラインとして、株式市場への投資の考えを適用しました。彼らは、1 年間に 4 回の「トーナメント」を開催することを構想しています。

毎四半期の初めに、新しい投資家が同じ金額の資金でスタートします。ファンタジー株式市場では、これらの投資家はその後 3 か月間 (実際の株式市場の企業と銘柄に基づいて) 投資の選択を行うことができます。四半期末に、参加者がランク付けされ、勝者が発表されます。

準備
アイデアを実現するために、2 人の創設者はスタートアップ企業を立ち上げました。貯金を集め、友人や家族からお金を借りました。

1 人の創設者は経験のあるデベロッパーで、3 か月の休暇を取得しました。これにより、彼女は技術的なソリューションに集中することができ、とても助かっています。しかし、それにより最初の納品までのタイムラインも決まります。

現在、わずか 3 か月のうちに、彼女と、財務のバックグラウンドを持つ彼女の共同創設者は、MVP にどの機能を含めるかを決定し、製品を構築する必要があります。まずは、1) 使用可能な製品に絶対に必要な機能は何か、2) 市場への適合性やお客様の関心を測るのに役立つ機能は何かを決定します。

彼らは以下のように決定します。

  • 投資家が取引できる現実世界の株式市場の銘柄/企業のインポートプロセス
  • 日々の市場価格のフィード
  • ユーザー向けのサインアップメカニズム
  • ポートフォリオ管理ユーザーインターフェイス (UI)
  • 一日の終わりのポートフォリオ計算の日々のプロセス
  • ランキングを計算する日々のプロセス

構築
その範囲を定義したら、今度はファンタジー株式市場に必要なテクノロジーとコンポーネントについて技術的な決定を下します。次に、MVP の立ち上げに向けたマイルストーンを含む実装計画を作成します。

フレームワーク
Example Startup の創設者の 1 人は、デベロッパーとして、ユーザーインターフェースを構築するための JavaScript ライブラリである React の経験があります。MVP 提供の大部分が UI 開発に関係していることを考えると、彼女は AWS Amplify が最適だと考えています。Amplify を使用することで、チームは再利用可能なコンポーネントを多数備えた React.js アプリケーションの構築とホスティングに関するビルトインサポートを得ることができます。Amplify はバックエンドでも支援可能です。Amazon DynamoDB のようなさまざまなデータベースを管理できるので、最初は柔軟性が高く、AWS AppSync を使用するとフロントエンドを簡単にデータソースに接続してビジネスロジックを開発できます。

ドメイン
フレームワークが準備できたら、いよいよドメイン名を取得します。Amazon Route 53 は、Example Startup がすでに使用しているサービスやドメイン登録のプロセスとうまく統合された DNS (ドメインネームシステム) サービスを構成するのに役立ちます。

実験とコスト管理
チームは、ユースケースに合った AWS サービスを選択するだけで、当初のニーズのほとんどを満たすことができます。AWS のサービスは幅広く、Example Startup は複数のオプションをすばやく試し、その経験に基づいて決定を下すことができます。

多くの AWS サービスには無料利用枠がありますが、Example Startup の実験は一部過剰であったかもしれません。最初の月の請求書が届くと、チームはコストにもっと注意を払う必要があることに気付きました。他の多くのケースと同様に、そのためのソリューションが AWS にはあります。彼らは無料サービスの AWS Budgets を使い始めます。これにより、チームは計画とコスト管理を改善し、アラートを定義して、期待に沿わない可能性がある場合に注意を促すことができます。

データ
1 か月が経過した Example Startup には、すでに多くの UI とサンプルデータを処理するいくつかの関連機能が組み込まれています。次に、実際のデータを使って面倒な作業を行うバッチ処理が必要になってきます。

必要な情報を提供するデータソースを見つけた後、チームはデータを自動的に取り込みたいと考えています。プログラミング言語として JavaScript を使い続け、操作面をできる限りシンプルにするような言語で実行したいと考えています。

そして AWS Lambda に辿り着きます。チームはサーバーの運用やスケーリングについての心配が不要な、EventBridge を使用して AWS Lambda 関数をスケジュールするチュートリアルを使用して、サーバーレスのアプローチを採用します。

これで、最初のアーキテクチャ図に示されているように、実行する必要のあるデータ関連サービスの設計が整いました。

テスト
チームは大きな進歩を遂げています。アーキテクチャは成長を続けており、3 か月という期限に対しても手ごたえを感じています。

しかし、ソリューションをテストする人の数が増えるにつれて、問題に気づきます。チームの誰かが、「アクティブユーザーは何人で、ユーザーあたりの平均トランザクション数はどれくらいか?」と尋ねました。しかし、彼らは本当に意味のある答えを思い付くことができませんでした。彼らは、一時的に DynamoDB コンソールで直接クエリを実行することで「手探り」でやってみることに同意し、次の反復のために「ウィッシュリスト」を作成します。

立ち上げ
Example Startup は期限を守り、MVP を立ち上げました。やがて、チームには膨大な登録リストが表示されます。彼らは自分たちが何かを掴み始めているものの、製品の改善とビジネスのスケールには助けが必要だということに気づきます。

友人の友人が AWS Activate について言及しています。これは、スタートアップに AWS クレジット、AWS サポートプランクレジット、アーキテクチャガイダンスなど、さまざまなメリットを提供するプログラムです。

AWS Activate に申し込むと、次の段階に必要な支援を受けることができます。

まとめ

Example Startup では、ほんの数か月で多くのことが起こりました。最初の MVP を提供する過程で、多くのスタートアップは Example Startup が克服したのと同様の課題に直面します。

今後の「進化するアーキテクチャ」シリーズのブログで、その道のりの続きをご紹介します。企業が成長し規模を拡大するにつれて、彼らのニーズ、課題、目標がどのように変化するかをご覧ください。

Zoran Nakev

Zoran Nakev

Zoran は AWS の Senior Solutions Architect であり、主にフィンテックのスタートアップと連携して、AWS プラットフォーム上でソリューションを構築するのをサポートしています。テクノロジーに対する経験と情熱を活かして、スタートアップが目標を達成できるよう支援しています。家族とともにニュージャージーに住んでおり、映画や音楽を観賞したり、飼い犬と長い散歩をしたりして、自由に時間を過ごすことを楽しんでいます。

Aayzed Tanweer

Aayzed Tanweer

Aayzed は AWS の Solutions Architect であり、フィンテック分野のスタートアップのお客様と連携して、特に分析サービスに重点的に取り組んでいます。もともとトロント出身の Aayzed は、最近ニューヨーク市に引っ越して、街を巡って食べ歩きしたり、街の多くの独特な魅力を探索したりすることを楽しんでいます。

Justin Plock

Justin Plock

Justin は AWS の Principal Solutions Architect であり、フィンテックのスタートアップに重点的に取り組んでいます。Justin はフィンテックの創業者と定期的に会い、それらの創業者のビジネスが安全で業界規制に準拠しているようにするのをサポートしています。AWS に入社する前は、Fortune 200 の保険会社で Director of Cloud Enablement を務め、サイバーセキュリティ企業で Director of Engineering を務めていました。Justin は、スタートアップが AWS で安全かつ効率的に開発できるようサポートすることに情熱を注いでいます。Justin は、妻および 2 人の娘とともにコネチカット州に住んでいます。

このコンテンツはいかがでしたか?