2012年に開催された第1回目の「AWS re:Invent 2012」以来、アンディ・ジャシー(Andy Jassy)CEOのキーノートと同じく、Amazon.comのCTOを務めるヴァーナー・ヴォゲルス(Werner Vogels)博士のキーノートでは、20前後のアップデートが発表されるのが通例です。ところが今年のre:Inventでは、5日間を通して70を超えるアップデートが発表されたにもかかわらず、12月5日に行われたキーノートでヴァーナー博士がアナウンスしたのはたったひとつ、「The Amazon Builders' Library」だけでした。例年のように、いかにもAWSらしい開発者向けの新サービスを怒涛の勢いで紹介していくヴァーナー博士を期待していただけに、ちょっと拍子抜けした感は否めませんが、ここではそのたったひとつのアップデートであるBuilders' Libraryについて簡単に紹介します。
The Amazon Builders' Libraryとは?
Amazon Builders' Libraryはその名前が示すとおり、AWSの"ビルダーズ"、つまり分散技術に関連する高いスキルをもつエンジニアたちが、いかにしてAmazon.comおよびAWWという巨大な分散インフラを支え続けているのか、そのノウハウをトピックごとに記事にしたコレクション(ライブラリ)です。
「分散システムのビルドは本当にチャレンジングな仕事だ。AWSのエンジニアたちはどうやってスケールしているのか、どうやってオペレーションを効率化しているのか、どのようにしてスピーディなデリバリを実現しているのか ―それらに関するノウハウをこのBuilders' Libraryで徐々に公開していく」(ヴァーナー博士)
現時点ではまだBuilders' Libraryに掲載されている記事の本数は多くありませんが、ざっと眺めてみると
- バックログキューを最小化する
- 分散システムの構築はなぜ難しいのか
- 継続的デリバリをより速く実現するには
- 分散システムにおけるフォールバックの回避
- キャッシングにおける課題とその解決法
- ヘルスチェックを実装する
- シャッフルシャーディングを使ったワークロードの分離
など、アーキテクチャそのものについての基本から、分散システムの構築で陥りやすいトラブルの回避、大規模なオペレーションな効率的な実施、といった記事がずらりと並んでおり、まさに良いアーキテクチャとはどういうものなのかが説明されている生きた記事のコレクションとなっています。残念ながらBuilders' Libraryはすべて英語のコンテンツとなっていますが、AWSジャパンの関係者に聞いたところ、Builders' Libraryの掲載記事の翻訳や、日本法人のソリューションアーキテクトらによる独自の記事追加も検討しているとのことで、こちらも期待したいところです。
今回のre:Inventでヴァーナー博士が発表したアップデートはこのBuilders' Libraryだけでしたか、開発者向けのアップデートかなかったわけではなく、たとえば
- AWS Amplify for iOS and Android
- Amplify Frameworkを使用して、JavaScriptアプリに使っているのと同じカテゴリベースのプログラミングモデルでもってスマホアプリを構築可能に(オープンソースプロジェクト)
- AWS Amplify DataStore
- 開発者がデータの変更を記述/読み取り/監視するための永続的デバイスストレージリポジトリ
- HTTP APIs for Amazon API gateway Preview
- REST APIよりも待ち時間が短く、コストが低いRESRful APIを作成可能
- Amazon Neptune Workbench
- Amazon SageMakerがホストするJupyter Notebookを使用してNeptune DBクラスタを操作
- Deep Java Livrary
- Javaでディープラーニングモデルを開発するためのオープンソースライブラリ
などが新たに発表されています。にもかかわらず、ヴァーナー博士がこれらをキーノートで紹介することなく、あえてBuilders' Libraryにとどめ、キーノートではAWSのアーキテクチャにおける基本的なプリンシプル(原則)の説明に終始したのはなぜなのか。私見ですが「良いアーキテクチャが良いシステムを作り、良いビジネスを作る」というヴァーナー博士の哲学をあらためてre:Inventの参加者と共有することが目的だったのではと思えます。AWSは昨年のre:Invent 2018で「AWS Well-Architected」というフレームワークを発表し、顧客がアーキテクチャに対する理解を深められるようサポートしていく姿勢を見せていますが、今回のBuilders' Libraryも同様に、顧客自身がアーキテクチャに関わることが良いシステムの基本であり、良いビジネスを生み出していくというAmazon/AWSのポリシーが強くあらわれています。良いアーキテクチャとはなにか ―8回目を迎えたre:Inventのキーノートでは「Amazon Builders’ Library」というかたちで、あらためてヴァーナー博士のアーキテクチャに対するスピリットが示されたように思えます。