Upgrade to Pro — share decks privately, control downloads, hide ads and more …

30分でわかる 「クラウドアプリケーション10の設計原則」

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Toru Makabe Toru Makabe
May 15, 2024
1.3k

30分でわかる 「クラウドアプリケーション10の設計原則」

※リンクを効かせたい場合はダウンロードしてください

インフラエンジニアBooks 企画
https://infra-eng-books.connpass.com/event/312410/

Avatar for Toru Makabe

Toru Makabe

May 15, 2024
Tweet

More Decks by Toru Makabe

Transcript

  1. About me • 真壁 徹(まかべ とおる) • 日本マイクロソフト株式会社 • シニア

    クラウドソリューションアーキテクト(App Innovation) • アプリケーションとプラットフォームの間にあるグレーゾーンを得意とする • 国立 北陸先端科学技術大学院大学 修了 修士(情報科学) • 分散コンピューティングの学びなおし/研究のため、社会人コースへ • 研究: 分散コンピューティング基盤における宣言的構成管理(2021年 情報処理学会 山下記念研究賞) • 主な著書 • しくみがわかる Kubernetes(翔泳社) • クラウドアプリケーション 10の設計原則(インプレス)
  2. ベストプラクティスの「負の側面」  特定の環境、条件下での「ベスト」である  いまのあなたとチームにとってベストかは、わからない  複数のベストプラクティスが衝突、矛盾することもある(例: A製品とB製品のベストプラクティスが矛盾)  変化する

     製品はフィードバックを受けて変化する  使い手の環境も変化する  合わせて、ベストプラクティスも変化する  たとえば、そのベストプラクティスが半年後にベストかは、わからない  鵜呑みにしてしまう  自分の頭で考えなくなってしまう
  3. とはいえ、すべてを吟味してもいられない ベスト プラクティスA ベスト プラクティスB ベスト プラクティスC ベスト プラクティスD 言わんとすること

    を理解し 他のベストプラクティスとの一 貫性を確認し 内容に変化がないか定期的 に確認し 自分たちの環境や条件 に合うか議論し
  4. いいドキュメントがある、しかし  全体的に端折り気味  読み手の知識に期待している  翻訳がやや惜しい  もっと具体例がほしい 

    エピソードやサンプルコードなど  クラウド中立にできそう  Azureに限らない話が多い Azure アプリケーションの設計原則 - Azure Architecture Center | Microsoft Learn
  5. この本は筆者の越境の物語でもある  筆者はアプリケーション開発者として技術者のキャリアをはじめたが、ここ数年は インフラ技術者として仕事をしていた  「インフラ野郎」のキャラ設定をしていた時期もある  しかしクラウドでは「インフラだけでは解決が難しい」課題に度々ぶつかるように  そこで異動し、仕事の軸足をアプリケーションに移した

     インフラ技術者の仕事がなくなるとは思っておらず、クラウドでも引き続き重要 (たとえば、全社ネットワークの設計をアプリケーション開発者がやるべきとは思わない)  しかし、アプリケーション担当の帽子をかぶったほうがやりやすいことがある  そのような経験や想いを本書に込めた
  6. 概要 • 自己復旧がなぜ重要か • 自己復旧の基本的なアプローチ • 推奨事項 • 失敗した操作を再試行する •

    リモートサービスを保護する(サーキットブレーカー) • リソースの消費や障害を閉じ込める (バルクヘッド) • キューで負荷を平準化する • 失敗したトランザクションを補正する • 実行時間の長い処理にチェックポイントを設ける • 潔く機能を停止する、減らす • クライアントを制限する • など
  7. 分散コンピューティングの「落とし穴」 • ネットワークは信頼できる。 • レイテンシはゼロである。 • 帯域幅は無限である。 • ネットワークはセキュアである。 •

    ネットワーク構成は変化せず一定である。 • 管理者は1人である。 • トランスポートコストはゼロである。 • ネットワークは均質である。 分散コンピューティングの落とし穴 - Wikipedia サン・マイクロシステムズのピー ター・ドイチュらが提唱した、初 めて分散アプリケーションを開 発するプログラマが想定してし まいがちな、「誤った前提」を集 めたもの