SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED
富士通クラウドテクノロジーズ
伊藤 将行
(2018/11/28 ニフクラエンジニアミートアップ #10)
ニフクラのサービス基盤運用におけるCIの取り組み
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED
はじめに
自己紹介
• ニフクラの仮想化基盤周りの世話をするエンジニアです
• VMware NSX
• VMware vSphere
発表内容
• ニフクラを支える基盤運用にCIを取り入れようとしている話
• ニフクラ上での話ではない
• まだまだ発展途上なので, 至らぬところも多い
• 昨年末のエンジニアミートアップでも似た内容を話しました
• 一言では… インフラ運用にもCI/CDをしっかり取り入れていきたい!
2
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 3
CI(Continuous Integration)について
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 4
開発
結合
integration
conflict
修正 テスト 成果物ビルド
背景
長い時間
開発
開発 開発
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 5
開発
開発
ビルド
テスト
継続的インテグレーション
結合
結合
開発
ビルド
テスト
ビルド
テスト
結合
開発 結合
ビルド
テスト
日常的に結合(インテグレーション)
→ 継続的インテグレーション
小さな変更単位
→ conflictやバグの
リスク軽減
→ 開発速度向上
頻繁な更新が発生
→ ビルド・テストの
自動化が必須
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 6
ニフクラの取り組み
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED
去年の現場
7
※2017年12月の
エンジニアミートアップ
資料より
求められる品質向上
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED
テスト自動化を進めよう
8
ソフトウェア開発はテストによって品質担保
昨今では自動テストや Continuous Integration (CI) も普及
Infrastructure as Codeの時代、
弊社でも運用に用いるものの多くはコード化されている
基盤運用の中でもCIを実現したい!
• 自動テストによる品質の担保
• 変更反映の高速化による運用改善の高速化
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED
CI実現に向けた課題
インテグレーションテスト用の環境の整備が必要!
• テスト自動化はCI実現の要
• 良いテスト環境がないのはその妨げ
テスト環境の難点
• インフラのテスト環境は汚れやすい
• 仮想化基盤の管理サーバー(vCenter等)は状態を持っている
• 検証でも使われてしまったり…
• 1から作って壊すを繰り返すには時間がかかる
• テスト自動化する以上, テスト環境構築も自動化できていないと無意味
9
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED
Nested ESXi の活用
物理サーバー
ESXi
仮想サーバー
ESXi
仮想サーバー
仮想サーバー
Linux
Linux
Nested ESXi
API
操作
API
操作
物理サーバーをVMで模擬して
API操作が可能に
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED
SV
ESXi
NIC NIC
vSwitch
VM
vNIC
vCenter Server
VM
vNIC
ESXi
vSwitch
VM
vNIC
uplink
portgroup
VM
vNIC
VM
vNIC
ESXi
vSwitch
VM
vNIC
uplink
portgroup
VM
vNIC
uplink uplink
vSwitch
uplink uplink
portgroup portgroup portgroup
VM
vNIC
Linux
(Docker Host)
VM
vNIC vNIC
Linux
proxy DNS
ネットワーク分離
物理NWに繋がらない仮想スイッチで
環境を分離, 設定を統一可能
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED
ワークフロー
12
GitLab
ESXiESXiESXi
ESXi
vCenter Server
GitLab CI
runner
vCenter Server
ESXi
Docker Host
VM
VMVM
VM
テスト
環境
テスト
環境
テスト
環境
開発
環境
1. gitリポジトリへ
コードをpush
6. テストコマンド
発行
2. CI用YAMLで
規定された手続き実行
4. テスト環境作成
コマンド発行
5. テスト環境の作成
3. テスト用
コンテナビルド
7. テストの実施
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED
成果物
テスト環境の自動作成の実現により色々と実現できた
• テスト自体の自動化も推進
• Ansible playbookの自動テスト
• サービスの挙動のテスト
• 運用ツールのテスト
• 実際にデグレの発見などにも役立った
• 発見後, 調査のために再現させるなど繰り返しテストをすることになったため
テスト自動化の恩恵は思ったより大きかった
• 開発環境としての利用も出来た(副産物?)
13
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED
展望
自動でできるテスト項目の充実
• 良くも悪くも, 用意したテスト項目しか見られない
Continuous Delivery / Continuous Deploy の実現
• 運用ツールや監視サーバーの変更は, 早く本番環境に適用したい
14
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 15
さいごに
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED
仮想インフラの真価
インフラ運用でソフトウェアの力を最大限活かしたい
• 仮想化・クラウドの発展でインフラなども含めて
ソフトウェアで制御できる部分が広くなっている
• 単なる運用自動化による工数削減にとどまらない
• インフラ運用をソフトウェアと同一視できるようになってきた
• ソフトウェア開発で培われた技術が応用可能
• サービス品質の向上やリリースサイクルの高速化などの価値を生み出せるはず
16
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED
宣伝
たぶん, 発表と似た内容を弊社アドベントカレンダーに投稿します
• https://qiita.com/advent-calendar/2018/fjct
• 自分は多分12/21に書きます
17
Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED

Weitere ähnliche Inhalte

Was ist angesagt?

ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例Shintaro Hasunuma
 

Was ist angesagt? (20)

vm meetup_tokyo #1 NSX の運用と DFW トラブルシューティング
vm meetup_tokyo #1 NSX の運用と DFW トラブルシューティングvm meetup_tokyo #1 NSX の運用と DFW トラブルシューティング
vm meetup_tokyo #1 NSX の運用と DFW トラブルシューティング
 
これから始めるエンジニアのためのクラウド超入門
これから始めるエンジニアのためのクラウド超入門これから始めるエンジニアのためのクラウド超入門
これから始めるエンジニアのためのクラウド超入門
 
ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介
 
L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術
 
自宅インフラの育て方 第2回
自宅インフラの育て方 第2回自宅インフラの育て方 第2回
自宅インフラの育て方 第2回
 
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
 
20181218 awsreinvent report
20181218 awsreinvent report20181218 awsreinvent report
20181218 awsreinvent report
 
ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。
 
インフラチームのリモートワーク
インフラチームのリモートワークインフラチームのリモートワーク
インフラチームのリモートワーク
 
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
 
クラウド上のシステム監視 入門編
クラウド上のシステム監視 入門編クラウド上のシステム監視 入門編
クラウド上のシステム監視 入門編
 
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみようマネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
 
ニフクラでDockerを使う際のTips
ニフクラでDockerを使う際のTipsニフクラでDockerを使う際のTips
ニフクラでDockerを使う際のTips
 
GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
 
ニフクラ × RancherでつくるKubernetes環境
ニフクラ × RancherでつくるKubernetes環境ニフクラ × RancherでつくるKubernetes環境
ニフクラ × RancherでつくるKubernetes環境
 
ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例
 
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
 
自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた
 
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
 
nifcloud_meetup
nifcloud_meetupnifcloud_meetup
nifcloud_meetup
 

Ähnlich wie ニフクラのサービス基盤運用におけるCIの取り組み

第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIUKengo Okitsu
 
インフラチームとCCoEの関係.pptx
インフラチームとCCoEの関係.pptxインフラチームとCCoEの関係.pptx
インフラチームとCCoEの関係.pptxssuser5c7ee4
 
【NCMB】アプリのバックエンドを支えるサービス 「mBaaS」のご紹介
【NCMB】アプリのバックエンドを支えるサービス 「mBaaS」のご紹介【NCMB】アプリのバックエンドを支えるサービス 「mBaaS」のご紹介
【NCMB】アプリのバックエンドを支えるサービス 「mBaaS」のご紹介Shohei Yamamoto
 
GTMF2017 アプリのバックエンドを支えるサービス「mBaaS」のご紹介 ニフティクラウド mobile backend
GTMF2017 アプリのバックエンドを支えるサービス「mBaaS」のご紹介  ニフティクラウド mobile backendGTMF2017 アプリのバックエンドを支えるサービス「mBaaS」のご紹介  ニフティクラウド mobile backend
GTMF2017 アプリのバックエンドを支えるサービス「mBaaS」のご紹介 ニフティクラウド mobile backendGame Tools & Middleware Forum
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料Hiroshi Senga
 
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜bitbank, Inc. Tokyo, Japan
 
使ってわかった!現場担当者が語るOpenStack運用管理の課題 - OpenStack最新情報セミナー 2015年2月
使ってわかった!現場担当者が語るOpenStack運用管理の課題  - OpenStack最新情報セミナー 2015年2月使ってわかった!現場担当者が語るOpenStack運用管理の課題  - OpenStack最新情報セミナー 2015年2月
使ってわかった!現場担当者が語るOpenStack運用管理の課題 - OpenStack最新情報セミナー 2015年2月VirtualTech Japan Inc.
 
Kubernetes 初心者の僕からの JKD 参加報告
Kubernetes 初心者の僕からの JKD 参加報告Kubernetes 初心者の僕からの JKD 参加報告
Kubernetes 初心者の僕からの JKD 参加報告Kentaro NOMURA
 
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューションUnityTechnologiesJapan002
 
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択Shingo Kitayama
 
Jazug-8th: Azure AKS & FIWARE & Robot
Jazug-8th: Azure AKS & FIWARE & RobotJazug-8th: Azure AKS & FIWARE & Robot
Jazug-8th: Azure AKS & FIWARE & RobotNobuyuki Matsui
 
グラフィック仮想化セミナ - 伊藤忠テクノソリューションズ株式会社様
グラフィック仮想化セミナ - 伊藤忠テクノソリューションズ株式会社様グラフィック仮想化セミナ - 伊藤忠テクノソリューションズ株式会社様
グラフィック仮想化セミナ - 伊藤忠テクノソリューションズ株式会社様Dell TechCenter Japan
 
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~Saki Homma
 
Express winter 2017_2018_jp
Express winter 2017_2018_jpExpress winter 2017_2018_jp
Express winter 2017_2018_jpEric Lo
 
20201009 hccjp ignite_update_hybrid
20201009 hccjp ignite_update_hybrid20201009 hccjp ignite_update_hybrid
20201009 hccjp ignite_update_hybridOsamu Takazoe
 

Ähnlich wie ニフクラのサービス基盤運用におけるCIの取り組み (20)

第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
 
インフラチームとCCoEの関係.pptx
インフラチームとCCoEの関係.pptxインフラチームとCCoEの関係.pptx
インフラチームとCCoEの関係.pptx
 
【NCMB】アプリのバックエンドを支えるサービス 「mBaaS」のご紹介
【NCMB】アプリのバックエンドを支えるサービス 「mBaaS」のご紹介【NCMB】アプリのバックエンドを支えるサービス 「mBaaS」のご紹介
【NCMB】アプリのバックエンドを支えるサービス 「mBaaS」のご紹介
 
GTMF2017 アプリのバックエンドを支えるサービス「mBaaS」のご紹介 ニフティクラウド mobile backend
GTMF2017 アプリのバックエンドを支えるサービス「mBaaS」のご紹介  ニフティクラウド mobile backendGTMF2017 アプリのバックエンドを支えるサービス「mBaaS」のご紹介  ニフティクラウド mobile backend
GTMF2017 アプリのバックエンドを支えるサービス「mBaaS」のご紹介 ニフティクラウド mobile backend
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料
 
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
 
使ってわかった!現場担当者が語るOpenStack運用管理の課題 - OpenStack最新情報セミナー 2015年2月
使ってわかった!現場担当者が語るOpenStack運用管理の課題  - OpenStack最新情報セミナー 2015年2月使ってわかった!現場担当者が語るOpenStack運用管理の課題  - OpenStack最新情報セミナー 2015年2月
使ってわかった!現場担当者が語るOpenStack運用管理の課題 - OpenStack最新情報セミナー 2015年2月
 
Kubernetes 初心者の僕からの JKD 参加報告
Kubernetes 初心者の僕からの JKD 参加報告Kubernetes 初心者の僕からの JKD 参加報告
Kubernetes 初心者の僕からの JKD 参加報告
 
AutoTVM紹介
AutoTVM紹介AutoTVM紹介
AutoTVM紹介
 
20181228 ncf to_azure_batch
20181228 ncf to_azure_batch20181228 ncf to_azure_batch
20181228 ncf to_azure_batch
 
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
 
インフラチームの歴史とこれから
インフラチームの歴史とこれからインフラチームの歴史とこれから
インフラチームの歴史とこれから
 
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
 
BPStudy#101発表資料
BPStudy#101発表資料BPStudy#101発表資料
BPStudy#101発表資料
 
Jazug-8th: Azure AKS & FIWARE & Robot
Jazug-8th: Azure AKS & FIWARE & RobotJazug-8th: Azure AKS & FIWARE & Robot
Jazug-8th: Azure AKS & FIWARE & Robot
 
グラフィック仮想化セミナ - 伊藤忠テクノソリューションズ株式会社様
グラフィック仮想化セミナ - 伊藤忠テクノソリューションズ株式会社様グラフィック仮想化セミナ - 伊藤忠テクノソリューションズ株式会社様
グラフィック仮想化セミナ - 伊藤忠テクノソリューションズ株式会社様
 
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
 
Express winter 2017_2018_jp
Express winter 2017_2018_jpExpress winter 2017_2018_jp
Express winter 2017_2018_jp
 
Ms retail update ra 20191030
Ms retail update ra 20191030Ms retail update ra 20191030
Ms retail update ra 20191030
 
20201009 hccjp ignite_update_hybrid
20201009 hccjp ignite_update_hybrid20201009 hccjp ignite_update_hybrid
20201009 hccjp ignite_update_hybrid
 

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

Mehr von 富士通クラウドテクノロジーズ株式会社 (16)

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サーバーを構築するまでの記録
 
自宅k8s/vSphere入門
自宅k8s/vSphere入門自宅k8s/vSphere入門
自宅k8s/vSphere入門
 
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
 
「ネットワーク超入門 IPsec VPN編」
「ネットワーク超入門 IPsec VPN編」「ネットワーク超入門 IPsec VPN編」
「ネットワーク超入門 IPsec VPN編」
 
GitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみたGitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみた
 
vSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについてvSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについて
 
入社2年目社員から見た VDI(DaaS)の運用とセキュリティ
入社2年目社員から見たVDI(DaaS)の運用とセキュリティ入社2年目社員から見たVDI(DaaS)の運用とセキュリティ
入社2年目社員から見た VDI(DaaS)の運用とセキュリティ
 
いつでも在宅勤務
いつでも在宅勤務いつでも在宅勤務
いつでも在宅勤務
 
テレワーク中もさみしくない!オンライン社内レクリエーションのススメ
テレワーク中もさみしくない!オンライン社内レクリエーションのススメテレワーク中もさみしくない!オンライン社内レクリエーションのススメ
テレワーク中もさみしくない!オンライン社内レクリエーションのススメ
 
エンジニアコミュニティ支援制度「NiFcLounge」のご紹介
エンジニアコミュニティ支援制度「NiFcLounge」のご紹介 エンジニアコミュニティ支援制度「NiFcLounge」のご紹介
エンジニアコミュニティ支援制度「NiFcLounge」のご紹介
 
2018年のハイブリッドクラウド事情と 2019年のクラウド予想!
2018年のハイブリッドクラウド事情と 2019年のクラウド予想!2018年のハイブリッドクラウド事情と 2019年のクラウド予想!
2018年のハイブリッドクラウド事情と 2019年のクラウド予想!
 

ニフクラのサービス基盤運用におけるCIの取り組み

  • 1. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 富士通クラウドテクノロジーズ 伊藤 将行 (2018/11/28 ニフクラエンジニアミートアップ #10) ニフクラのサービス基盤運用におけるCIの取り組み
  • 2. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED はじめに 自己紹介 • ニフクラの仮想化基盤周りの世話をするエンジニアです • VMware NSX • VMware vSphere 発表内容 • ニフクラを支える基盤運用にCIを取り入れようとしている話 • ニフクラ上での話ではない • まだまだ発展途上なので, 至らぬところも多い • 昨年末のエンジニアミートアップでも似た内容を話しました • 一言では… インフラ運用にもCI/CDをしっかり取り入れていきたい! 2
  • 3. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 3 CI(Continuous Integration)について
  • 4. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 4 開発 結合 integration conflict 修正 テスト 成果物ビルド 背景 長い時間 開発 開発 開発
  • 5. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 5 開発 開発 ビルド テスト 継続的インテグレーション 結合 結合 開発 ビルド テスト ビルド テスト 結合 開発 結合 ビルド テスト 日常的に結合(インテグレーション) → 継続的インテグレーション 小さな変更単位 → conflictやバグの リスク軽減 → 開発速度向上 頻繁な更新が発生 → ビルド・テストの 自動化が必須
  • 6. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 6 ニフクラの取り組み
  • 7. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 去年の現場 7 ※2017年12月の エンジニアミートアップ 資料より 求められる品質向上
  • 8. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED テスト自動化を進めよう 8 ソフトウェア開発はテストによって品質担保 昨今では自動テストや Continuous Integration (CI) も普及 Infrastructure as Codeの時代、 弊社でも運用に用いるものの多くはコード化されている 基盤運用の中でもCIを実現したい! • 自動テストによる品質の担保 • 変更反映の高速化による運用改善の高速化
  • 9. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED CI実現に向けた課題 インテグレーションテスト用の環境の整備が必要! • テスト自動化はCI実現の要 • 良いテスト環境がないのはその妨げ テスト環境の難点 • インフラのテスト環境は汚れやすい • 仮想化基盤の管理サーバー(vCenter等)は状態を持っている • 検証でも使われてしまったり… • 1から作って壊すを繰り返すには時間がかかる • テスト自動化する以上, テスト環境構築も自動化できていないと無意味 9
  • 10. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED Nested ESXi の活用 物理サーバー ESXi 仮想サーバー ESXi 仮想サーバー 仮想サーバー Linux Linux Nested ESXi API 操作 API 操作 物理サーバーをVMで模擬して API操作が可能に
  • 11. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED SV ESXi NIC NIC vSwitch VM vNIC vCenter Server VM vNIC ESXi vSwitch VM vNIC uplink portgroup VM vNIC VM vNIC ESXi vSwitch VM vNIC uplink portgroup VM vNIC uplink uplink vSwitch uplink uplink portgroup portgroup portgroup VM vNIC Linux (Docker Host) VM vNIC vNIC Linux proxy DNS ネットワーク分離 物理NWに繋がらない仮想スイッチで 環境を分離, 設定を統一可能
  • 12. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED ワークフロー 12 GitLab ESXiESXiESXi ESXi vCenter Server GitLab CI runner vCenter Server ESXi Docker Host VM VMVM VM テスト 環境 テスト 環境 テスト 環境 開発 環境 1. gitリポジトリへ コードをpush 6. テストコマンド 発行 2. CI用YAMLで 規定された手続き実行 4. テスト環境作成 コマンド発行 5. テスト環境の作成 3. テスト用 コンテナビルド 7. テストの実施
  • 13. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 成果物 テスト環境の自動作成の実現により色々と実現できた • テスト自体の自動化も推進 • Ansible playbookの自動テスト • サービスの挙動のテスト • 運用ツールのテスト • 実際にデグレの発見などにも役立った • 発見後, 調査のために再現させるなど繰り返しテストをすることになったため テスト自動化の恩恵は思ったより大きかった • 開発環境としての利用も出来た(副産物?) 13
  • 14. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 展望 自動でできるテスト項目の充実 • 良くも悪くも, 用意したテスト項目しか見られない Continuous Delivery / Continuous Deploy の実現 • 運用ツールや監視サーバーの変更は, 早く本番環境に適用したい 14
  • 15. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 15 さいごに
  • 16. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 仮想インフラの真価 インフラ運用でソフトウェアの力を最大限活かしたい • 仮想化・クラウドの発展でインフラなども含めて ソフトウェアで制御できる部分が広くなっている • 単なる運用自動化による工数削減にとどまらない • インフラ運用をソフトウェアと同一視できるようになってきた • ソフトウェア開発で培われた技術が応用可能 • サービス品質の向上やリリースサイクルの高速化などの価値を生み出せるはず 16
  • 17. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED 宣伝 たぶん, 発表と似た内容を弊社アドベントカレンダーに投稿します • https://qiita.com/advent-calendar/2018/fjct • 自分は多分12/21に書きます 17
  • 18. Copyright 2018 FUJITSU CLOUD TECHNOLOGIES LIMITED