Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

186 views

Published on

2018年11月28日のエンジニアミートアップ第10回
「ニフクラのサービス基盤運用におけるCIの取り組み」
富士通クラウドテクノロジーズ株式会社 伊藤 将行氏のLT資料

Published in: Engineering
  • Be the first to comment

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

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

×