catch-img

ワーナーさんのキーノートを現地で見ました (山下) その2 | AWS re:Invent 2024参加レポート

こんにちは! AWS認定インストラクターの山下です。

2024年12月最初の週にAWS最大のグローバルイベントにして世界最大のクラウドカンファレンス AWS re:Invent 2024 が開催されました。

このブログはAWSのワーナー・ヴォゲルスさんのキーノートをラスベガス現地で目の前で見て感じたことを全3回に渡りレポートしています。

キーノートの内容そのものを知りたい方はYoutubeで動画が公開されていますのでそちらをご覧ください。

また、そもそもAWSって何?詳しく知りたいという方は、こちらの「AWSとは?AWS認定講師が解説」をご覧ください。

目次[非表示]

    1. Canvaの場合
    2. Evolvability 進化可能性
    3. S3チームの組織
    4. 現場で活かせるAWSスキル習得はトレノケートのAWS研修で

 

 

Canvaの場合

th_IMG_2309

オンラインデザインツールのCanvaさんが事例ゲストで登場しました。
私はプレゼンテーション資料を作成するイメージが強いですが、様々なデザインができるオンラインツールです。
最近はAI機能も話題になっていました。
2億2,000万人以上のユーザーに利用されていて、毎秒120万件のリクエストを処理して、毎日230TBづつ増加するデータを162PB管理しているそうです。

th_IMG_2310

Canvaは2014年の時に数名の社員で1部屋に集まって開発をされていました。
お客さんが増えたりニーズが増えて機能を追加していくようになったら、マイクロサービスアーキテクチャが必要になるのはわかっていましたが、まずは素早くサービスを市場投入することが重要でした。
そこで将来的にマイクロサービスに変化することを見込んだモノリスを構築して、素早く初期開発が行われました。
バックエンドはステートレスなEC2 Auto Scalingで、データベースはRDSでした。

th_IMG_2311

スケールの必要性が出てきたときに、もともとマイクロサービスアーキテクチャを考慮した開発を行っていたため、複数のEC2 Auto Scalingへの分解は簡単に行われました。

th_IMG_2313

次にRDSのシャーディングですが、これももともとそう設計していたため、比較的簡単に分解されました。
リードレプリカも読み取り用に効率的に使用して、負荷をスケールしたデータベースで対応しました。

th_IMG_2315

そしてサービスの成長が爆発的になってきたタイミングで必要に応じてDynamoDBに移行されました。

ここは苦労されたそうです。
MySQLが突然巨大化したような状態になったが、限界まで使い続けながらシームレスな移行への準備を進めました。
MySQLのままテーブルやデータの構造を変えながらKey-Valueストアとして稼働させて、準備が整ったタイミングでDynamoDBへ移行されました。

スキーマ管理をデータベースからアプリケーション依存にしたことで、スケーラビリティを得られるようにしました。 

スケールの必要性がないシステムならこういった設計に踏み込まなくてもいいのかもしれません。
でもコンシューマーが使うシステムをスケールさせられないアーキテクチャにしてるということは、ビジネスが発展しないことを願いながら開発運用しているようなものかもしれないと思いました。

進化する力をシステムに実装することが必要なんですね。
システムを進化させる力は継続的なビジネスを維持する力とよく似ていると思いました。 

 

Evolvability 進化可能性

「何も変化しない世界はただの幻想」

本当にそのとおりでその進化の必要性は、遅くても数ヶ月に数回訪れます。
コンシューマーアプリだけではありません。

バックオフィスシステムももちろん変化する必要があります。
会社が新しい事業や新しいサービス、新しい料金プラン、新しい支払い方法、新しい報酬計算を提供するだけでも、システムが対応できなければそれがイレギュラー作業になります。
自動化されないイレギュラー作業は、緊張を伴う手作業、ミスによる心への負担、それらが続く過度な時間を犠牲にします。
だからシステムには進化可能性が必要です。
昔、「システムは建築と同じだから作ったら終わり、それなのに自社でエンジニアを雇うのは無駄」と言っていた人がいました。
その人が管理職をやっている部門は上記のように、過度な作業に追われながら従業員に心身の負担を強いていました。
ワーナーさんのキーノートを見ながらそんなことを思い出していました。

th_IMG_2316

AWS Nitro Systemも進化するための基盤として設計しています。

th_IMG_2317

徐々に温度が上がる鍋では、かえるは気づいた時に茹で上がって手遅れになります。
それと同じで少しの予兆やシグナルを見逃さないようにしなければなりません。
手遅れになる前に。
茹でガエルになる前に。

th_IMG_2318

警告サインを無視してはいけません。
小さな変化のときはまだまだコントロールできるものが、気がついたときには複雑になり管理や理解が簡単にはできなくなります。

th_IMG_2319

CloudWatchも2009年は複雑になり問題が起こっていました。
最初はメトリクスの受信と保存をするシンプルなサービスでした。
そこに機能が追加されていったことにより、複雑になりメガサービスになってしまいました。

th_IMG_2320

シンプルなフロントエンドから、各機能のマイクロサービスをAPIにより呼び出すようにされました。
Amazon自身の1998年のアーキテクチャの話とよく似たエピソードですね。
これで部分的な作り直しもできることにより、特定の言語の制限からも開放されました。
機能追加もシンプルにやりやすくなりました。

th_IMG_2321

新機能を追加する際には、拡張するか新しいマイクロサービスを開発するかの選択肢があります。
拡張はその機能追加のためだけのスピードは早いかもしれませんが、複雑性を高めやすくなる弱点があります。
新しいマイクロサービスを開発すると、シンプルに管理しやすくなりますが、開発するための労力は必要になります。
おそらくAWSの場合は、マイクロサービスチームの配置から必要になると思われます。
既存のサービスを拡張しないほうがいいサインは、担当しているエンジニアがドキュメントではなく頭の中でそのサービスの全体像を把握できなくなったときと言われていました。

 

S3チームの組織

th_IMG_2322

S3チームのアンディさんから、組織と複雑性への対応についての解説がありました。

th_IMG_2323

まず最初にS3チームは、組織の複雑さを解決したわけでないと言われました。
S3というサービスも進化し続けていて、S3チーム全体もマイクロサービスチームが増え続けて大きくなり続けています。
ベストであるために日々学んでいるから、スライドに「Every day is a learning day」と書かれているのですね。

th_IMG_2324

成功しているマイクロサービスチームは常に、間違えているのではないかと不安を抱えている。
うまくいってるときこそ、不安が大きくなり、今を疑い改善しようとします。
だから、S3チームはうまくやれています。
疑えるから改善できるんですよね。
これは私も今までの大したことのない経験ですが、骨身に染みて感じています。

「これまでもずっと同じやり方でやってきたから」
これが今やってるやり方の理由だとしたら、必ず疑うべきです。
エンジニアリングに限らずどんな仕事でも作業でも疑ってきました。
私の場合はだいたいうまくいってない現場が多かったのですが、疑うから改善できました。
だいたいの場合、できたときはうまくいく最適なやり方かもしれませんが、それ以外に変化が生じたらすぐにマッチしないやり方になります。
でもそれを変えずに「今までこうだから」でやり続けると、非効率になったり、ミスを誘発したりします。

だからこそ、仕事する人は日々学ばなければなりません。
システムを複雑にしてしまうのは、変化という責任を果たさない考えや行為なのかもしれません。

「オーナーシップにフォーカスする」
自分がやりたくて、その質を高めるために何をすべきかを全力で考えて、全力で取り組んで結果を確認して再チャレンジします。
自分で選んで失敗するから自分でやり直せます。
そうしているうちに成功します。

自分で選んで自分で責任を果たす。
そうしてこそ自分の仕事を愛せますね。

 

ワーナーさんのキーノートを現地で見ました (山下) その3 へ続きます。

現場で活かせるAWSスキル習得はトレノケートのAWS研修で

AWS re:Inventでは、たくさんのワークショップやデモ等をいち早く体験することができます。

それらの体験は体験として終わらせず、ぜひ実務や現場(仕事)に活かしてみませんか?

 

トレノケートでは、ハンズオンを体験しながらスキルアップを目指すAWS Skill BuilderAWS研修(認定トレーニング)をご提供しています。実務経験を積んだAWS認定講師のトレーニングは受講者の皆様の満足度も高く、楽しみながらスキルアップを目指すことができます。

 

「まずはAWSの基礎を理解したい」「AWS認定資格を取得したい」等、目的や役割に応じてAWSのスキルアップを支援いたします。

トレノケートのAWS研修をもっと詳しく知りたい方は、こちらからご確認ください。
AWS研修(AWS認定トレーニング)|AWS資格取得や基礎習得ならIT研修のトレノケート

 

山下 光洋(やました みつひろ)

トレノケート株式会社 講師。AWS Authorized Instructor Champion / AWS認定インストラクター(AAI) / AWS 認定ソリューションアーキテクト - プロフェッショナル /AWS認定DevOpsエンジニア - プロフェッショナル / AWS 認定デベロッパー - アソシエイト / AWS 認定 SysOps アドミニストレーター - アソシエイト / AWS 認定クラウドプラクティショナー / kintone認定 カスタマイズスペシャリスト他。AWS認定インストラクターとしてAWS認定コースを実施。毎年1,500名以上に受講いただいている。AWS 認定インストラクターアワード2018, 2019を日本で唯一受賞。著書『AWSではじめるLinux入門ガイド』(マイナビ出版社)。共著書『AWS認定試験対策 AWS クラウドプラクティショナー』(SBクリエイティブ社)。前職では2016年にAWS Summitにパネラーとして参加。その前はLotus Technical Award 2009 for Best Architectとして表彰されている。また、各コミュニティの運営にも個人的に関わり、勉強会にてスピーカーや参加をしている。

無料ダウンロード

オススメコンテンツ

オススメ記事

AWS プロジェクトマネジメント PMP 人材育成 ITスキル クラウド AWS認定トレーニング 田中淳子 Microsoft ビジネススキル PMBOKⓇ IT資格 山下光洋 スキルアップ AMA コミュニケーション Azure 人材開発用語集 PMBOK®ガイド入門 人材育成応援ラジオ 新入社員 横山哲也 DX re:Invent AI(人工知能) セキュリティ PMP試験問題に挑戦 reinvent2024 イベント・セミナー Cisco PMBOKⓇガイド 第6版 キャリア 試験体験記 PMBOK®ガイド第6版の変更点 人材開発 生成AI CCIE CCNA 研修 AI人材 ITエンジニア IT人材 ヒューマンスキル DX人材育成 テレワーク ネットワーク リモートワーク 人材トレンド GCP PMP(R)試験問題 第6版対応 PMP合格体験記 Windows Server リーダーシップ AWS_Q&A Active Directory IT資格解説 Voicy書き起こし アセスメント デジタルビジネス 人気コースランキング 大喜利 部下の育成 PMの心得 reinvent2023 グローバル人材 プログラミング リスキリング 新入社員研修といえば AWS_DiscoveryDay IoT OJT reinvent2022 1on1 CCNP Security Windows PowerShell クリエイティビティ コーチング 試験Tips 認定資格 AWSトレーニングイベント Google Cloud ITインフラ PMP試験対策一問一答 Voicyまとめ ダイバーシティ プロジェクト プロトタイプビルダー 新入社員研修 無料セミナー 試験対策問題 GCP無料セミナー Google Cloud Platform G検定 Linux Power Platform oVice voicy アワード クリティカルシンキング