SlideShare a Scribd company logo
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

PDF
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
 
PDF
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
虎の穴 開発室
 
PDF
Webアプリを並行開発する際のマイグレーション戦略
Takayuki Shimizukawa
 
PDF
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo!デベロッパーネットワーク
 
PDF
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
 
PDF
SQLアンチパターン - ジェイウォーク
ke-m kamekoopa
 
PDF
Keystone fernet token
Yuki Nishiwaki
 
PDF
OpenCVをAndroidで動かしてみた
徹 上野山
 
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
 
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
虎の穴 開発室
 
Webアプリを並行開発する際のマイグレーション戦略
Takayuki Shimizukawa
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo!デベロッパーネットワーク
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
 
SQLアンチパターン - ジェイウォーク
ke-m kamekoopa
 
Keystone fernet token
Yuki Nishiwaki
 
OpenCVをAndroidで動かしてみた
徹 上野山
 

What's hot (20)

PDF
NetflixにおけるPresto/Spark活用事例
Amazon Web Services Japan
 
PPTX
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PDF
徳丸本ができるまで
Hiroshi Tokumaru
 
PDF
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
Elasticsearch
 
PDF
Junitを使ったjavaのテスト入門
Satoshi Kubo
 
PDF
サイボウズの生産性を高める生産性向上チームと開発文化
Futa HIRAKOBA
 
PDF
暗認本読書会6
MITSUNARI Shigeo
 
PPTX
ちょっと使えるようになる信頼度成長曲線(移行済)
tomitomi3 tomitomi3
 
PDF
カップルが一緒にお風呂に入る割合をベイズ推定してみた
hoxo_m
 
PDF
オブジェクト指向エクササイズのススメ
Yoji Kanno
 
PDF
オートスケールする GitHub Actions セルフホストランナーを構築してる話
Jumpei Miyata
 
PDF
2021-12-16 テストコードのないレガシーアプリケーションとの向き合い方
naoto teshima
 
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
 
PPTX
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
 
PDF
Hive on Tezのベストプラクティス
Yahoo!デベロッパーネットワーク
 
ODP
プログラミング言語のマスコットとか紹介
Takaaki Hirano
 
PPTX
マイクロサービスにおける 結果整合性との戦い
ota42y
 
PPTX
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用
Motonori Shindo
 
PPTX
M5StackをRustで動かす
Kenta IDA
 
NetflixにおけるPresto/Spark活用事例
Amazon Web Services Japan
 
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
徳丸本ができるまで
Hiroshi Tokumaru
 
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
Elasticsearch
 
Junitを使ったjavaのテスト入門
Satoshi Kubo
 
サイボウズの生産性を高める生産性向上チームと開発文化
Futa HIRAKOBA
 
暗認本読書会6
MITSUNARI Shigeo
 
ちょっと使えるようになる信頼度成長曲線(移行済)
tomitomi3 tomitomi3
 
カップルが一緒にお風呂に入る割合をベイズ推定してみた
hoxo_m
 
オブジェクト指向エクササイズのススメ
Yoji Kanno
 
オートスケールする GitHub Actions セルフホストランナーを構築してる話
Jumpei Miyata
 
2021-12-16 テストコードのないレガシーアプリケーションとの向き合い方
naoto teshima
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
 
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
 
Hive on Tezのベストプラクティス
Yahoo!デベロッパーネットワーク
 
プログラミング言語のマスコットとか紹介
Takaaki Hirano
 
マイクロサービスにおける 結果整合性との戦い
ota42y
 
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用
Motonori Shindo
 
M5StackをRustで動かす
Kenta IDA
 
Ad

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

PDF
ニフクラのサービス基盤運用におけるCIの取り組み
富士通クラウドテクノロジーズ株式会社
 
PDF
NIFcLab Tech Laboratoryはじめます(もうすぐ)
富士通クラウドテクノロジーズ株式会社
 
PPTX
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
cloudconductor
 
PPTX
vforum2013さわってみよう講義編 v.1.9
z2015026
 
PDF
[Interact 2018] 別視点からのハイパーコンバージドインフラ ~ ソフトウェアによる華麗な “ものづくり“ の世界
Daichi Ogawa
 
PDF
OpenStack on OpenStack with CI
kanabuchi
 
PDF
vSphere環境での自動化とテスト
富士通クラウドテクノロジーズ株式会社
 
PDF
クラウド概略(プレゼン)
真乙 九龍
 
PDF
Aws summits2014 nttデータaws上のシステムはこう作る!
Boss4434
 
PDF
伸縮自在なデータセンターを実現するインタークラウド資源管理システム
Ryousei Takano
 
PDF
Nutanix@Open Source Conference 2015 Hiroshima
Satoshi Shimazaki
 
PPTX
これから始めるエンジニアのためのクラウド超入門
富士通クラウドテクノロジーズ株式会社
 
PDF
オープンソースのクラウド基盤 CloudStackによるIaaS構築入門 @OSC 2013 Nagoya
Satoshi Shimazaki
 
PPTX
今からでも間に合う!インフラ自動化超入門 @渋谷
Daigou Harada
 
PDF
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
VirtualTech Japan Inc.
 
PDF
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
Hinemos
 
PDF
コンテナ今昔物語_2021_12_22
勇 黒沢
 
PDF
第6回「VMware vSphere 5」(2011/08/11 on しすなま!)
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
 
ニフクラのサービス基盤運用におけるCIの取り組み
富士通クラウドテクノロジーズ株式会社
 
NIFcLab Tech Laboratoryはじめます(もうすぐ)
富士通クラウドテクノロジーズ株式会社
 
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
cloudconductor
 
vforum2013さわってみよう講義編 v.1.9
z2015026
 
[Interact 2018] 別視点からのハイパーコンバージドインフラ ~ ソフトウェアによる華麗な “ものづくり“ の世界
Daichi Ogawa
 
OpenStack on OpenStack with CI
kanabuchi
 
vSphere環境での自動化とテスト
富士通クラウドテクノロジーズ株式会社
 
クラウド概略(プレゼン)
真乙 九龍
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Boss4434
 
伸縮自在なデータセンターを実現するインタークラウド資源管理システム
Ryousei Takano
 
Nutanix@Open Source Conference 2015 Hiroshima
Satoshi Shimazaki
 
これから始めるエンジニアのためのクラウド超入門
富士通クラウドテクノロジーズ株式会社
 
オープンソースのクラウド基盤 CloudStackによるIaaS構築入門 @OSC 2013 Nagoya
Satoshi Shimazaki
 
今からでも間に合う!インフラ自動化超入門 @渋谷
Daigou Harada
 
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
VirtualTech Japan Inc.
 
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
Hinemos
 
コンテナ今昔物語_2021_12_22
勇 黒沢
 
第6回「VMware vSphere 5」(2011/08/11 on しすなま!)
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
 
Ad

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

PDF
弊社サービスを使って ノーコード開発してみた.pdf
富士通クラウドテクノロジーズ株式会社
 
PDF
今から始めるUbuntu入門_202307.pdf
富士通クラウドテクノロジーズ株式会社
 
PDF
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録
富士通クラウドテクノロジーズ株式会社
 
PDF
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)
富士通クラウドテクノロジーズ株式会社
 
PDF
今さら聞けないバックアップの基礎
富士通クラウドテクノロジーズ株式会社
 
PDF
DevOps with GitLabで始める簡単DevOps
富士通クラウドテクノロジーズ株式会社
 
PDF
自宅vSphereからニフクラに引っ越ししてみた
富士通クラウドテクノロジーズ株式会社
 
PPTX
自宅インフラの育て方 第2回
富士通クラウドテクノロジーズ株式会社
 
PDF
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
富士通クラウドテクノロジーズ株式会社
 
PPTX
「ネットワーク超入門 IPsec VPN編」
富士通クラウドテクノロジーズ株式会社
 
PDF
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
富士通クラウドテクノロジーズ株式会社
 
PDF
GitLabのAutoDevOpsを試してみた
富士通クラウドテクノロジーズ株式会社
 
PDF
vSphere 7 へのアップグレードについて
富士通クラウドテクノロジーズ株式会社
 
PDF
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
富士通クラウドテクノロジーズ株式会社
 
PDF
入社2年目社員から見た VDI(DaaS)の運用とセキュリティ
富士通クラウドテクノロジーズ株式会社
 
PDF
インフラチームのリモートワーク
富士通クラウドテクノロジーズ株式会社
 
PDF
テレワーク中もさみしくない!オンライン社内レクリエーションのススメ
富士通クラウドテクノロジーズ株式会社
 
弊社サービスを使って ノーコード開発してみた.pdf
富士通クラウドテクノロジーズ株式会社
 
今から始めるUbuntu入門_202307.pdf
富士通クラウドテクノロジーズ株式会社
 
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録
富士通クラウドテクノロジーズ株式会社
 
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)
富士通クラウドテクノロジーズ株式会社
 
今さら聞けないバックアップの基礎
富士通クラウドテクノロジーズ株式会社
 
DevOps with GitLabで始める簡単DevOps
富士通クラウドテクノロジーズ株式会社
 
自宅vSphereからニフクラに引っ越ししてみた
富士通クラウドテクノロジーズ株式会社
 
自宅インフラの育て方 第2回
富士通クラウドテクノロジーズ株式会社
 
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
富士通クラウドテクノロジーズ株式会社
 
「ネットワーク超入門 IPsec VPN編」
富士通クラウドテクノロジーズ株式会社
 
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
富士通クラウドテクノロジーズ株式会社
 
GitLabのAutoDevOpsを試してみた
富士通クラウドテクノロジーズ株式会社
 
vSphere 7 へのアップグレードについて
富士通クラウドテクノロジーズ株式会社
 
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
富士通クラウドテクノロジーズ株式会社
 
入社2年目社員から見た VDI(DaaS)の運用とセキュリティ
富士通クラウドテクノロジーズ株式会社
 
インフラチームのリモートワーク
富士通クラウドテクノロジーズ株式会社
 
テレワーク中もさみしくない!オンライン社内レクリエーションのススメ
富士通クラウドテクノロジーズ株式会社
 

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