Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DevOpsって何だろう / What is DevOps?
Search
ihcomega56
July 09, 2020
Technology
2.6k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DevOpsって何だろう / What is DevOps?
JFrog webinar
動画はこちら!:
https://www.youtube.com/watch?v=l3AYycWpMqc&feature=youtu.be
ihcomega56
July 09, 2020
More Decks by ihcomega56
See All by ihcomega56
JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
ihcomega56
1
190
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
2.1k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.7k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
280
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.5k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
350
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
570
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
6.9k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.8k
Other Decks in Technology
See All in Technology
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
210
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
520
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
0
120
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
17
120k
しろおびから始める!ログ活用の第一歩
shumei_ito
0
410
形式手法を使って仕様をコーディングしよう
mikanichinose
0
180
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
390
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
520
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
150
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
210
Claude Code本は、どのように執筆チームで書かれたか
oikon48
0
280
AI Made Us Faster at Solving the Wrong Problems
marceloancelmo
0
180
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
GraphQLとの向き合い方2022年版
quramy
50
15k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Test your architecture with Archunit
thirion
2
2.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
30 Presentation Tips
portentint
PRO
1
420
Google's AI Overviews - The New Search
badams
0
1.6k
Bash Introduction
62gerente
615
220k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Why Our Code Smells
bkeepers
PRO
340
58k
Exploring anti-patterns in Rails
aemeredith
4
520
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