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

クラウドネイティブの複雑さに向き合うあなたへ / If you are facing the complexity of Cloud Native

クラウドネイティブの複雑さに向き合うあなたへ / If you are facing the complexity of Cloud Native

CloudNative Days Tokyo Committeeが主催するイベント CloudNative Days Tokyo 2021 で発表した「クラウドネイティブの複雑さに向き合うあなたへ」の登壇資料です。
https://event.cloudnativedays.jp/cndt2021/talks/1251

クラウドネイティブなアプローチを導入したシステムの構築にも慣れてきた頃。気がつけば存在している見知らぬリソース、増え続けるマイクロサービス、管理しきれないInfrastructure as Code、乱立するGitリポジトリ、動かないまま放置されたCI/CDパイプライン、誰も見ないモニタリングダッシュボード……。
変化し続けるビジネスニーズに応えられるような、変更に強いシステムを構築していたはずが、いつの間にか複雑なものになってしまったと感じているあなたへ。本セッションでは、クラウドネイティブな実践を続けていくために大切にすべきポイントについて考えていきます。

TERAOKA Keisuke

November 05, 2021
Tweet

More Decks by TERAOKA Keisuke

Other Decks in Technology

Transcript

  1. 寺岡慶佑 (とばち) • クラスメソッド株式会社 ◦ ソリューションアーキテクト • 2021 APN AWS

    Top Engineer • 好きなAWSサービス ◦ AWS App Mesh ◦ Amazon EKS • 趣味 ◦ 紅茶、ビール 発表者紹介 @toda_kk
  2. LB やがて来る複雑さ DB Queue Storage Function ? ? App ?

    ? ? ? ? DB ? ? App LB App DB ? App App ? App ? App
  3. LB やがて来る複雑さ DB Queue Storage Function ? ? App ?

    ? ? ? ? DB ? ? App LB App DB ? App App ? App ? App
  4. • 登場する技術要素が多くなり、リソースが散らばりがち になる? ◦ クラウドベンダーが提供するマネージドサービス ◦ サードパーティのSaaS製品、OSSツール • 変更が容易な分、不要なリソースが増えやすい? ◦

    作ったものを放置しておくと、リソースは増えていく一方になる ◦ 「作りっぱなし」はコストもかかる • 好き勝手にいろいろできちゃう? ◦ アプリケーションとインフラの境界が曖昧になる ◦ チーム間の担当範囲が曖昧になる クラウド技術による複雑化?
  5. • 登場する技術要素が多くなり、リソースが散らばりがち になる? ◦ クラウドベンダーが提供するマネージドサービス ◦ サードパーティのSaaS製品、OSSツール • 変更が容易な分、不要なリソースが増えやすい? ◦

    作ったものを放置しておくと、リソースは増えていく一方になる ◦ 「作りっぱなし」はコストもかかる • 好き勝手にいろいろできちゃう? ◦ アプリケーションとインフラの境界が曖昧になる ◦ チーム間の担当範囲が曖昧になる クラウド技術による複雑化?
  6. • 現実は複雑 • 社会も複雑 • ビジネスも複雑 • システムも複雑 • 組織も複雑

    • 人間関係も複雑 • 人間の心理も複雑 この世は複雑
  7. クラウドネイティブとはベストプラクティスである クラウドなどを使う際のベストプラクティスを文言化したものが、クラウドネイティ ブだと思います。あくまでも、ベストプラクティスとしての属性を表現したもので す。それを達成するために、技術やコンセプト、考え方があります。これらについて は、現在とは別のものが、今後新たに出てくる可能性があります。 今のようにクラウドや新しい技術が出てきて、全てプログラマブルになって効率化で きる時代になりました。人間がやれば分・時間単位で掛かる処理が、コンピューター ではミリ秒、ナノ秒でできてしまいます。CNCFの定義による「スケーラブルな…… 能力」というのは、「人間の限界を超えて自動化していこうよ」と言っているのだと 思います。

    ここで言いたいのは、「自らのビジネスの中でスケーラブルなものを作っていきま しょう」ということです。規模の大小問わず、現時点で自らのビジネスを最も効率よ く回す仕組みを、クラウドネイティブで作っていくという意識が大事です。 草間一人×青山真也 クラウドネイティブ対談(1) 「クラウドネイティブ」はどう誤解されているか https://atmarkit.itmedia.co.jp/ait/articles/1911/04/news001.html
  8. • 導入する技術や作成するリソースの目的が曖昧 ◦ どんな課題を解決するものなのか? ◦ • システムに対する責任の所在が曖昧 ◦ 課題を誰が解決すべきなのか? ◦

    • 導入による効果が曖昧 ◦ 課題を解決できているのか? ◦ クラウドネイティブの複雑さはどこからやってくるのか
  9. • 導入する技術や作成するリソースの目的が曖昧 ◦ どんな課題を解決するものなのか? ◦ 技術選定やリソース作成の目的を明確にする • システムに対する責任の所在が曖昧 ◦ 課題を誰が解決すべきなのか?

    ◦ チームにオーナーシップを持たせて責任の所在を明確にする • 導入による効果が曖昧 ◦ 課題を解決できているのか? ◦ 導入による効果を計測し、具体的なアクションに落とし込む クラウドネイティブの複雑さに向き合う
  10. • そのチームが必要なことに集中させる ◦ 権限制御によって、他チームのシステムは触れないようにする ▪ AWSアカウントやVPC ▪ KubernetesクラスターやNamespace ▪ Gitリポジトリ、CI/CDパイプライン

    ◦ セキュリティガードレールによる権限の境界により、チームの責 任の境界を明確にする ▪ やるべきこと/やらなくていいこと の範囲を明確にする チームにオーナーシップを持たせる
  11. • 具体的な評価指標を作成し、計測する ◦ デリバリーを高速化したい → 1日あたりのデプロイ回数 ◦ 可用性を向上したい → LBの5xx系エラー率

    • チームのパフォーマンスに関する4つの指標 ◦ コードのコミットから本番稼働までのリードタイム ◦ デプロイ頻度 ◦ 障害発生からの平均修復時間 ◦ デプロイに伴う変更失敗率 • 継続的に計測し、改善する Nicole Forsgren Ph.D, Gene Kim, Jez Humble『LeanとDevOpsの科学』(インプレス) 導入による効果を計測する