MEGAZONE

MEGAZONEブログ

Dr.Werner Vogels Keynote
Keynote re:Invent 2023

Dr.Werner Vogels Keynote

Pulisher : MEGAZONECLOUD Tech Team
Description : re:Invet2023 Day4 基調講演レポート

12年目のキーノートスピーカーとして参加しているWerner Vogels博士によるリインベントの最後のキーノートが行われました。 今回のキーノートでは、これまでGen AIとデータのみを強調してきた他のキーノートとは異なり、弾力的でコストを意識したアーキテクチャを設計するためのベストプラクティスを取り上げました。
どのような内容が共有されたのか、本レポートを通じて紹介させていただきます。

PBS企業は系列会社にプログラムを開発会社に配信したり、ストリーミングする企業です。

この企業は初期にコスト削減だけに集中して既存のソフトウェアを維持したため、アーキテクチャ構造を変えられませんでした。 持続可能性、コストの両方を考慮する必要がありますが、この時、AWSと一緒にアーキテクチャを再構成して解決しました。

ビルダーは常にデザイン、生成、最適化を念頭に置き、顧客との緊密な相互作用を経なければなりません。要件を素早く把握して測定しているリソース要素を理解し、どのような影響を与えるかを常に念頭に置いておく必要があります。

結局、大きな文脈では、コストと持続可能性を絶対に考慮する必要があり、それに伴うアーキテクチャも評価できるようになる必要が非常に明確になりました。

動作要素を開発することだけに集中してそれ以外のことを実際考慮しない場合が多いですが、持続可能な開発環境のためには、全体アーキテクチャと顧客のビジネスのための開発方向を追求する方向性を持つことがいいと思います。

第一に、非機能的な要件にも費用を策定してください。
非機能的要件とは、開発及び運営をする上で、機能実装以外にセキュリティ要件、可用性要件など、実際の機能以外の要件を意味します。これらのコストは非常に見逃しやすく、後でビジネス運営に問題を与えることもあります。

第二に、システムのコストをビジネスと同じようにしましょう。
システムの耐久性は、コストがどれだけビジネスと一致するかによって決まります。
例えば、電子商取引会社であれば、基準指標は注文数であり、注文数が増えればインフラ使用と運営コストが増加します。ビルダーとして私たちは常に収益について考えなければなりません。

第三に、アーキテクチャは常にTrade offが存在します。
すべての決定にはバランスを取ることが重要です。ビジネスと技術的な金額のバランスをとることは非常に重要であり、価値を最大化することを常に心に留めておく必要があります。コストを最小化することだけに集中してはいけません。

第四に、観察していないシステムは未知のコストが発生します。監視システムへの投資も重要であることを忘れないでください。

第五に、コスト最適化アーキテクチャでコストを調整します。
アプリケーションをできるだけ調整可能なビルディングブロック単位で作ってみてください、重要度によって階層化してください。 このような階層を定義すると、コストと性能に対する妥協が容易になり、節約が可能になります。

第六に、コスト最適化を段階的に行ってください。
システムへの展開が完了し、一度最適化を完了したとしても、継続的に観察して性能とコストを計算するようにしましょう。

七番目、挑戦しない成功は仮定につながります。私たちはいつもこうしてきた」というのは非常に危険な言葉です。

コストのような非機能的な要素を見ることは非常に重要ですが、簡単ではないことの一つです。 myApplicationsはAWSでより少ない労力でアプリケーションを運営するのに役立つサービスです。このサービスを利用すれば、AWSアプリケーションのコスト、状態、セキュリティおよびパフォーマンスをより簡単に管理およびモニタリングすることができます。

コストについてはAWS Cost Explorer、セキュリティ結果についてはAWS Security Hub、アプリケーションパフォーマンスについてはAmazon CloudWatch Application SignalsなどのAWSサービスを使用して、アプリケーションダッシュボードからワンクリックで特定のアプリケーションリソースに対する措置を取ることもできます。現在、多くのサービスを運営してモニタリングし、サービスのコストをアプリケーション別に見たいお客様にとっては非常に重要な機能になると思われます。

使用例

・キーワード、タグ、またはAWS CloudFormationスタックで検索し、リソースグループを統合してアプリケーションのライフサイクル全体を管理します。

・コストと使用量ウィジェットは、アプリケーションの現在および予想月末のコスト、請求された上位5つのサービス、月別のアプリケーションリソースコストのトレンドチャートなど、AWS Cost ExplorerのAWSリソースのコストと使用量を可視化します。

・コンピューティングウィジェットは、アプリケーションのコンピューティングリソース、アラートが発生した情報、およびAmazon EC2インスタンスのCPU使用率やAWS Lambda呼び出しなどの基本的な測定値を示すCloudWatchのトレンドチャートをまとめます。

・現在、ソウルリージョンは未サポート

一つのアプリケーションにも多数のサービスが複雑に相互依存関係にある場合が多く、一つのアプリケーションを監視するためには、多くの時間と労力がかかる複雑なプロセスが追加されることになります。

Amazon CloudWatch Application Signalsは、アプリケーションのパフォーマンスに関するベストプラクティスに基づいてアプリケーションを自動的に計測するのに役立ちます。お客様は、主要なメトリック(リクエスト数、可用性、レイテンシーなど)を示す標準的なダッシュボードが用意されており、ビジネスにとって最も重要な特定のタスクを監視するために、アプリケーションにサービスレベル目標(SLO)を定義することができます。

例えば、Webページがローリング28日間に99.9%の時間内に2000ms以内にレンダリングされるべきであるという目標を設定することも可能です。

Generative AIに焦点を当て、開発生産性を高める新しいサービスは以下の通りです。

SageMaker Studio Code EditorがGAされました。 これにより、SageMaker studioでCode Editorを通じてOpen VSXレジストリのVS Code互換拡張機能とAWS toolkitにアクセスすることができます。 また、Amazon CodeWhispererとAmazon CodeGuruが提供するAIベースのコーディング支援ツールとセキュリティスキャンツールを使用することができます。

SageMaker Studioにログインし、ブラウザから直接Code Editorを起動できます。Code Editorを使用すると、Open VSXレジストリにある数千のVS Code互換拡張機能や、AWSでアプリケーションを開発およびデプロイするために事前設定されたVisual Studio Code用AWSツールキットにアクセスできます。

vsCodeは一般的によく使われるオープンソース基盤のIDEツールです。 このvsCodeでUIを活用したノーコード基盤のIaCを始めることができます。AWS Application ComposerはCloudformationコードをUIでドラッグアンドドロップだけで作ってくれるサービスで、開発者たちが簡単にインフラをIaCで管理できるように出てきたサービスです。このようなサービスがvsCodeでサポートされるという事実は、当該Composerで作ったYamlファイルに対する作成と管理、そして当該vsCodeで製作されたコードが一箇所で管理しやすくなったことが大きな意味を持っています。

DEで直接AWS Application Composerを使用して最新のアプリケーションを視覚的に構築し、Amazon CodeWhispererを使用してインフラをコードテンプレートとして繰り返し開発することができます。使用するためにはプラグインをインストールする必要があり、AWS Toolkitプラグインが既にインストールされている場合は、プラグインをアップデートした後、Application Composerを使用することができます。

レガシー環境のモノロジック環境で構築されたものたちのコストの無駄がどれだけひどいか、そしてMSAでアーキテクチャを変更しなければコストを減らすことができ、それが運営の持続性を高めることを認識していますが、MSAで小さく分けてアーキテクチャを設計すると運営のメンテナンスが大変で、管理する難易度が上がります。

そのような問題を解決するためにAWS Management Console myApplicationsとAmazon CloudWatch Application Signalsをリリースし、顧客がより簡単に管理できるようにリリースしたようで、AWSがクラウドの需要、そしてコストについて停滞した状況を打開するために努力していると感じました。

また、クラウド使用時に継続的にコストを確認して管理したり、セキュリティの脅威に対する結果を定期的あるいはリアルタイムで確認して措置を取る必要がありますが、実際意識して確認するのは難しいです、

今日紹介されたモニタリング機能を有効にして継続的に確認すれば、費用効率的に管理したり、継続的にセキュリティの脅威を管理することができると思います。

どう見れば簡単な機能だと思うかもしれませんが、企業で何を表現するかによって十分に実用的な機能になると思います。


注目の新規サービス
・AWS Management Console myApplications
・Amazon CloudWatch Application Signals
・Amazon SageMaker Studio Code Editor
・AWS Application Composer in VS Code
・Amazon Inspector CI/CD Container Scanning

ブログ一覧

この記事の読者はこんな記事も読んでいます