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
73
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / 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
250
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
460
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
6k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.5k
Other Decks in Technology
See All in Technology
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
19k
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
170
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
310
Two Blades, One Journey: Engineering While Managing
ohbarye
4
2.5k
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
9
840
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.5k
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
230
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
120
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
540
JAWS DAYS 2025 アーキテクチャ道場 事前説明会 / JAWS DAYS 2025 briefing document
naospon
0
2.8k
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
44
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
It's Worth the Effort
3n
184
28k
The Cult of Friendly URLs
andyhume
78
6.2k
Designing for humans not robots
tammielis
250
25k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Rails Girls Zürich Keynote
gr2m
94
13k
How GitHub (no longer) Works
holman
314
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Agile that works and the tools we love
rasmusluckow
328
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
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