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

DevOpsって何だろう / What is DevOps?

DevOpsって何だろう / What is DevOps?

ihcomega56

July 09, 2020
Tweet

More Decks by ihcomega56

Other Decks in Technology

Transcript

  1. 自己紹介 Ayana Yokota Developer Advocate §2020年2月よりジョイン §前職までは主にバックエンドの開発 (SIer -> 広告会社

    -> 証券スタートアップ) §どうぶつの森に全く飽きないことが 最近の悩み 5XJUUFS!JIDPNFHB ʮΑ͜ͳʯͱ ݺΜͰ͍ͩ͘͞ 1
  2. DevOpsを取り入れる前 6 開発 • 運用の協力なくしてはデプロ イができないため、作ったも のを出したいときに出せない • 本番環境で起きていることの 把握が不十分になるため問題

    に気付きづらい 運用 • 運用上の考慮が不十分なソフ トウェアを管理しなくてはな らない • 問題が起きてもソフトウェア の詳細が分からないため自力 で解決することができない
  3. DevOpsを取り入れる前 7 開発 • 運用の協力なくしてはデプロ イができないため、作ったも のを出したいときに出せない • 本番環境で起きていることの 把握が不十分になるため問題

    に気付きづらい 運用 • 運用上の考慮が不十分なソフ トウェアを管理しなくてはな らない • 問題が起きてもソフトウェア の詳細が分からないため自力 で解決することができない 遅くて不正確 X ストレス
  4. ツール • ソースコード管理ツール • CI/CDパイプライン • テストツール • 設定の管理やデプロイを支えるツール •

    バイナリ管理ツール • モニタリングツール • セキュリティ対策ツール • コラボレーションツール(チャットやバグトラッキングなど) 18 ࣍ͷ΢ΣϏφʔͰ σϞΛ͓ݟͤ͠·͢ʂ
  5. ベストプラクティス 19 ベストプラクティス 理由や補足説明 何でもバージョン管理しよう コードだけでなく、設定ファイル、パラメーターの類など システムに関連するものはすべて管理する インフラの変更もアジャイルに行おう ソフトウェアだけでなくインフラも同じように管理し、 いつでもテストで品質を担保できる状態にする

    何でも自動化しよう マニュアルオペレーションはミスの温床となるしスケールしない ため、デプロイやテストなどは自動化してCI/CDに組み込む 継続的インテグレーション・ デプロイ・デリバリーを実現しよう 開発環境から本番環境までソフトウェアの提供はCI/CDを 用いる。途中で問題が起きても素早くリカバリできるようにする 統一されたツール・プラットフォームを 採用しよう 開発、ステージング、本番どの環境でもできるだけ同じツール、 設定、ハードウェアリソースを使う。それにより、開発時に 動いたものが他の環境でも正常に動作することを保証する
  6. それぞれの柱を深堀りする方法 • DevOpsがきっかけで学習する場合も、参考にする資料は DevOpsを謳っていないもので良い。次のようなキーワードか ら辿ってみると色々見つかる 21 文化 ツール • アジャイル

    • リーン • スクラム • エンジニアリング組織 • エンジニアリングマネージャー • チームビルディング • CI/CD • Infrastructure as Code • 具体的なツール名(Git, Docker, Kubernetesなど) • ベンダー名 ϕετϓϥΫςΟε͸ ྻͷ߹ΘٕͤͰ ͖ͬͱݟ͔ͭΓ·͢ 上記はあくまで「一体何から調べたらいいの!?」という方向けの参考。情報の見つけ方は徐々に上達するし、 段々とトピック同士の関連も分かるようになってくるので焦りは禁物。
  7. 取り組みが上手くいっているかの点検 • DevOpsの成果や成熟度は次のような指標で測ることができる • 3つの柱すべてを満たしていない状態で数字だけに着目しても 意味がない • チームに合った軸を設けて点検していくことが大事である 22 リードタイム

    リカバリタイム デプロイの頻度 変更の失敗率 コーディングから 本番環境への リリースまで どのくらいかかるか 本番環境で 問題が起きた時 サービスの復旧に どのくらいかかるか 本番環境に 何回リリースしたか リリースを行い 変更を反映した際に 何回失敗したか
  8. 簡単ではないけど価値がある • エンジニア個人にとっても嬉しい • • • • • • •

    • 嬉しいと感じられそうなところから取り入れていけば良い • 28 ೉͍͚͠Ͳ৽͍͜͠ͱʹ νϟϨϯδ͢Δͷ͕ ޷͖ͳํʹ͸ͽͬͨΓͰ͢
  9. まずは考え、少しずつ広げる 29 ݸਓͰ ߟ͑ͯΈΔ ࠓ͋Δ՝୊͸Կ͔ʁ Ͳ͏ͳͬͯཉ͍͔͠ʁ ݸਓͰ ࣮ߦͯ͠ΈΔ ୭͔ͱ ߟ͑ͯΈΔ

    ࿩ͯ͠ΈΔ νʔϜͰ ߟ͑ͯΈΔ ࿩ͯ͠ΈΔ ୭͔ͱ ࣮ߦͯ͠ΈΔ νʔϜͰ ࣮ߦͯ͠ΈΔ 『カイゼン・ジャーニー』 『チーム・ジャーニー』
  10. 参考文献 • Jennifer Davis, Ryn Daniels『Effective DevOps ―4本柱による持続可能な組織文化の育て方』(オライ リー・ジャパン) •

    Gene Kim, Jez humble, John Willis, Patrick Debois『The DevOps ハンドブック 理論・原則・実践 のすべて』(日経BP) • 「What is DevOps?」https://jfrog.com/devops-tools/what-is-devops/ • 「DXとかDevOpsとかのなんかいい感じのやつ」https://www.slideshare.net/TokorotenNakayama/dxdevopstechlive 31