数年前、私たちは興味深い問題を抱えていました。当社は完全リモートワーク体制で、すべてのソフトウェアはクラウド上にあります。そして、私たちはインフラストラクチャ・アズ・コード(IaC)を活用したコンテナ上で動作する、一連のSpring Bootアプリケーション群を運用していました。しかし、私たち
はビジネスの俊敏性
必要でした。世界の雇用市場は急速に変化しており、常に新しい製品への需要が存在する。業界全体でリード
維持する方法を見つけなければなりませんでした。
私たちは大胆な戦略を持つテクノロジー企業です
2022では、「サーバーレスファースト、コンテナは必要に応じて使用する」というADR(アーキテクチャ決定記録)を作成しました。そして、約40エンジニアリングチームの間で議論を巻き起こした。
まず用語の説明から始めましょう
サーバーレスファーストとは、単にFunctions-as-a-Service(FaaS)のことだけではありません。クラウドプロバイダーが提供する、以下のようなマネージドサービス群も含まれます。
-
インフラストラクチャの管理を行わないことで、運用コストを削減します。
-
必要に応じてスケール調整可能。完全に伸縮自在にするためにゼロまでスケール調整することも可能。
-
柔軟な料金体系を採用する(使用した分だけ支払う)。
G-Pでは、サーバーレスファーストとは、AWS Lambda、EventBridge、Step Functions、Fargate、SQS、SNS、API Gateway、S 3 、DynamoDBなどを使用することを指します。
サーバーレスファーストとは、コンピューティング、ストレージ、メッセージングなどのソリューションを選択する際に、まずはサーバーレスオプションから検討を始めることをチームに推奨することを意味します。重要な注意点:サーバーレスサービスがニーズを満たさない場合は、チームはより大規模なサービス(運用投資がより多く必要なサービス)に切り替えるべきです。
「必要に応じてコンテナを使用する」という表現は、サーバーレスファーストがサーバーレスのみを意味するものではないことを明確にするものです。コンテナが必要になる場合もあります(例えば、市販のソフトウェア製品をインストールする場合など)が、それは問題ありません。
顧客を最優先するテクノロジー戦略
私たちは、顧客やユーザーのニーズに応えるため、機敏なペースで行動します。Lambda、S 3 、DynamoBDのようなサービスは、非常に高い回復力と高速性を備えています。差別化につながらない面倒な作業を外部委託することで、汎用的なインフラ構成に時間を費やすのではなく、ユーザー向けの機能開発により多くの時間を費やすことができるようになります。
GPの重要な原則は、「自分たちで構築し、自分たちで運営する」ということだ。私たちのチームは、自分たちのソフトウェアを所有しています。だから、私たちはソフトウェアをDevOpsチームにただ投げ渡すようなことはしません。
「サーバーレスファースト」の利点
サーバーレスは本質的にイベント駆動型である。
当社のアーキテクチャは完全にイベント駆動型です。EDA(イベント駆動型アーキテクチャ)を用いることで、組織とソフトウェアの両方を拡張することが可能になります。サーバーレスは、影響範囲を小さく抑え、イベントを介して完全にクラウドネイティブな方法で通信することを私たちに強いる。
制約を有効にする
グローバルな雇用プラットフォームとして、当社はコンプライアンスを真剣に考えています。当社のクラウドインフラストラクチャはWell-Architectedに準拠しており、ワークロードを分離し、クラウドコンプライアンスを自動化するマルチアカウント戦略を採用しています。サーバーレスは、クラウド リソースのプロビジョニング方法を制御することで、高い基準を維持するのに役立ちます。
仕事をオフロードする
当社のクラウドプロバイダーが、当社のサーバーレスサービスを管理しています。AWSによって統合、保護、調整、有効化、保守される単一の構成要素セットにより、当社はお客様にとってより価値の高い部分に注力できるようになります。
適切に設計されたワークロード
当社が作成するすべてのワークロードは、AWS Well-Architected Frameworkに基づいてレビューされます。当社は、サービスレベル契約(SLA)を満たすだけでなく、それを上回ることを目指し、規模、セキュリティ、信頼性、コスト最適化に重点を置いています。これは、クラウド環境の進化に伴い、当社のエンジニアリングチームの能力を強化するものです。
チームについて
当社の技術戦略は野心的であり、それゆえに困難も伴います。多くのエンジニアは、サーバーレスアーキテクチャ(または分散アーキテクチャ)での実務経験がない。サーバーレスアーキテクチャへの移行は容易ではないため、私たちは学習意欲が高く、大きな視点で物事を考え、迅速に行動できるエンジニアを求めています。
一部のエンジニアは「サーバーレス」という用語に確信が持てないでいる(もちろん、サーバーが存在することは承知している)。なぜなら、このアプローチは単に関数でコードを書く以上のものだからだ。私たちの戦略には、従来のクラウドネイティブの原則に対する包括的なアプローチが必要です。
結果
私たちはこの2年間で目覚ましい進歩を遂げました。近代化には多くのメリットがあります( AWSに関する記事や、クラウド近代化の既知のビジネス価値をご覧ください)。具体的には、以下の点が観察されました。
1 。スピード:当社のシステムを細分化することで、チームや製品が独立して革新と進化を遂げることが可能になります。これはビジネスの俊敏性に大きな影響を与える。
2 。コンプライアンス:当社は、すべてのワークロードをレビューするためにAWS Well-Architected Frameworkを使用しています。当社は多くのAWSマネージドサービスを利用しているため、その優れた運用能力に信頼を置くことができ、最初から高品質な状態からスタートできます。
3 。システム思考:システム全体、信頼性、そしてビジネス価値について考察できるように、多くのプロセスを標準化する必要がありました。私たちは価値の低い部品の開発に時間を費やしません。
4 。イノベーション:サーバーレスとは、すべてがAPIであることを意味する。この制約を克服するには、APIファーストのアプローチが不可欠である。私たちが自らをプラットフォームと捉えることで、APIを介してシステムを容易に接続し、例えばG-P Gia™を新しい知識ベースに接続するなど、新たなレベルのイノベーションを実現できます。
5 。所有権:AWSは当社のインフラストラクチャを所有していますが、当社のビジネスドメインは当社が所有しています。サーバーレスファーストとドメイン駆動設計を採用したことで、私たちはビジネス上の課題に集中せざるを得なくなりました。これにより、機能の所有権が明確になります。
サーバーレスファーストは必ずしも高速とは限らないが、より多くのメリットをもたらす。私たちは、個々の開発者の速度よりも、システム全体の速度を最適化することを優先します。サーバーレスファーストは、関数を使うことよりも、「コードは負債である」という考え方を重視します。システムこそが資産である。書くコードが少なければ少ないほど、構築するビジネスシステムについてより深く検討し、形作ることができる。
私たちのストーリーをお伝えしていくうちに、私たちがどれほどのスピードで作業を進めているかが明らかになるでしょう。これは、サーバーレスファーストのアプローチの直接的な結果です。乞うご期待。


