プログラマでありたい

おっさんになっても、プログラマでありつづけたい

re:Invent Dr. Werner Vogelsキーノートの感想

Andy Jassyのキーノートに続き、Werner Vogelsのキーノートの発表です。Andyのキーノートは主にビジネス的な観点からAWSの凄いところとか新サービスの発表がされます。これに対してWernerの発表は、技術的な観点でAWSはどうなってるのかの説明です。で、新規のサービス発表は例年ほとんどなく、今年はほぼ全くなかったです。なので、私が印象に残ったトピックスとその感想を語るという形式でまとめてみました。

AWS Nitro System

 日本ではニトロと呼ばれていますが、こちらでは"ナイトロ"です。そこのところ、宜しくおねがいします。
f:id:dkfj:20191206125008j:plain

今年re:InventでNitro関係の説明を受けるまで、NitroってのはXenに取って代わった、AWS独自のハイパーバイザーでec2周りだけのものかと思っていました。しかし、ストレージやネットワークを含む中核的なサービスだったということを初めて理解しました。より理解を深めるために、もう少し調べてみます。
f:id:dkfj:20191206125026j:plain

コンテナの話

 FargateやLambdaの裏側で動いているFirecrackerのアーキテクチャの解説がありました。AWSが継続的に相当の投資をして、進化していっているのが見て取れました。象徴的だったのが、ec2と比べてFargateはいかに負荷に応じてスケールアウトできるかというスライドです。システムをうまく作れば、ほぼリアルタイムにリソースを調整できるようです。

f:id:dkfj:20191206125824j:plain

 これを聞きながら考えたらのは、やはりコンテナファーストを前提に考えないということです。昨日聞いた別のセッションで、初期のAWS移行時の作り方はリフト(そのまま持っていく)が7割でシフト(クラウド最適化)が1割とのことです。ここで言うリフトはRehostの他に、Replatformも含まれています。ReplatformというのはOSのバージョンアップ等を含め多少手を加えてという意味です。もう意識的には、Replatformはコンテナ移行まで含めるくらいの感じでやればいいんじゃないのと思っています。
 あとKubernetes(k8s)使うか問題です。個人的な結論としては、EKSじゃなくて素のECSでいいだろうと考えています。そしてECSはec2じゃなくてFargateベースで。コンテナ自体に可搬性があるので、その下のオーケストレーションツールは、後方互換性が高いものを優先にすれば良いだろうと。AWSは、後方互換性については充分信頼に足ります。システム自体を他のクラウドに移行することは殆どないので、マルチクラウド戦略のためのk8sの優位性より運用の楽さを選んでしまっても良いと考えました。

Physalia

 そして割と唐突に紹介されて何のことか解らなかったのが、Physaliaです。Physaliaは、カツオノエボシです。
f:id:dkfj:20191206132345j:plain

 これは実はEBSの内部的なアーキテクチャの解説でした。EBSは利用者からみたら単なる外部ストレージですが、内部的には分散型のマイクロデータベースとなっているとのことです。投票システムなど数学的なバックグランドをもって設計しているのが垣間見れました。
 今のEBSは、びっくりするぐらい信頼性の高いストレージサービスです。もちろんバックアップ前提で運用する必要がありますが、それを忘れそうになるくらいに。でも、EBSが出た当初は、AWSの大規模障害の殆どがEBSだと言えるくらいに、かなりの頻度で障害が発生していました。当時はEBSは生のハードウェアに近いシステムなので障害発生しやすいものかと思っていましたが、それをここまで持ってきたというのに気が付き、改めてAWSの凄さを再認識しました。
 ちなみに、最初期のec2はEBSがなくエフェメラルストレージのみでした。その話しをすると、どうやって使ってたのですかとびっくりされます。皆さん、想像してみてください。

Amazon Builders' Library

 新規で発表されたのがAmazon Builders' Library。これAWSのサービスという訳ではなく、いわゆるクラウド・デザイン・パターン(CDP)です。いろいろなパターンのサービスを、AWSのサービス等を使ってどのようにシステムを作っていくか丁寧に解説されています。超絶オススメで私もしっかりと読んでいこうと思います。欲を言うならば、もう少し画像多めにしてほしかったw

f:id:dkfj:20191206130942j:plain

 ちなみにCDPの概念、日本のAWS界隈では昔からあります。AWS Japanの創成期のメンバーである玉川さんと片山さん、そしてcloupackのCTOの鈴木さんがNinja Of Three として活動し、ユースケースごとに様々なデザインパターンを作り出してまとめられていました。2012年のre:Inventでも発表されています

www.youtube.com

 そして、『Amazon Web Servicesクラウドデザインパターン設計ガイド』として書籍化されています。これ10年前くらいからの活動なので、日本のエンジニアが10年先をいってたなぁと感慨深いものがありました。

感想

 Werner Vogelsのキーノートを聞くと、アーキテクチャの話だけで数万〜数十万の前で話すの凄いなぁと毎回感心します。ちゃんと聞いているとAWSへの理解が深まり、どういう風に設計すればよいのか解ります。キーノートはもう既にYoutubeで公開されているので、ぜひ見てください。Youtubeの機能で英語の字幕が自動生成されるので、英語の勉強しながら見れますよ

www.youtube.com

See Also:

re:Invent2019 AWSの新サービスの1行所感 Andy Jassyキーノート - プログラマでありたい

IAMのマニアックな話も絶賛発売中です

booth.pm