ちょっと話題の記事

25年前のAmazonの分散コンピューティングの考え方を要約した「The Distributed Computing Manifesto」文書が公開されました #reinvent

AmazonのCTO、Wernerのサイトに公開された論文の紹介です。25年前から今までのAmazonとAWSが進化するにあたっての根本的なアーキテクチャの原則が要約された貴重な文書となってます。
2022.12.02

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

re:Invent2022 4日目、Dr. Werner Vogelsのキーノートにおいて、「The Distributed Computing Manifesto」というドキュメントがNew Articleとして紹介されました。

The Distributed Computing Manifesto | All Things Distributed

Amazonという超巨大なサービスが、モノリスの状態からその時まさに分散コンピューティングを推進していく転換点における考え方を示した貴重なドキュメントになっており、また、Werner自身も言うように、今後のAWSの進化の方向性を示唆する内容にもなっています。

温故知新ってこと…?!!

  ( ゚д゚) ガタッ
  /   ヾ
__L| / ̄ ̄ ̄/_
  \/   /

まさにそんな雰囲気。

文書の位置づけ

こちらのサイトに追加されたドキュメントという位置づけです。

このサイトは、Amazon.comのCTOを長年務めるWernerが、貢献した論文や記事が掲載されているサイトで、今回Keynoteで紹介された「The Distributed Computing Manifesto」は、2022年11月16日にすでに公開されていたものが、KEYNOTEで改めて紹介されたものです。

About | All Things Distributed

The Distributed Computing Manifestoとは

文書の内容はこちら。

論文の位置付け

冒頭、引用します。

Today, I am publishing the Distributed Computing Manifesto, a canonical document from the early days of Amazon that transformed the architecture of Amazon’s ecommerce platform. It highlights the challenges we were facing at the end of the 20th century, and hints at where we were headed.

本日、私は「分散コンピューティング宣言」を公開します。これは、Amazonの初期の頃に作成されたドキュメントで、Amazonのeコマース・プラットフォームのアーキテクチャを一変させたものです。20世紀末に私たちが直面していた課題を浮き彫りにし、私たちが向かうべき方向を示唆しています。

文書の内容は1998年に作成された非常に古いものです。2004年当時、Amazonのアーキテクチャ情報として公開されたものはほぼ無かったようですが、その時分散システムの研究をしていたワーナーは、Amazon主催の分散システムの研究講演に招待され、その内容に非常に驚き、仕事のオファーを断れなかったようです。

CTOとして18年過ごした今も、当時の驚きをよく覚えていて、改めてこのタイミングで当時の論文を紹介したとのことでした。

その後20年の間に、Amazonはモノリスからサービス指向アーキテクチャ、マイクロサービス、そして共有インフラプラットフォーム上で動作するマイクロサービスへと移行していきました。これらはすべて、サービス指向アーキテクチャのような言葉が存在する以前に行われたことです。その過程で、私たちはインターネット規模での運用について、多くの教訓を得ました。

Wernerは、この文書についてKEYNOTEで深堀りし、また、それぞれの分野についての追加の論文を投稿する予定とのことです。

論文の構成

論文は、以下内容で構成されています。

  • Background
  • Key Concepts
  • Service-based model
  • Workflow-based Model and Data Domaining
  • Applying the Concepts
  • Tracking State Changes
  • Making Changes to In-flight Workflow Elements
  • Workflow and DC Customer Order Processing

PDFドキュメント

以下で論文のPDFも公開されています。

Distributed computing manifesto.docx

読んでみた感想

2週間ほど前に、Wernerのサイトにホストされていたドキュメントですが、25年前にAmazonのエンジニアが考えていた分散コンピューティングへの移行への考え方が、サービスとしての考え方をベースとした3層アーキテクチャへの移行、サービス間の依存関係の制限、サービスとワークフローの組み合わせ、非同期処理と同期処理の組み合わせ、ワークフローベースモデルとデータドメイニングのキーワードと共に紹介されています。

近年、AWSのサービスの中でも、Step FunctionsやEvent Bridgeの充実ぶりが非常に活発ですが、それも、25年前の分散コンピューティングの考え方を、AWSの各サービスを軸にユーザーが誰しも使えるように提供しようとする意図が見えているなと感じています。特に今回のキーノートでは、EventBridge Pipeの発表など、それらを意識した新サービスの紹介が多くあった感触です。

25年前から今までに通じる考え方と、これからのAWSの進化の方向性を捉えることができる貴重な資料だと思うので、皆さん、是非時間をつくって読んでもらえればと思います。

また、このサイトは、Wernerが考える技術潮流や未来への提言など、AmazonやAWSの各種サービスの根底にある考え方を記した文書が豊富にあるので、それらを眺めてみるのもオススメです。今日公開されたこちらの文書も、本日のキーノートの内容がたくさん盛り込まれていて、面白かったです。

それでは、今日はこのへんで。濱田(@hamako9999)でした。