Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DevOpsって何だろう / What is DevOps?
Search
ihcomega56
July 09, 2020
Technology
3
2.3k
DevOpsって何だろう / What is DevOps?
JFrog webinar
動画はこちら!:
https://www.youtube.com/watch?v=l3AYycWpMqc&feature=youtu.be
ihcomega56
July 09, 2020
Tweet
Share
More Decks by ihcomega56
See All by ihcomega56
JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
ihcomega56
0
65
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
1.8k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.3k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
150
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.3k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
240
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
450
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
5.9k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.4k
Other Decks in Technology
See All in Technology
月間60万ユーザーを抱える 個人開発サービス「Walica」の 技術スタック変遷
miyachin
1
140
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
1.4k
三菱電機で社内コミュニティを立ち上げた話
kurebayashi
1
350
信頼されるためにやったこと、 やらなかったこと。/What we did to be trusted, What we did not do.
bitkey
PRO
0
2.2k
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
3
3.4k
Formal Development of Operating Systems in Rust
riru
1
420
I could be Wrong!! - Learning from Agile Experts
kawaguti
PRO
8
3.4k
技術に触れたり、顔を出そう
maruto
1
150
GoogleのAIエージェント論 Authors: Julia Wiesinger, Patrick Marlow and Vladimir Vuskovic
customercloud
PRO
0
150
GeometryReaderやスクロールを用いた表現と紐解き方
fumiyasac0921
0
100
Amazon Route 53, 待ちに待った TLSAレコードのサポート開始
kenichinakamura
0
160
エンジニアリングマネージャー視点での、自律的なスケーリングを実現するFASTという選択肢 / RSGT2025
yoshikiiida
4
3.7k
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Building an army of robots
kneath
302
45k
What's in a price? How to price your products and services
michaelherold
244
12k
Side Projects
sachag
452
42k
Designing Experiences People Love
moore
139
23k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
How to Ace a Technical Interview
jacobian
276
23k
The Invisible Side of Design
smashingmag
299
50k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
BBQ
matthewcrist
85
9.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Transcript
DevOpsって何だろう 2020.07.09 JFrog webinar
自己紹介 Ayana Yokota Developer Advocate §2020年2月よりジョイン §前職までは主にバックエンドの開発 (SIer -> 広告会社
-> 証券スタートアップ) §どうぶつの森に全く飽きないことが 最近の悩み 5XJUUFS!JIDPNFHB ʮΑ͜ͳʯͱ ݺΜͰ͍ͩ͘͞ 1
DevOpsとは JFrog Platformのような 専門ツールを導入して 開発・運用を 効率化すること… 2
JFrog Platformのような 専門ツールを導入して 開発・運用を 効率化すること… DevOpsとは 3 ではない!!
DevOpsとは 顧客に価値を素早く届けるため 開発・運用が協力する 文化的な姿勢・取り組み 4
DevOpsを取り入れる前 • 開発と運用がそれぞれ独立した組織として仕事をする • 互いの理解は十分に行わず、相手の領域での作業が必要な時は 依頼をする 開発 運用 本番環境で不具合が出たので 調査してください
依頼 依頼 指定した時刻・サーバーの ログをください 5
DevOpsを取り入れる前 6 開発 • 運用の協力なくしてはデプロ イができないため、作ったも のを出したいときに出せない • 本番環境で起きていることの 把握が不十分になるため問題
に気付きづらい 運用 • 運用上の考慮が不十分なソフ トウェアを管理しなくてはな らない • 問題が起きてもソフトウェア の詳細が分からないため自力 で解決することができない
DevOpsを取り入れる前 7 開発 • 運用の協力なくしてはデプロ イができないため、作ったも のを出したいときに出せない • 本番環境で起きていることの 把握が不十分になるため問題
に気付きづらい 運用 • 運用上の考慮が不十分なソフ トウェアを管理しなくてはな らない • 問題が起きてもソフトウェア の詳細が分からないため自力 で解決することができない 遅くて不正確 X ストレス
昔の「正しい姿」、今はどうか? • かつては開発と運用が別々に作業することが当たり前だった 8 ಉ͡ձࣾʹ͍Δͷʹɺ ։ൃͱӡ༻͕ରཱͯ͠ ͍Δ͜ͱʜ
昔の「正しい姿」、今はどうか? • 今や時代も使える武器も大きく変化した 9
DevOpsを取り入れた後 •Developers(開発)とOperations(運用)が協業する 開発 運用 10 ։ൃͱӡ༻͔Βऔͬͨ จࣈΛΈ߹Θͤͯ ʮ%FW0QTʯͰ͢
DevOpsを取り入れた後 開発・運用 • 予め運用への影響を考えたソフトウェアを開発・運用できる • 適切な担当者(詳しい人)が本番環境にアクセスしトラブルシューティン グやモニタリングができる • インフラやツールの自動化・情報やリソースの共有により、各自が必 要な時に必要なものにアクセスしやすい
11
DevOpsを取り入れた後 開発・運用 • 予め運用への影響を考えたソフトウェアを開発・運用できる • 適切な担当者(詳しい人)が本番環境にアクセスしトラブルシューティン グやモニタリングができる • インフラやツールの自動化・情報やリソースの共有により、各自が本 当に必要なものに必要な時にアクセスしやすくなる
素早く 自発的な改善 12
DevOpsとは(改めて) 13 顧客に価値を素早く届けるため 開発・運用が協力する 文化的な姿勢・取り組み
DevOpsとは…? 14 ݁ہԿͨ͠Β ͍͍ΜͩΖ͏
DevOpsを支える柱 15 文化 ツール ベスト プラクティス 参考: https://jfrog.com/devops-tools/what-is-devops/ ղऍʹ৭ʑ͋Γ·͢ ྫ͑ʰ&GGFDUJWF
%FW0QTʱ Ͱগ͠ҟͳΔͭͷப͕ ॏཁͱઆ͍͍ͯ·͢
DevOpsを支える柱 • 始めからすべてに取り掛かる必要はないが、最終的にはすべて 達成することを目指す • 他社の事例やベストプラクティスの真似、ツールの導入をすれ ば終わりというものではない 16 ࢝Ίʹ͑ͨ ؒҧͬͨ%FW0QTͷղऍ
ͦΕ͚ͩͩͱΓͳ͍ ͱ͍͏Θ͚Ͱ͢Ͷ
文化 • 開発と運用がひとつのチームで働く • 自動化、コミュニケーション、協力を促進する • 早い段階でのフィードバックと継続的な学習をしながらトライ アンドエラーができる • どのチームにも責任を果たすことを重んじるが、何かあっても
互いに非難はしない 17 ϛεىͬͯͨ͜ΓલͳͷͰ͢ େࣄͳͷى͖ͨ࣌ʹͲ͏͢Δ͔Ͱ ୭ͷ͍͔ͤͰ͋Γ·ͤΜ
ツール • ソースコード管理ツール • CI/CDパイプライン • テストツール • 設定の管理やデプロイを支えるツール •
バイナリ管理ツール • モニタリングツール • セキュリティ対策ツール • コラボレーションツール(チャットやバグトラッキングなど) 18 ࣍ͷΣϏφʔͰ σϞΛ͓ݟͤ͠·͢ʂ
ベストプラクティス 19 ベストプラクティス 理由や補足説明 何でもバージョン管理しよう コードだけでなく、設定ファイル、パラメーターの類など システムに関連するものはすべて管理する インフラの変更もアジャイルに行おう ソフトウェアだけでなくインフラも同じように管理し、 いつでもテストで品質を担保できる状態にする
何でも自動化しよう マニュアルオペレーションはミスの温床となるしスケールしない ため、デプロイやテストなどは自動化してCI/CDに組み込む 継続的インテグレーション・ デプロイ・デリバリーを実現しよう 開発環境から本番環境までソフトウェアの提供はCI/CDを 用いる。途中で問題が起きても素早くリカバリできるようにする 統一されたツール・プラットフォームを 採用しよう 開発、ステージング、本番どの環境でもできるだけ同じツール、 設定、ハードウェアリソースを使う。それにより、開発時に 動いたものが他の環境でも正常に動作することを保証する
それぞれの柱を深堀りする方法 • 既にたくさんある書籍・ブログ・スライドなどを活用して見識 を深めよう • 例えば文化や組織は経験を積めば雰囲気で改善していけると捉 えられることもあるが、科学的な理論や方法論もたくさんある • 現場の生の声を聞くことも有効である。エンジニアにとって、 個人ブログ、技術コミュニティ、SNSなどは大事な勉強の材料
と言える • 知識を身につけたら満足するのではなく、実行してみる。そし て、実行してみて気付いたことや感じたことを発信すると頭が 整理される上に新たな情報を得るチャンスとなる 20
それぞれの柱を深堀りする方法 • DevOpsがきっかけで学習する場合も、参考にする資料は DevOpsを謳っていないもので良い。次のようなキーワードか ら辿ってみると色々見つかる 21 文化 ツール • アジャイル
• リーン • スクラム • エンジニアリング組織 • エンジニアリングマネージャー • チームビルディング • CI/CD • Infrastructure as Code • 具体的なツール名(Git, Docker, Kubernetesなど) • ベンダー名 ϕετϓϥΫςΟε ྻͷ߹ΘٕͤͰ ͖ͬͱݟ͔ͭΓ·͢ 上記はあくまで「一体何から調べたらいいの!?」という方向けの参考。情報の見つけ方は徐々に上達するし、 段々とトピック同士の関連も分かるようになってくるので焦りは禁物。
取り組みが上手くいっているかの点検 • DevOpsの成果や成熟度は次のような指標で測ることができる • 3つの柱すべてを満たしていない状態で数字だけに着目しても 意味がない • チームに合った軸を設けて点検していくことが大事である 22 リードタイム
リカバリタイム デプロイの頻度 変更の失敗率 コーディングから 本番環境への リリースまで どのくらいかかるか 本番環境で 問題が起きた時 サービスの復旧に どのくらいかかるか 本番環境に 何回リリースしたか リリースを行い 変更を反映した際に 何回失敗したか
DevOpsの先へ: DevSecOps •Securityも共に歩む 開発 運用 23 セキュ リティ
DevOpsの先へ 開発 運用 24 セキュ リティ QA 社内IT (情シス)
DevOpsの先へ • 「別々のチームで別々の目標を見ていた人たちが協力すること でメリットを享受する」という考え方は他にも適用できる • 組織の構造や課題によって応用の仕方を変えてみる 25
DevOpsを取り入れるにあたって • DevOpsは目的ではなく手段のひとつである • DevOpsの導入ですべての課題がすぐ解決するわけではない • 目指すものは顧客に素早く価値を提供し続けることであり、開 発に関わる全員の最終的なゴールをそこに据える必要がある • 会社や部署といったなるべく大きな単位で志したほうが、所謂
「エラい人」の説得コストが減って嬉しい • 実現の仕方はチームによって大きく異なる • 改善し続けることが大切なので、終わりはない 26
なんだか大変そう… 27 ࣗʹ Ͱ͖Δͷ͔ͳ ্࢘Λઆಘͯ͠ ৫Λม͑ͳ͍ͱ ͍͚ͳ͍ͷʁ ͨ͘͞Μ ษڧ͠ͳ͍ͱ ͍͚ͳ͍ͷʁ
ۤ࿑ͯ͠ औΓΉ Ձ͋Δͷʁ ձࣾͱ͔৫ͱ͔ ݴΘΕͯࢲʹ ՙ͕ॏ͍Αʜ
簡単ではないけど価値がある • エンジニア個人にとっても嬉しい • • • • • • •
• 嬉しいと感じられそうなところから取り入れていけば良い • 28 ͍͚͠Ͳ৽͍͜͠ͱʹ νϟϨϯδ͢Δͷ͕ ͖ͳํʹͽͬͨΓͰ͢
まずは考え、少しずつ広げる 29 ݸਓͰ ߟ͑ͯΈΔ ࠓ͋Δ՝Կ͔ʁ Ͳ͏ͳͬͯཉ͍͔͠ʁ ݸਓͰ ࣮ߦͯ͠ΈΔ ୭͔ͱ ߟ͑ͯΈΔ
ͯ͠ΈΔ νʔϜͰ ߟ͑ͯΈΔ ͯ͠ΈΔ ୭͔ͱ ࣮ߦͯ͠ΈΔ νʔϜͰ ࣮ߦͯ͠ΈΔ 『カイゼン・ジャーニー』 『チーム・ジャーニー』
30 Thank you
参考文献 • 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