Dr.WernerのKeynoteは全てのSREに聞いてほしい話だった

この記事は、[CyberAgent Group SRE Advent Calendar](https://qiita.com/advent-calendar/2023/ca-sre) 2023の7日目の記事です。
4年ぶりに、AWS re:Inventに現地参加していたのですが、今年のWerner先生のKeynote（特に前半）がとてもよく、SREを推進する上でも非常に大事なことをお話しされていたので、それについてまとめてみました

# AWS re:Invent 2023 - Keynote with Dr. Werner Vogels
https://www.youtube.com/watch?v=UTRBVPvzt9w

# ざっくりどんな事を話していたか
クラウド移行によって、様々な制約からは解放されたが、コストを考えてアーキテクトする必要はある
![keynote00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/26828777-c789-fe54-30b3-d6805e7d96c0.png)

そしてコストを考えるということは、サステナビリティを考えることでもある
![keynote_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/d9f9eb96-ac1e-05d4-6a39-e4e7323645db.png)
といった感じで、コストとサステナビリティについての話から、WenerがAmazon CTOとして、過去20年間のアーキテクトする上でのコストと持続可能性の考え方や経験をまとめた本（The Frugal Architecture）をベースに、7つの法について紹介していました。途中、NUBANKの事例の話もありました。そして、制約が創造性を育てるというものでした。
ざっくりいうと前半は、コストとサステナビリティ。後半は、ML/AIって感じでした。

# The Frugal Architecture
https://www.thefrugalarchitect.com/

![keynote_08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/81009776-652d-f025-1095-0b3ceec9f4a2.png)
- Design
    - Make Cost a Non-functional Requirement.
        - Consider cost at every step
    - Systems that Last Align Cost to Business.
        - Pay off your debts
    - Architecting is a Series of Trade-offs.
        - Align your priorities
- Measure
    - Unobserved Systems Lead to Unknown Costs.
        - Definr your meter
    - Cost Aware Architectures Implement Cost Controls.
        - Establish your tiers
- Optimize
    - Cost Optimization is Incremental.
        - Continuously optimize
    - Unchallenged Success Leads to Assumptions.
        - Disconfirm your beliefs

## 設計（Design）
- コストやサステナビリティもビジネスの非機能要件として同等の重みとして扱う必要がある
![keynote_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/5ce46cc0-fe0d-b5be-3da6-f5aa9d942cec.png)
- コストと収益を調整する必要がある
![keynote_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/56d258e6-785e-3d5d-1071-3bfd262a77f2.png)
- ビジネスと協力して優先順位を調整する必要がある。そのためにメトリクスの可視化が重要であり、行動が変わる可能性がある。
![keynote_13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/5d82ddc7-a0ea-c58b-5d5a-baf8c8cb724b.png)

## 測定(Measure)
- コスト、ヘルス、セキュリティ、パフォーマンスを可視化する（メーターを定義する）必要がある
![keynote_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/5379f35e-5078-04d3-4dd6-ab97a731f92e.png)

https://aws.amazon.com/jp/blogs/aws/new-myapplications-in-the-aws-management-console-simplifies-managing-your-application-resources/

![keynote_15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/ef8e48bb-131e-076f-23d6-a111523a1b5f.png)

https://aws.amazon.com/jp/blogs/aws/amazon-cloudwatch-application-signals-for-automatic-instrumentation-of-your-applications-preview/

- 調整可能なアーキテクチャである必要がある。そしてティアを設定する必要がある。
![keynote_16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/46ff578b-37b4-c829-6d1f-f20d9c5ae16f.png)
![keynote_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/c70d46ed-a02e-4552-dfb2-e5d9bc334fdd.png)

## 最適化(Optimize)
- 継続的に最適化を行う必要がある
![keynote_18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/d70a4f03-3568-5373-b31a-8bb49f34a9fb.png)

- 自分の信念を否定する必要がある。
　　- 「私たちは常にこの方法でやってきた」という英語で最も危険な呪いのフレーズがある
　　- アプリケーションの開発コストは運用コストに相当し、コスト最適化するためには、開発言語も選択する必要がある。
![keynote_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/c01291de-aa9e-fc82-0f14-c8b410615347.png)
![keynote_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/c1c64a3c-7bdc-fc20-85c1-dbea5af2d53d.png)

# KeynoteKeynoteを聴いて思ったこと
普段、SREとして働いている自分にとって、今回のキーノートを本当にドンピシャの内容でした。昨今の円安の影響で、クラウドコストはバカにならない状態であり、コスト削減を強いられる状況の人も多いのではないでしょうか？ただ、常々単純にコストを削減するというのは、一歩間違えると自らの首を絞める可能性もあり、本当のコスト最適化というのは、ビジネスやフェーズ毎のアーキテクチャと一緒に考える必要があるのではないかと思っていたので、めっちゃ頷きながら現地で聞いてました。そして全てのSREは、公開されている動画を是非見たほうが良いと思いました。（本当は、SREだけでなく、全てのエンジニア、ビジネスサイドの人にも見てほしい）
今後、社内で推進する上で悩んだ時は、Keynote内でWerner先生が言っていた「If Ican do it, you can do it」という言葉を思い出して頑張ろうと思います。この記事では、あまり新サービスについて触れてはいないですが、個人的には、Amazon CloudWatch Application Signalsには期待してます！！
![keynote_09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43504/f4c1da1b-e8b8-5f3b-4924-dff912932bb0.png)

明日は、@ktok_k さんの「k6 + Github Actions で開発の信頼性向上を目指した話」です。お楽しみに〜