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
DevFest in Shinshu 2019 - Abount DevOps in GCP
Search
koda
November 23, 2019
Technology
570
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
170
Cloudflare Workers で OpenAI の LINE Chatbotを作ってみた
koda
0
2.2k
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
590
個人でWebサービスを開発する際のWeb技術紹介
koda
1
150
DAP+Dockerで簡単環境構築
koda
0
310
Other Decks in Technology
See All in Technology
AI時代のAPI品質を支えるガードレール / API Guardrails for API quality in the AI era
yokawasa
1
120
module Synths; end
asonas
1
120
AIで仕事のやり方を変える
matsu7874
1
850
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
2
1.6k
AIエージェントの開発・提供におけるセキュリティリスクの論点と対策
flatt_security
1
580
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
160
データエンジニアリングワークショップ:Auto LoaderとSparkで学ぶデータパイプライン構築
databricksjapan
PRO
0
180
Backstageでつくるセルフサービスな社内開発基盤
kikunosuke75
1
340
設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略
sansantech
PRO
1
150
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
150
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
0
150
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
210
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
25k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
How to Talk to Developers About Accessibility
jct
2
540
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
Bash Introduction
62gerente
615
220k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
510
Embracing the Ebb and Flow
colly
88
5.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
470
Build your cross-platform service in a week with App Engine
jlugia
234
19k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
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