VM 基盤運用チームの DevOps

富士通クラウドテクノロジーズ株式会社
富士通クラウドテクノロジーズ株式会社富士通クラウドテクノロジーズ株式会社
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
1 of 18

Recommended

マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう by
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみようマネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう富士通クラウドテクノロジーズ株式会社
551 views19 slides
「クラウド移行をめぐるウソ・ホント」 オンプレのVMwareからの切替は大変?P2V2Cの具体的な事例を紹介 by
「クラウド移行をめぐるウソ・ホント」 オンプレのVMwareからの切替は大変?P2V2Cの具体的な事例を紹介「クラウド移行をめぐるウソ・ホント」 オンプレのVMwareからの切替は大変?P2V2Cの具体的な事例を紹介
「クラウド移行をめぐるウソ・ホント」 オンプレのVMwareからの切替は大変?P2V2Cの具体的な事例を紹介富士通クラウドテクノロジーズ株式会社
1.2K views45 slides
「クラウド移行をめぐるウソ・ホント」 オンプレのVMwareからの切替は大変?P2V2Cの具体的な事例を紹介 by
「クラウド移行をめぐるウソ・ホント」 オンプレのVMwareからの切替は大変?P2V2Cの具体的な事例を紹介「クラウド移行をめぐるウソ・ホント」 オンプレのVMwareからの切替は大変?P2V2Cの具体的な事例を紹介
「クラウド移行をめぐるウソ・ホント」 オンプレのVMwareからの切替は大変?P2V2Cの具体的な事例を紹介富士通クラウドテクノロジーズ株式会社
601 views47 slides
【初心者向け】API を使ってクラウドの管理を自動化しよう by
【初心者向け】API を使ってクラウドの管理を自動化しよう【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう富士通クラウドテクノロジーズ株式会社
707 views16 slides

More Related Content

What's hot

自宅vSphereからニフクラに引っ越ししてみた by
自宅vSphereからニフクラに引っ越ししてみた自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた富士通クラウドテクノロジーズ株式会社
7K views28 slides
NIFcLab Tech Laboratoryはじめます(もうすぐ) by
NIFcLab Tech Laboratoryはじめます(もうすぐ)NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)富士通クラウドテクノロジーズ株式会社
383 views20 slides
クラウド上のシステム監視 入門編~システムを作ったその先に~ by
クラウド上のシステム監視 入門編~システムを作ったその先に~クラウド上のシステム監視 入門編~システムを作ったその先に~
クラウド上のシステム監視 入門編~システムを作ったその先に~富士通クラウドテクノロジーズ株式会社
796 views20 slides
ニフティクラウドでのVyOS利用事例 by
ニフティクラウドでのVyOS利用事例ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例Shintaro Hasunuma
2.9K views10 slides
ニフクラのサービス基盤運用におけるCIの取り組み by
ニフクラのサービス基盤運用におけるCIの取り組みニフクラのサービス基盤運用におけるCIの取り組み
ニフクラのサービス基盤運用におけるCIの取り組み富士通クラウドテクノロジーズ株式会社
866 views18 slides

What's hot(20)

ニフティクラウドでのVyOS利用事例 by Shintaro Hasunuma
ニフティクラウドでのVyOS利用事例ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例
Shintaro Hasunuma2.9K views
AWS Cognito makes old web apps available from anywhere by Yukiya Hayashi
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
Yukiya Hayashi2.9K views

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

Wakame Project - 自作クラウド研究会 by
Wakame Project - 自作クラウド研究会Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会axsh co., LTD.
3.8K views43 slides
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会) by
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)Daisuke Ikeda
6.7K views21 slides
オトナのDocker入門 by
オトナのDocker入門オトナのDocker入門
オトナのDocker入門Tsukasa Kato
2.8K views73 slides
Dockerでらくらく開発・運用を体感しよう by
Dockerでらくらく開発・運用を体感しようDockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようTakashi Makino
3.2K views27 slides
Docker v14 by
Docker v14Docker v14
Docker v14靖 小田島
123 views31 slides

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

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

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

弊社サービスを使って ノーコード開発してみた.pdf by
弊社サービスを使って ノーコード開発してみた.pdf弊社サービスを使って ノーコード開発してみた.pdf
弊社サービスを使って ノーコード開発してみた.pdf富士通クラウドテクノロジーズ株式会社
247 views15 slides
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録 by
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録富士通クラウドテクノロジーズ株式会社
613 views22 slides
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ) by
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)富士通クラウドテクノロジーズ株式会社
1.9K views64 slides

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

Recently uploaded

システム概要.pdf by
システム概要.pdfシステム概要.pdf
システム概要.pdfTaira Shimizu
44 views1 slide
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私修治 松浦
195 views36 slides
Najah Matsuo Self Introduction by
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self IntroductionNajahMatsuo
10 views29 slides
how query cost affects search behavior translated in JP by
how query cost affects search behavior translated in JPhow query cost affects search behavior translated in JP
how query cost affects search behavior translated in JPTobioka Ken
10 views16 slides
SSH超入門 by
SSH超入門SSH超入門
SSH超入門Toru Miyahara
405 views21 slides
onewedge_companyguide1 by
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1ONEWEDGE1
32 views22 slides

Recently uploaded(7)

JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by 修治 松浦
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
修治 松浦195 views
Najah Matsuo Self Introduction by NajahMatsuo
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self Introduction
NajahMatsuo10 views
how query cost affects search behavior translated in JP by Tobioka Ken
how query cost affects search behavior translated in JPhow query cost affects search behavior translated in JP
how query cost affects search behavior translated in JP
Tobioka Ken10 views
onewedge_companyguide1 by ONEWEDGE1
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1
ONEWEDGE132 views

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