SlideShare a Scribd company logo
1 of 18
Download to read offline
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
富士通クラウドテクノロジーズ株式会社
樋口 茂幸
VM 基盤運用チームの DevOps
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
自己紹介
 富士通クラウドテクノロジーズ株式会社 2012年度入社
 樋口 茂幸 @YOMOGItanpop
 ニフクラのインフラ運用をやっています
 チームリーダーとしてチーム運営をしています、チーム人数は10人です
 主に VMware NSX の運用をしていて最近 vExpert になりました
2
スクラムガイド
re:Work
よく使うもの・興味分野
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
今日話すこと
IaaS の裏側の運用の話がテーマです
• 「ニフクラIaaSをこう使うと良い」という話では有りません
VMware 製品で作られて既に運用されている VM 基盤に IaC/CI などの
DevOps の文化を導入していくことがテーマです
3
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 4
運用対象の特徴
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
運用対象の特徴
 ユーザーがずっと使い続けられるクラウド基盤
• 2010 年から作られた VMware ベースの IaaS システム
• バックエンドのハードウェア・ソフトウェアはアップデートされ改良されたものを使い続けられる
• 12データセンター, 自チームの内部システム用VMが820台存在する
 アプリケーションから変更する管理対象はインフラ
• VMware vCenter などの VM や物理機器のようなコンテナ化できないものが多く含まれる
• 2年に1回は操作停止や仕様変更を伴うバージョンアップが必要になる
5
vCenter4 物理機器 vCenter6 物理機器 vCenter7 物理機器
2010
規模.サービスは
毎年増え続ける
常に最新の
改良された基盤
操作停止を伴う更新 操作停止を伴う更新
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
扱っている基盤の特徴
 ユーザーアプリケーションとインフラのチームが別れている
 自社開発のアプリだけではなくミドルウェアが意図した挙動をするかもテスト対象になる
 こまめに変更したいと言っても1日10回とかではなくて多くて1日1回
6
仮想
ネットワーク
物理
ネットワーク
物理サーバー
ストレージ
仮想サーバー
ストレージ
アプリ
インフラ機器
ユーザーアプリ
インフラ操作
アプリ
監視
モニタリング
ログサービス
インフラ
チーム構成
ここのアップデート時に
要求している仕様を満たしているかの
テストが難しい
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 7
いままでの取り組み
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
Infrastructure as code
 GitLab 上にある Ansible playbook を正とした gitops
 Ansible 内のインベントリ情報がチーム内での信頼できる情報源になっている
 2010年からあった環境を管理下にするために, 2014年頃手順を playbook に再現しすべてのサーバーを一度捨てて再デプロイした(重要)
• ここが既存システム置き換えの最初の壁だが,構成ドリフトがなくなるメリットが大きいので絶対に実施したほうが良い
8
チーム内で決めた
インベントリ情報
チーム外が決めた
インベントリ情報
Ansible playbook
IPAM
ストレージ
環境情報
アプリ設定
ロール
(サーバータイプの情報)
コピー or 参照
構成が統一されているので
開発環境での検証が効果的になり
様々な自動化がしやすくなる
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
Drift Detection
 以下の2つの目的で構成管理と実際の状態を比較して検知している
• 構成ドリフトの管理
• 手動の変更の実施は「いつから変更されている状態なのかを追跡」,「変更が意図的なものか判断するための変更検
知・通知からの修正」ができれば実施して良いと考えている
• デプロイ判断のトリガ
• 構成情報が更新されている場合に更新する
 Ansible の check mode を GitLab CI で定期実行し検知
• Check mode で変更がわかるような書き方をしている
9
check モード
Ansible playbook 差分検知
に構成ドリフト発生!
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
CI
 サーバーの組み合わせで発生する問題のテストをする需要がある
 クリーンな仮想化基盤検証環境を作成・起動するための vagrant up, docker run 相当のコマンドが必要なので,ハイパーバイザーとVMを
コピーする仕組みを開発している
 バージョンアップ後の仮想インフラが意図した動作をするかも,一度テスト環境のテンプレートを準備することで簡単になった
10
コミット
テスト
環境作成
テスト
NS
X
VM VM
nested
ESXi
nested
ESXi
nested
ESXi
vC VM VM
テスト環境 VMware vSphere®
nested の環境をクローン
NS
X
VM VM
nested
ESXi
nested
ESXi
nested
ESXi
vC VM VM
テスト環境 VMware vSphere®
ESXi ESXi
テスト
環境
テスト
環境
テスト
環境
new
VM 変更したコードを実行し
vSphere を含む全体の挙動をテスト
利用
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
CD
 CD は実施していない
 レビュー環境までは見れるがその後は手動
 可能な限りインプレースな設定変更ではなく, CI 実行後の VM を packer などでイメージ化し Blue-green デプロイメ
ントをして immutable なインフラを目指している
 課題になっているもの
• アプリケーションによってスイッチオーバー時に考慮するものが違うのでシステムごとに独自の考慮が必要
• 変更によって Mutable で冗長化されていないサーバーの停止が伴う場合がある(バージョンアップなど)
• (スイッチオーバーでデプロイする仕組みが作れていないレガシーなものも多い)
11
コミット
テスト
環境作成
テスト レビュー・マージ デプロイ
利用 手動
イメージ化
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
ここまでの評価
できていること
• 再現性のある環境構築
• 継続的インテグレーション
• 稼働環境の状態管理
以下のような課題が残っている
• 自チームで独立してリリース判断できる範囲が狭い
• デプロイ作業が複雑で頻度を上げられない
12
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 13
これからの展望
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
インフラ基盤の抽象化・マイクロサービス化
 現状はインフラを変更するたびにチーム間の協力が必要
• スケジュール調整やプロジェクトの優先度判断で調整コストがかかる
 インフラ基盤を API サーバーで抽象化し,マイクロサービス化する
• 機能追加をしたい場合も 調整が不要,開発しながら仕様を決められる
• インフラ機器をバージョンアップと同時に仕様変更があった場合も同様
14
インフラ機器
ワークフローアプリ
インフラ機器
ワークフローアプリ
インフラwrapperアプリ
バージョンアップによる仕様変更 バージョンアップによる仕様変更
動作確認と
改修が必要
改修が不要
変更箇所を
緩衝
ユーザー向け開発部門に影響を与えず
エンハンスが可能に
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
Immutable なサーバーのコンテナ化
 以下の事によりデプロイ速度の向上, CD を簡単に実現できるようにする
• K8s などは blue-green デプロイメントをするためのスイッチオーバーの仕組みが整っている
• 軽量でデプロイ速度が早い
VM から CloudNative 化することのメリットは,「July Tech Festa 2019」で、サイバーエージェントの青山真也氏が行ったセッション『「Kubernetes による Cloud Native な開発」
と「VM 時代の開発」』に多く記載されています
15
Blue Green
独自
の仕組み
k8s LB
Blue Green
セッションなどアクセス
状況を見て影響が少ない
ように切り替え など
一般的な標準の
方法で切り替え
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 16
まとめ
Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED
まとめ
既に存在する VM のインフラ基盤運用に DevOps の文化を導入していった
ことの話をしました.
今からシステム設計をする方にはあまりピンとこない話だったかもしれま
せん.
私達もまだ進んでいる途中ですが,もし同じような境遇の方がいたら参考に
なれば嬉しいです.
17
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED

More Related Content

What's hot

ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例Shintaro Hasunuma
 
AWS Cognito makes old web apps available from anywhere
AWS Cognito makes old web apps available from anywhereAWS Cognito makes old web apps available from anywhere
AWS Cognito makes old web apps available from anywhereYukiya Hayashi
 

What's hot (20)

自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた
 
NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)
 
自宅インフラの育て方 第2回
自宅インフラの育て方 第2回自宅インフラの育て方 第2回
自宅インフラの育て方 第2回
 
クラウド上のシステム監視 入門編~システムを作ったその先に~
クラウド上のシステム監視 入門編~システムを作ったその先に~クラウド上のシステム監視 入門編~システムを作ったその先に~
クラウド上のシステム監視 入門編~システムを作ったその先に~
 
ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例
 
ニフクラのサービス基盤運用におけるCIの取り組み
ニフクラのサービス基盤運用におけるCIの取り組みニフクラのサービス基盤運用におけるCIの取り組み
ニフクラのサービス基盤運用におけるCIの取り組み
 
GitLabで始めるDevOps入門
GitLabで始めるDevOps入門GitLabで始めるDevOps入門
GitLabで始めるDevOps入門
 
AWS Cognito makes old web apps available from anywhere
AWS Cognito makes old web apps available from anywhereAWS Cognito makes old web apps available from anywhere
AWS Cognito makes old web apps available from anywhere
 
ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介
 
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
 
ニフクラ × RancherでつくるKubernetes環境
ニフクラ × RancherでつくるKubernetes環境ニフクラ × RancherでつくるKubernetes環境
ニフクラ × RancherでつくるKubernetes環境
 
vm meetup_tokyo #1 NSX の運用と DFW トラブルシューティング
vm meetup_tokyo #1 NSX の運用と DFW トラブルシューティングvm meetup_tokyo #1 NSX の運用と DFW トラブルシューティング
vm meetup_tokyo #1 NSX の運用と DFW トラブルシューティング
 
L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術
 
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
 
これから始めるエンジニアのためのクラウド超入門
これから始めるエンジニアのためのクラウド超入門これから始めるエンジニアのためのクラウド超入門
これから始めるエンジニアのためのクラウド超入門
 
20181218 awsreinvent report
20181218 awsreinvent report20181218 awsreinvent report
20181218 awsreinvent report
 
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
 
nifcloud_meetup
nifcloud_meetupnifcloud_meetup
nifcloud_meetup
 
入社2年目社員から見た VDI(DaaS)の運用とセキュリティ
入社2年目社員から見たVDI(DaaS)の運用とセキュリティ入社2年目社員から見たVDI(DaaS)の運用とセキュリティ
入社2年目社員から見た VDI(DaaS)の運用とセキュリティ
 
エンジニアコミュニティ支援制度「NiFcLounge」のご紹介
エンジニアコミュニティ支援制度「NiFcLounge」のご紹介 エンジニアコミュニティ支援制度「NiFcLounge」のご紹介
エンジニアコミュニティ支援制度「NiFcLounge」のご紹介
 

Similar to VM 基盤運用チームの DevOps

Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会axsh co., LTD.
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)Daisuke Ikeda
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門Tsukasa Kato
 
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようDockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようTakashi Makino
 
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011Masahito Zembutsu
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるdavid9142
 
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築MILI-LLC
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
 
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -将 高野
 
Osc spring cloud_stack20130223
Osc spring cloud_stack20130223Osc spring cloud_stack20130223
Osc spring cloud_stack20130223Noriko Suto
 
Getting started with Windows Containers
Getting started with Windows ContainersGetting started with Windows Containers
Getting started with Windows ContainersKazuki Takai
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発政雄 金森
 
Microsoft azureとdockerとansibleと
Microsoft azureとdockerとansibleとMicrosoft azureとdockerとansibleと
Microsoft azureとdockerとansibleとKinoshita Miku
 
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~de:code 2017
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルAkira Inoue
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドApp controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドTakashi Kanai
 

Similar to VM 基盤運用チームの DevOps (20)

Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会
 
自宅k8s/vSphere入門
自宅k8s/vSphere入門自宅k8s/vSphere入門
自宅k8s/vSphere入門
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門
 
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようDockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しよう
 
Docker v14
Docker v14Docker v14
Docker v14
 
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
 
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築
 
Web matrix2とvisual studio
Web matrix2とvisual studioWeb matrix2とvisual studio
Web matrix2とvisual studio
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -
 
Osc spring cloud_stack20130223
Osc spring cloud_stack20130223Osc spring cloud_stack20130223
Osc spring cloud_stack20130223
 
Getting started with Windows Containers
Getting started with Windows ContainersGetting started with Windows Containers
Getting started with Windows Containers
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発
 
Microsoft azureとdockerとansibleと
Microsoft azureとdockerとansibleとMicrosoft azureとdockerとansibleと
Microsoft azureとdockerとansibleと
 
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドApp controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウド
 

More from 富士通クラウドテクノロジーズ株式会社

More from 富士通クラウドテクノロジーズ株式会社 (15)

IPsec VPNとSSL-VPNの違い
IPsec VPNとSSL-VPNの違いIPsec VPNとSSL-VPNの違い
IPsec VPNとSSL-VPNの違い
 
弊社サービスを使って ノーコード開発してみた.pdf
弊社サービスを使って ノーコード開発してみた.pdf弊社サービスを使って ノーコード開発してみた.pdf
弊社サービスを使って ノーコード開発してみた.pdf
 
今から始めるUbuntu入門_202307.pdf
今から始めるUbuntu入門_202307.pdf今から始めるUbuntu入門_202307.pdf
今から始めるUbuntu入門_202307.pdf
 
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録
 
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)
 
今さら聞けないバックアップの基礎
今さら聞けないバックアップの基礎今さら聞けないバックアップの基礎
今さら聞けないバックアップの基礎
 
DevOps with GitLabで始める簡単DevOps
DevOps with GitLabで始める簡単DevOpsDevOps with GitLabで始める簡単DevOps
DevOps with GitLabで始める簡単DevOps
 
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
 
「ネットワーク超入門 IPsec VPN編」
「ネットワーク超入門 IPsec VPN編」「ネットワーク超入門 IPsec VPN編」
「ネットワーク超入門 IPsec VPN編」
 
GitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみたGitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみた
 
vSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについてvSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについて
 
いつでも在宅勤務
いつでも在宅勤務いつでも在宅勤務
いつでも在宅勤務
 
テレワーク中もさみしくない!オンライン社内レクリエーションのススメ
テレワーク中もさみしくない!オンライン社内レクリエーションのススメテレワーク中もさみしくない!オンライン社内レクリエーションのススメ
テレワーク中もさみしくない!オンライン社内レクリエーションのススメ
 
2018年のハイブリッドクラウド事情と 2019年のクラウド予想!
2018年のハイブリッドクラウド事情と 2019年のクラウド予想!2018年のハイブリッドクラウド事情と 2019年のクラウド予想!
2018年のハイブリッドクラウド事情と 2019年のクラウド予想!
 
ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。
 

VM 基盤運用チームの DevOps

  • 1. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 富士通クラウドテクノロジーズ株式会社 樋口 茂幸 VM 基盤運用チームの DevOps
  • 2. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 自己紹介  富士通クラウドテクノロジーズ株式会社 2012年度入社  樋口 茂幸 @YOMOGItanpop  ニフクラのインフラ運用をやっています  チームリーダーとしてチーム運営をしています、チーム人数は10人です  主に VMware NSX の運用をしていて最近 vExpert になりました 2 スクラムガイド re:Work よく使うもの・興味分野
  • 3. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 今日話すこと IaaS の裏側の運用の話がテーマです • 「ニフクラIaaSをこう使うと良い」という話では有りません VMware 製品で作られて既に運用されている VM 基盤に IaC/CI などの DevOps の文化を導入していくことがテーマです 3
  • 4. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 4 運用対象の特徴
  • 5. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 運用対象の特徴  ユーザーがずっと使い続けられるクラウド基盤 • 2010 年から作られた VMware ベースの IaaS システム • バックエンドのハードウェア・ソフトウェアはアップデートされ改良されたものを使い続けられる • 12データセンター, 自チームの内部システム用VMが820台存在する  アプリケーションから変更する管理対象はインフラ • VMware vCenter などの VM や物理機器のようなコンテナ化できないものが多く含まれる • 2年に1回は操作停止や仕様変更を伴うバージョンアップが必要になる 5 vCenter4 物理機器 vCenter6 物理機器 vCenter7 物理機器 2010 規模.サービスは 毎年増え続ける 常に最新の 改良された基盤 操作停止を伴う更新 操作停止を伴う更新
  • 6. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 扱っている基盤の特徴  ユーザーアプリケーションとインフラのチームが別れている  自社開発のアプリだけではなくミドルウェアが意図した挙動をするかもテスト対象になる  こまめに変更したいと言っても1日10回とかではなくて多くて1日1回 6 仮想 ネットワーク 物理 ネットワーク 物理サーバー ストレージ 仮想サーバー ストレージ アプリ インフラ機器 ユーザーアプリ インフラ操作 アプリ 監視 モニタリング ログサービス インフラ チーム構成 ここのアップデート時に 要求している仕様を満たしているかの テストが難しい
  • 7. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 7 いままでの取り組み
  • 8. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED Infrastructure as code  GitLab 上にある Ansible playbook を正とした gitops  Ansible 内のインベントリ情報がチーム内での信頼できる情報源になっている  2010年からあった環境を管理下にするために, 2014年頃手順を playbook に再現しすべてのサーバーを一度捨てて再デプロイした(重要) • ここが既存システム置き換えの最初の壁だが,構成ドリフトがなくなるメリットが大きいので絶対に実施したほうが良い 8 チーム内で決めた インベントリ情報 チーム外が決めた インベントリ情報 Ansible playbook IPAM ストレージ 環境情報 アプリ設定 ロール (サーバータイプの情報) コピー or 参照 構成が統一されているので 開発環境での検証が効果的になり 様々な自動化がしやすくなる
  • 9. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED Drift Detection  以下の2つの目的で構成管理と実際の状態を比較して検知している • 構成ドリフトの管理 • 手動の変更の実施は「いつから変更されている状態なのかを追跡」,「変更が意図的なものか判断するための変更検 知・通知からの修正」ができれば実施して良いと考えている • デプロイ判断のトリガ • 構成情報が更新されている場合に更新する  Ansible の check mode を GitLab CI で定期実行し検知 • Check mode で変更がわかるような書き方をしている 9 check モード Ansible playbook 差分検知 に構成ドリフト発生!
  • 10. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED CI  サーバーの組み合わせで発生する問題のテストをする需要がある  クリーンな仮想化基盤検証環境を作成・起動するための vagrant up, docker run 相当のコマンドが必要なので,ハイパーバイザーとVMを コピーする仕組みを開発している  バージョンアップ後の仮想インフラが意図した動作をするかも,一度テスト環境のテンプレートを準備することで簡単になった 10 コミット テスト 環境作成 テスト NS X VM VM nested ESXi nested ESXi nested ESXi vC VM VM テスト環境 VMware vSphere® nested の環境をクローン NS X VM VM nested ESXi nested ESXi nested ESXi vC VM VM テスト環境 VMware vSphere® ESXi ESXi テスト 環境 テスト 環境 テスト 環境 new VM 変更したコードを実行し vSphere を含む全体の挙動をテスト 利用
  • 11. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED CD  CD は実施していない  レビュー環境までは見れるがその後は手動  可能な限りインプレースな設定変更ではなく, CI 実行後の VM を packer などでイメージ化し Blue-green デプロイメ ントをして immutable なインフラを目指している  課題になっているもの • アプリケーションによってスイッチオーバー時に考慮するものが違うのでシステムごとに独自の考慮が必要 • 変更によって Mutable で冗長化されていないサーバーの停止が伴う場合がある(バージョンアップなど) • (スイッチオーバーでデプロイする仕組みが作れていないレガシーなものも多い) 11 コミット テスト 環境作成 テスト レビュー・マージ デプロイ 利用 手動 イメージ化
  • 12. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED ここまでの評価 できていること • 再現性のある環境構築 • 継続的インテグレーション • 稼働環境の状態管理 以下のような課題が残っている • 自チームで独立してリリース判断できる範囲が狭い • デプロイ作業が複雑で頻度を上げられない 12
  • 13. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 13 これからの展望
  • 14. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED インフラ基盤の抽象化・マイクロサービス化  現状はインフラを変更するたびにチーム間の協力が必要 • スケジュール調整やプロジェクトの優先度判断で調整コストがかかる  インフラ基盤を API サーバーで抽象化し,マイクロサービス化する • 機能追加をしたい場合も 調整が不要,開発しながら仕様を決められる • インフラ機器をバージョンアップと同時に仕様変更があった場合も同様 14 インフラ機器 ワークフローアプリ インフラ機器 ワークフローアプリ インフラwrapperアプリ バージョンアップによる仕様変更 バージョンアップによる仕様変更 動作確認と 改修が必要 改修が不要 変更箇所を 緩衝 ユーザー向け開発部門に影響を与えず エンハンスが可能に
  • 15. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED Immutable なサーバーのコンテナ化  以下の事によりデプロイ速度の向上, CD を簡単に実現できるようにする • K8s などは blue-green デプロイメントをするためのスイッチオーバーの仕組みが整っている • 軽量でデプロイ速度が早い VM から CloudNative 化することのメリットは,「July Tech Festa 2019」で、サイバーエージェントの青山真也氏が行ったセッション『「Kubernetes による Cloud Native な開発」 と「VM 時代の開発」』に多く記載されています 15 Blue Green 独自 の仕組み k8s LB Blue Green セッションなどアクセス 状況を見て影響が少ない ように切り替え など 一般的な標準の 方法で切り替え
  • 16. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED 16 まとめ
  • 17. Copyright 2020 FUJITSU CLOUD TECHNOLOGIES LIMITED まとめ 既に存在する VM のインフラ基盤運用に DevOps の文化を導入していった ことの話をしました. 今からシステム設計をする方にはあまりピンとこない話だったかもしれま せん. 私達もまだ進んでいる途中ですが,もし同じような境遇の方がいたら参考に なれば嬉しいです. 17
  • 18. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED