[速報] The Amazon Builders’ Libraryが発表されました #reinvent
西澤です。Werner Vogelsのキーノートで面白いものが発表されました。
The Amazon Builders' Libraryとは?
まずは、サービスページの冒頭にある文をざっくり日本語にしてみます。
誰もがより迅速かつ効率的に革新できれば、世界がより良い場所になることは間違いありません。そして、もし何かがうまく機能するなら。そのため、私たちが学んだことをAmazon Builders' Libraryで共有できることに興奮しています。
There’s no question the world will be a better place if everyone can innovate more quickly and efficiently. And if stuff just works better. For that reason, I’m excited that we are sharing what we’ve learned with you in The Amazon Builders’ Library.
-Charlie Bell, SVP, Amazon Web Services
The Amazon Builders' Library
ということで、21年間に渡りAmazonが培ってきた開発者のためのドキュメントライブラリが公開されました!Amazonのノウハウの粋が詰まったドキュメントを参考にして、より洗練されたシステム構築を目指していきましょう!
以下に、FAQより抜粋しておきます。
Q:Amazon Builders' Libraryとは何ですか? Amazon Builders' Libraryは、Amazonがテクノロジーを開発、設計、リリース、および操作する方法を説明する生きた記事のコレクションです。 The Builders' Libraryのコンテンツは、Amazonのシニアテクニカルリーダーとエンジニアによって書かれており、アーキテクチャ、ソフトウェアの配信、運用に関するトピックを扱っています。 たとえば、読者はAmazonがソフトウェア配信を自動化して年間1億5千万件以上の展開を達成する方法や、Amazonのエンジニアがシャッフルシャーディングなどの原則を実装して、可用性とフォールトトレラントな復元力のあるシステムを構築する方法を見ることができます。
Q:The Builders' Libraryを読む必要があるのはなぜですか? Builders' Libraryは、Amazonがテクノロジーを構築および運用する方法の詳細な説明を読者に提供します。 Builders' Libraryは、Amazonが毎日使用する実際のプラクティスに基づいています。 誰でもThe Builders' Libraryを参考にして、サービスの開発、設計、リリース、および運用に対するAmazonのアプローチを理解できます。
Q:ソフトウェアを構築する「正しい方法」はありますか? ソフトウェアを構築する正しい方法が1つあるとは考えていません。 Builder's Libraryは、Amazonの現在のベストプラクティスを説明しています。 Amazonで機能するものは、すべての企業または状況に理想的ではない場合があります。 Amazon内でも、チームは顧客の状況、制約、ニーズに基づいてさまざまな最適なプラクティスを実装しています。 テクノロジーは絶えず変化しており、今日のベストプラクティスは明日のベストプラクティスではないかもしれません。
Q:The Builders' Libraryへのアクセスにはどれくらいの費用がかかりますか? AWSアカウントが必要ですか? Builder's Libraryは無料で、インターネットに接続できる人なら誰でもアクセスできます。AWSアカウントは必要ありません。
執筆時点で用意されているライブラリ
執筆時点で用意されているライブラリは以下となりますが、今後も更新されるとのことです。これは楽しみですね。
- Avoiding insurmountable queue backlogs(乗り越えられないキューバックログの回避)
- Challenges with distributed systems(分散システムの課題)
- Going faster with continuous delivery(継続的デリバリーにより高速化)
- Ensuring rollback safety during deployments(デプロイ中のロールバックの安全性の確保)
- Static stability using Availability Zones(アベイラビリティーゾーンを使用した静的安定性)
- Avoiding fallback in distributed systems(分散システムでのフォールバックの回避)
- Caching challenges and strategies(キャッシュの課題と戦略)
- Leader election in distributed systems(分散システムのリーダーエレクション)
- Timeouts, retries and backoff with jitter(タイムアウト、リトライ、およびジッターを伴うバックオフ)
- Using load shedding to avoid overload(負荷制限を使用して過負荷を回避する)
- Implementing health checks
- Workload isolation using shuffle-sharding(シャッフルシャーディングを使用したワークロードの分離)
- Instrumenting distributed systems for operational visibility(運用上の可視性のための分散システムの計測)
まとめ
顧客のために積極的に情報公開するAmazonの姿勢にはいつも驚かされますが、このような全世界のエンジニアのためのドキュメントが無料で公開されるのは素晴らしいことだと思います。現時点では、"アーキテクチャ"と"ソフトウェアのデリバリーと運用"というテーマのみですが、今後もどんどん追加されることに期待したいです。まずは、興味のあるものから、読んで参考にして行こうと思います!
引き続き、現地からのレポートを続けます!