AmazonのCTO Werner Vogels氏は最近、AWS Lambdaプロジェクトの発端となった社内設計説明書を公開した。Amazonで最も人気のあるサービスの1つの開発の発端となったPR/FAQの公開は「舞台裏を覗く」機会を提供し、Amazonのサーバーレスコンピューティングに対する初期のビジョンを浮き彫りにしている。
AmazonのCTOによって注釈が付けられたこの社内文書にはAWS Lambdaの起源が詳細に書かれており、データベースへの書き込みやファイルの処理などのタスクを待つ間にしばしばアイドル状態になる、EC2フリートを管理する顧客が直面していた課題から始まっている。また「あらゆるコードをAWSが運用する拡張性、安全性、信頼性の高いクラウドサービスとして簡単に実行する」コンセプトを推進する、「説得力ある説明」から始まったサーバーレスプラットフォームがどのように生まれたかについても書かれている。Vogels氏はこう書いている。
Lambdaは顧客のニーズに後押しされ、この10年でかなり進化しました。このPR/FAQを読めばいくつかの変更や(例.1ミリ秒単位の課金粒度や10GBメモリの関数のサポート)、最終的に非常に充実した機能になったいくつかのアイデアに気づくでしょう。
Vogels氏は読者に、Amazonには顧客に提供するものを明確に表現するための社内「プレスリリース」を作成する長年の伝統があることをリマインドする。これらの文書では著者に正確さと徹底的であること、アイデアをデータで裏付けること、混乱を避けるために明確性を確保することが求められる。別の記事ではAWSの副社長兼主任エバンジェリストJeff Barr氏がサービスがどのように始まり、毎年継続的に改善されてきたかをとりあげている:
当時の同僚Tim Wagner氏との2013年頃の会議のことを私はぼんやりと覚えています。サーバーレスという用語は存在していませんでしたが、私たちは開発者がインフラストラクチャではなくコードに集中できるようにする様々な方法についてチャットしました。ある時、空に向かって両手を投げ出し、空中にコードをシンプルに投げ込んで、クラウドがそれを掴み、保存し、実行するのがクールだと示したことを覚えています。そんなミーティングを何度も重ねた後、Tim氏がまさにそれを実現するプラットフォーム構築を提案するPR/FAQを書きました。
Vogels氏が説明するように、注釈付きの初期説明書を共有する目的は記念日を祝うことに留まらない:
これは私たちが徹底的であろうと努力しているものの全知ではないこと、書くことのゴールが完璧さでないことのリマインダーです。目的は製品を顧客の手に届け、どのように使うかを観察し、調整し、その過程でイノベーションを起こすことです。
10年前の文書ではモバイルバックエンドを有効にし、Lambdaを「内部で」使用してカスタムCloudWatchアクションやカスタムビデオトランスコーダールールのような、様々なAWSサービスにスクリプトを埋め込むビジョンが強調されていた。これらのユースケースを持つ顧客は、暗黙のうちに新サービスを採用することになるだろう。「AWS Lambdaの10年」という記事の中でAWSのdistinguished engineer Marc Brooker氏は、当初は見過ごされていた課題のいくつかを説明し、書いている:
私たちはLambdaのテールレイテンシーの最適化について長年にわたって多くを書いてきましたが、多くの面で中央値レイテンシーは顧客にとってより大きな問題であり、私たちが同じくらい投資してきた分野です。特にマイクロサービスやSoAアーキテクチャを構築している顧客には、中央値レイテンシーが積み重なります。
Barr氏はコンポーザビリティとAIへの継続的なシフトも強調している:
時間の経過とともに、サーバーレスアプリケーションは、再利用可能なビルド済みコンポーネントの利用を増やしていくでしょう。AIを活用した開発ツールの助けを借りて、たくさんの新しいコードが新しい強力な方法で既存コンポーネントを互いに接続することにフォーカスするでしょう。これによりアプリケーション全体の一貫性と信頼性も向上します。
注釈付きのLambda PR/FAQはWerner VogelsのWebサイトで、注釈なしのオリジナル版はPDFファイルで入手できる。