イベント

Amazon.comのヴォゲルスCTOが基調講演に登場、「システムは時間とともに複雑になるのが宿命、だから開発の初期段階の取り組みが重要」と指摘

AWS re:Invent 2022 最終日基調講演レポート

 Amazon.comの子会社でCSP(クラウドサービスプロバイダ)最大手の米Amazon Web Services(AWS)は、11月28日~12月1日(現地時間、日本時間11月29日~12月2日)の4日間にわたって、同社の年次イベント「AWS re:Invent 2022」を、米国ネバダ州ラスベガス市にある「The Venetian Convention and Expo Center」を中心とした会場において開催している。

 最終日となった12月1日の午前中(日本時間12月2日未明)には、Amazon.com 副社長 兼 CTO Werner Vogels(ワーナー・ヴォゲルス)氏による講演が行われ、将来に向けたAWSのビジョンといくつかの新しい発表が行われた。

 ヴォゲルス氏は「ゴールの法則では、正しく動作する複雑なシステムは、例外なく、正しく動作する単純なシステムから発展したものだと定義している。そのため、開発したシステムは発展させ続けなければ、死を迎えることになる」と述べ、どんなに複雑なシステムでも最初はシンプルな構造から始まっており、時間とともに複雑になっていくのだということを指摘し、だからこそシステムはできるだけシンプルなところから始めるべきだと強調した。

Amazon.com 副社長 兼 CTO ワーナー・ヴォゲルス氏

正しく動作する複雑なシステムは、例外なく正しく動作する単純なシステムから発展したもの、最初はシンプルに

 AWS re:Invent 2022の最終日となる12月1日(現地時間、日本時間12月2日)の午前中に行われた、Amazon.com 副社長 兼 CTO ワーナー・ヴォゲルス氏の基調講演の中で、EC事業者であり、かつAWS親会社であり、そしてインフラとして考えるとAWSの顧客でもあるAmazon.comのCTOとして、クラウドサービスやITの未来のビジョンを示したほか、いくつかのAWSのサービスを発表した。

 この中でヴォゲルス氏は同期、非同期、並列性という3つのキーワードを利用して、現状のITインフラの状況を説明した。「われわれはAmazon Simple Storage Service(S3)を2006年から提供しており、その中でいくつかの約束をしてきた。大きなものでは低遅延で高スループット、高い管理性などを約束してきた。それと同時に重視してきたのが非同期性になる。というのも、実際のわれわれの世界は非同期なことがほとんどだからだ。そしてシステムも非同期であり、かつパラレル(並列的)というのがわれわれの考え方だ」と述べ、Amazon/AWSとしてはITのインフラは非同期(つまり分散型)で、かつ並列実行できるようなインフラを構築し、その上で非同期(分散型)かつ並列実行のサービスでデータを処理していくことが、効率的なシステムを実現していくには重要だと強調した。

Amazon S3の主目標
非同期+並列
現実世界は非同期
システムも非同期

 また、「正しく動作する複雑なシステムは、例外なく正しく動作する単純なシステムから発展したもの」というゴールの法則を紹介。一度作ったシステムは、それを発展させていかないとどこかで突然死を迎えてしまうと指摘し、システムはいきなり難しくするのではなく、最初はできるだけ単純にしておき、将来複雑になることを意識してシステムを設計するべきだと指摘した。

「正しく動作する複雑なシステムは、例外なく正しく動作する単純なシステムから発展したもの」というゴールの法則
進化か死か

 さらに、ヴォゲルス氏は「既に3Dを利用したモデリングは1000枚の写真と同価値になっている。将来、3Dのコンテンツは今のストリーミング動画と同じように広くありふれたものになるだろう」と述べ、3DコンテンツをAWS上で作成し、それをそのまま展開するといった使い方が今後は当たり前になる、という可能性を示唆した。

 その上で、ゲームや3Dモデリングで一般的に使われているゲームエンジン「Unreal Engine」を提供しているEpic Games Unreal Engine担当副社長のナタン・トーマス氏がステージに登壇。AWSの画像認識エンジン、Amazon RDS for PostgreSQL、EC2のGPUインスタンス、Amazon S3などを利用し、写真から3Dデータを作成するアプリ「RealityScan」(リアリティ・スキャン)を、同日より提供開始することを明らかにした。なお、RealityScanはiOS向けに提供される。

Epic Games Unreal Engine担当副社長のナタン・トーマス氏
RealityScan
RealityScanの画面イメージ
RealityScanの仕組み

開発の初期段階をシンプルにするAWS Application Composerなどの提供を発表

 Amazon.comのヴォゲルス氏は、その講演の中で、「AWS Application Composer」、「AWS Step Function Distribution Map」、「Amazon EventBridge Pipes」、「Amazon CodeCatalyst」という4つの新しいAWSサービスを発表した。

AWS Application Composer

 「正しく動作する複雑なシステムは、例外なく正しく動作する単純なシステムから発展したもの」というゴールの法則を紹介した後に紹介されたのが、このAWS Application Composerになる。ブラウザベースのGUIを利用して、AWSのサーバーレスアプリケーションを容易に開発する仕組みとなっており、GUI上でサービスを置いていき、それぞれのサービスの接続などを設定するだけで、シンプルに複雑なアプリケーションを構築することができる。AWS Application ComposerはそこからIaC(Infrastructure as Code)を吐き出せるので、そのままAWS上で走るアプリケーションとしてPoC(Proof of Concept)を行うことが可能になる。

 複数のAWSサービスを組み合わせてサーバーレスアプリケーションを開発するときに、複数のサービスに仕様などを開発者自身が勉強する必要があり、すりあわせに時間がかかり、もう少し早くできるようにならないのかという要望が多数あったという。AWS Application Composerは、GUI上でポンポン置いていくだけで、初期段階のコードまで吐き出してくれるので、シンプルに開発が可能。その後開発者自身がチューニングしていく必要があるといっても、最初に実際に動くコードまで作ってくれることは大きな意味があると言える。

 ヴォゲルス氏が紹介しているゴールの法則の通りで、“一度作ったシステムはその後どんどん複雑化していく一方”というのがシステムの宿命である以上、言ってみれば、ビジュアルでハイレベルの設計図を確認できるAWS Application Composerは、これからAWSで複数サービスを利用したアプリケーションを設計しようと考えている開発者には要注目だ。現在は東京を含む、いくつかのリージョンでプレビューが開始されている。

AWS Step Function Distribution Map

 AWS Step Functionは、分散型サービスの自律的な制御を行い、業務の流れ(ワークフロー)を構築することが可能なマネージドサービスで、既に提供されているサービスとなる。今回発表されたAWS Step Function Distribution Mapは、そのAWS Step Functionに、Distribution Map(大規模な並列ワークロードのこと)が追加されたということを意味する。従来のAWS Step Functionでは並列処理の数は40に制限されており、その並列処理を最大1万まで増やして、データ処理の作業処理を増やすことが可能になり、より多くのデータを容易に並列処理できるようになった。既に東京を含む多くのリージョンで一般提供が開始されている。

Amazon EventBridge Pipes

 複数のサービスが協調動作するイベントドリブン(事象発生に応じた処理が行われること)なアプリケーションを開発する際には、サービス同士がどのような手順で連携するのか、開発者自身が方法を学習し、連携のためのコードを自分で作る必要があった。Amazon EventBridge Pipesでは、そうした手順をAmazon EventBridge Pipes自身が理解しており、開発者は特に難しいことを考えなくても、連携のコード開発を容易に行えるようになる。基本的にはソース(データを提供する側)も、ターゲット(データを受信する側)もAWSになるが、ターゲットにはHTTPSでデータを受け取れるサービスを設定することが可能で、サードパーティーのサービスでHTTPSに対応している場合にはデータを受信する側に設定できる。

 既に一般提供は開始されており、すべてのAWS商用リージョンで利用可能だが、インドのハイデラバードと欧州のチューリッヒは除外されている。

Amazon CodeCatalyst

 ソフトウェア開発を行う開発者が、Webブラウザ上でほかの開発者と一緒に計画から開発・コラボレーション・構築・バージョン管理・配信までを一気通貫に行えるようにするツール。誤解を恐れずに例えるとしたら、Jira SoftwareのAWS版と考えるとわかりやすいかもしれない。実際に利用できる機能はかなり一緒になっている。ただし、Jira Softwareがオンプレミスも含めた一般的なアプリケーションソフトウェア開発に利用されるのに対して、CodeCatalystではAWSのサービスを利用するアプリケーションを開発するのがメインの用途となる。

 現在、米国のオレゴンリージョンのみでプレビューが開始されている。ただし物理的にはオレゴンリージョンに接続して使うことになるが、ほかのリージョンのAWSアカウントが利用することも可能だ。