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
DevFest in Shinshu 2019 - Abount DevOps in GCP
Search
koda
November 23, 2019
Technology
580
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DevFest in Shinshu 2019 - Abount DevOps in GCP
koda
November 23, 2019
More Decks by koda
See All by koda
Lambda___Hono_で_OpenAI_の_LINE_Chatbotを作ってみた.pdf
koda
0
190
Cloudflare Workers で OpenAI の LINE Chatbotを作ってみた
koda
0
2.3k
DevFest 2020 Ja - GitLab Review Apps with GKE
koda
2
220
Knowledge作ったよ
koda
0
360
Kubernetes_Hands-on.pdf
koda
3
920
Docker hands on
koda
1
600
個人でWebサービスを開発する際のWeb技術紹介
koda
1
150
DAP+Dockerで簡単環境構築
koda
0
320
Other Decks in Technology
See All in Technology
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
170
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
140
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
210
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
5k
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
920
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
140
How to Design Configuration for Rails Applications
willnet
1
810
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
270
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
550
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
170
AI コーディングと人間の認知スループット / CTO Night & Day 2026 Morning Session / AI Coding and Human Cognitive Throughput
prog893
4
1.2k
Getting Started with Google Antigravity
glaforge
0
310
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
430
KATA
mclloyd
PRO
35
16k
Done Done
chrislema
187
17k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
Speed Design
sergeychernyshev
33
2.2k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
How to build a perfect <img>
jonoalderson
1
6.1k
Raft: Consensus for Rubyists
vanstee
142
7.8k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
Transcript
DevOps環境の紹介 GCPを使った Koda 2019-11-23
• 「Cloud」とか「DevOps」とか「Agile」やってます • 某メーカーの中でアプリなどを開発中 • プログラミングと温泉、家族を愛してます(チームビルディングもまぁまぁ好き) • Google系を中心にクラウド系の技術コミュニティに参加 KODA (@koda3t)
2
3 本日のゴール ▷ クラウド時代におけるモダンな開発・運用について、ふんわり理解し、 各自が調査&試行できる知識を習得する ▷ 紹介する内容を自分で構築できるハンズオン資料もあるので、興味を 持ったら試してみてください ◦ 要望があればハンズオンをまた開催します
あぁ、、あれね。 聞いたことあるよ(ドヤッ)
4 Agenda 1. DevOpsとは 2. DevOpsな環境 3. まとめ
5 1. DevOpsとは
開発担当者と運用担当者が連携して協力すること 6 https://ja.wikipedia.org/wiki/DevOps
Dev vs Ops 新しい機能を追加したから リリースさせろや!! そんなんで、安定稼働できるん かいな! 責任とるのはこっちやぞ!! 7
DevOps ユーザに価値のあるものを 素早く出していくために協力 しよう! そのために何が必要かを、 一緒に考えていこう!! 8
市場投入までの時間の短縮 高い顧客満足度 改良された製品の品質 改良されて、信頼性の高いリリース 改良された生産性・効率 迅速な実験によって、適切な製品を構築する能力 9 DevOpsの効果
DevOpsな組織文化 Respect: お互いを尊重することです。相手のことを思いやることでコミュニケーションが円滑に取れるように なります。 Trust: チームメンバーを信頼することです。開発者、運用者の垣根を越えて、システムに関わっているメン バーを信頼する必要があります。 Healthy attitude about
failure: 失敗に対して健全な態度をとることです。失敗はチャレンジすれば起こりえるもので、担当者を責め るのはおかしいという考えです。 Avoiding Blame: 非難を避けることです。失敗しないように取り組むのがDevOpsの目的の1つですが、それでもミス をゼロにはできません。しかし、たとえミスが起きたてもそれを非難する事はしてはいけません。 2009年のFlickr社から 10
DevOpsを実現するための技術 • Continuous Integration ◦ 自動化されたビルド・テスト • Continuous Deployment ◦
自動化されたデプロイ • Infrastructure as Code ◦ 自動化されたインフラ • Service Mesh ◦ 小さく迅速に市場投入・ロールバック • Serverless / Managed service ◦ 運用負荷の低いインフラ • Microservices ◦ 小さく迅速に開発 11
2. DevOpsな環境 12
13 Dev Ops 開発したものが運用にシームレスに 連携されていく環境 DevOpsな環境?
14 Code Code コードを編集 自動ビルド 自動デプロイ GitLab Feature Branch Push
Container Registry 自動ビルド イメージ登録 動作確認 Skaffold Kubernetes Kubernetes Engine Canary Production 一般ユーザ アーリーアダプタ 自動デプロイ モニタリング Istio Prometheus Grafana 動作確認 Spinnaker CI レビュー GitLab Master Branch GitLab Merge Tag バージョン 管理(タグ) CI Google Cloud ビルド&テスト Pub/Sub トラフィック制御 ローカルPC リリース判断
15 Code Code コードを編集 自動ビルド 自動デプロイ GitLab Feature Branch Push
Container Registry 自動ビルド イメージ登録 動作確認 Skaffold Kubernetes Kubernetes Engine Canary Production 一般ユーザ アーリーアダプタ 自動デプロイ モニタリング Istio Prometheus Grafana 動作確認 Spinnaker CI レビュー GitLab Master Branch GitLab Merge Tag バージョン 管理(タグ) CI Google Cloud ビルド&テスト Pub/Sub トラフィック制御 ローカルPC リリース判断 Dev(開発)
16 Code Code コードを編集 自動ビルド 自動デプロイ GitLab Feature Branch Push
Container Registry 自動ビルド イメージ登録 動作確認 Skaffold Kubernetes Kubernetes Engine Canary Production 一般ユーザ アーリーアダプタ 自動デプロイ モニタリング Istio Prometheus Grafana 動作確認 Spinnaker CI レビュー GitLab Master Branch GitLab Merge Tag バージョン 管理(タグ) CI Google Cloud ビルド&テスト Pub/Sub トラフィック制御 ローカルPC リリース判断 Ops(運用)
実際のDevOps環境のサンプルを見ながら、 使われている技術の紹介
18 Docker ▷ コンテナ型の仮想ツール ▷ Immutable Infrastructure を実現
19 Kubernetes(K8s) ▷ コンテナ化したアプリケーションのデプロイ、スケーリング、および 管理を行うための、コンテナオーケストレーションツール ▷ 複数のコンテナをいい感じに運用できる
20 GKE ▷ マネージドなKubernetesプラットフォーム ▷ 現状のコンテナ系のサービスでは一番クセが無く「お安い」と思う
21 Istio ▷ サービスメッシュ ▷ マイクロサービス間などの通信をいい感じに管理できる ▷ カナリアリリースなどが簡単にできる
22 Prometheus & Grafana ▷ モニタリングツール & 可視化ツール ▷ 動的な環境での監視が得意 ▷
Istioをセットアップすると自動的についてくる
23 GitFlow ▷ Gitの機能を使っていい感じに開発するスタイル ▷ Featureブランチで開発して、CIでテスト、MR(PR)でレビューして というかんじで開発が進む
GitLab ▷ OSSのGitHubのようなもの ▷ SaaS(GitHub)が使えない場合の選択肢 ▷ GitHubでできることは代替可能 24
25 ▷ k8sを使ったサービスのローカルでの開発を便利にするツール
26 CI ▷ コードの変更の度に自動化されたビルドとテストを実行 ▷ これにより品質を保ちながら頻繁に結合を行うことが出来る https://cloud.google.com/solutions/continuous-integration
27 Spinnaker(CD) ▷ 継続デリバリのプラットフォーム ▷ Blue/Greenデプロイや、カナリアデプロイにも対応
28 3. まとめ
29 今まで話した内容を、 すんなり理解できましたか?
30 いろいろありすぎて 大混乱 話だけ聞いただけでは、私には無理でした。。。
31 使ってみよう! ✔ 使ってみると、意外と大した事ない
まずはDockerからはじめよう! Immutable Infrastructure Immutable Development Environment ≒ 自分のローカルの開発環境も使い捨てで使える! →気軽に新しい事が試せる!!
28人 27人 ハンズオン開催中 資料:https://gdg-shinshu.connpass.com/event/143112/ 資料:https://gcpug-shinshu.connpass.com/event/135612/
34 「きこりのジレンマ」 になっていないか確認しよう
35 同じ1人月でも内容(成果)は違う 12時間/日 6時間/日 余った時間でさらなる効率化
9/3にGoogleが開催したKubernetes Dayから資料を紹介します https://inthecloud.withgoogle.com/kubernetes-day-1909/Google_Cloud_Kubernetes_Day2_Session01.pdf
37
DevOpsに取り組んでいるチームは 生産性が 1.53倍高い
None
• デプロイ頻度: 208倍多い • コミットからデプロイまでの時間: 108倍短い • 環境変更の成功: 7倍の成功率(失敗が 1/7)
• 障害から復旧にかかる時間: 2604倍早い
None
None
None
44 イノベーションに手が回らない
最大で年間12兆円の経済損失
46 崖から落ちないためにも DevOpsに取り組む ☞ 新しい技術を試す時間を確保する(リーダ/マネージャ) ☞ 技術だけではなく、P10の「組織文化」も!
thanks! Any questions? You can find me at @koda3t 47