SlideShare a Scribd company logo
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVEDCOPYRIGHT © 2014 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVEDCOPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
(※)
IaC: Infrastructure as Code (インフラのコード化)
CD: Continuous Delivery (継続的デリバリー)
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
自己紹介
発表者
• 吉川 晃平
(よしかわ こうへい)
• 住処:神奈川県藤沢市
• 趣味:スキー
• 好きな食べ物:
ラーメンパスタから肉チーズに改宗
経歴
• インフラ系システムエンジニア
• 海底ケーブルの監視GUI
• ISPのホームページ公開システム
• オンプレミスのWebポータル共通基
盤
• 興味:OpenStack,AWS,
Azure,Juju/MAAS,IoT,LXD・・・
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
発表内容
1. 弊社(三菱電機インフォメーションシステムズ:MDIS)のご紹介
2. 概要
3. 目的・モチベーション
4. しくみ
• デモ1:マスターサーバの構築
• デモ2:クローンVMの構築
5. デモンストレーション (ビデオ)
6. 考察とまとめ
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
MDIS 会社概要
三菱電機(株)
の情報システム
事業が分社化
し発足
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
拠点
鎌倉市(大船
駅)を技術拠点
に本社・支社を
全国配置
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
主な事業
高い技術力と豊かな発想で、社会に密着した多彩なソリューションを提供
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
MDISのOSS活用ソリューション
通信キャリア・サービスプロバイダー様向け、OSSを活用したシステムの導入支援。
http://www.mdis.co.jp/solution/oss/
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
COPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
発表の概要
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
最新のマス
ターサーバ
VM
VM
VM
マスターサーバを常に最新化 最新マスターから複数のVMを生成
生成結果の
レポート
システム環境生成指示
ジョブ実行
概要(詳細はのちほど)
システム構築を自動化する仕組みを検討しプロトタイプを作りました
ユースケース(活用シーン)
– 数十台のサーバを迅速正確に構築したい
– 脆弱性対応などのため多数のサーバのOS,ミドルウェアを最新化・動作確認したい
– インフラ構築における属人性やオペミスをなくしたい
自動化の仕組み
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
COPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
モチベーション
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
モチベーション
「あらゆる基盤上で迅速に
システム構築・デリバリを継続できる機構」
を活用したい。
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
車輪の再発明ではないか?
PaaS使えば
CloudFormation
Heat vRO
Vagrant
Packer
Teraform
CloudFoundry
OpenShift
Docker使えば
コンテナオーケストレータ Juju
MAAS
いまさら
CI/CDなんて
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
そんなカッコいいもんじゃないです
あたえられた環境
きめられた運用
契約上の制約
他システムへの
影響
いろいろな
基盤
小さな権限
パブリッククラウド
オンプレ
商用は
いじりたくない
きめられた
リソース
動的な運用
はNG
OSIレイヤの低い
システム
お客様の基盤運用でシステムをつくらせていただく制約
・・・の中でなんとかしたい。
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
SI業からみたインフラ自動化・標準化
SIとしてシステム構築にかかわる場合、案件・顧客が利用するインフラ基盤上にシステムを構築す
る場合が多い。そのため自動化を画一的に適用することが難しい。
■自社サービスを
ターゲットとする場合
• サービス構築を最短・
最小負荷にするための
基盤整備
• 基盤の標準化やサー
ビス粒度の画一化を
検討できる
基盤標準化
サービス構築
■SI事業者
• 顧客が利用する
インフラ基盤にシ
ステムを構築
• 標準化するのが
難しい
• 1システムのため
にPaaSやオーケ
ストレータを導入
するのが難しい
Aシステム構築
Bシステム構築
Cシステム構築
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
「本当にほしいもの」
「お客様のあらゆる基盤上で迅速にシステム構築・デリバリを継続できる機構」
– システム構築の急速なクラウドファースト化に対応するために。
– レガシーシステムのモダン化。オンプレミス基盤(vSphere等)で
稼働するシステムの構築・運用にも迅速さを与えるために。
– オンプレミス・プライベートクラウド・パブリッククラウドにとらわれない
システム構築の生産性と品質を求めるために。
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
COPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
基本設計
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
ターゲットインフラ
プロトタイプの設計を今後OpenStack等ほかのインフラへ展開できるよう考慮しています。
VMWare 環境構築 TDDコーディング 運用評価 商用へ引き継ぎ
OpenStack
プロトタイプ on
OpenStackへリ
ファクタリング
運用評価
他のインフラ リファクタリング
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
1
•失敗するテストを書く
•期待したエラーが出ることを確認
[Red]
2
•テストに通る最小限のコードを書く
•テストコードが通っていることを確認
[Green]
3.
•コードの重複除去等[Refactor]
•1.に戻る
参考: テスト駆動インフラの流れ
テスト駆動インフラでは、確認項目とテストコードを先に用意し、それに従いインフラコードを書きます。
1
•インフラ確認項目をテストコードで書く
•期待したエラーが出ることを確認
[Red]
2
•インフラ構築のためのコードを書く
•テストコードが通っていることを確認
[Green]
3
•必要なリファクタリング[Refactor]
•1.に戻る
[参考] テスト駆動開発 テスト駆動インフラ
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
インフラ構築環境の設計標準:自動実行・継続実行の仕組み
テスト駆動インフラの活用
インフラ構築後のあるべき状態をテストするコードを作成しテストコードが合格するように
インフラ構築のためのコーディングを行う手法。異なるインフラへの移設やリファクタリング時に有効
インフラテストコード
(インフラに依存せず構築結果をテスト)
インフラ構築方式・管理方式
(インフラに依存せず設計を監理)
VM作成
OS&アプリ設
定
ネットワーク設
定
コンテンツ
監視 ・・・
VMware Public Cloud
App
OS
App
OS
App
OS
App
OS
App
OS
App
OS
App
OS
App
OS
インフラ構築コード
(異なるインフラでは修正必要)
VM作成
OS&アプリ設
定
ネットワーク設
定
コンテンツ 監視 ・・・
インフラ構築コード
(異なるインフラでは修正必要)
VM作成
OS&アプリ設
定
ネットワーク設
定
コンテンツ 監視 ・・・
VM作成
OS&アプリ設
定
ネットワーク設
定
コンテンツ
監視 ・・・
テ
ス
ト
構
築
テ
ス
ト
構
築
案件ごとに
異なって
しまうコード
を局所化
設計やノウハウ
を標準化
していき
品質を共有
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
構成(将来実装予定分も含む)
Redmine
Jenkins
Gitlab
Target
Service
Ansible
サービスへの
自動設定
any IaaS(プロトタイプはvSphere)
vCenter API
Floating IP Floating IP
Blue Green
Product
Owner
Developer
Team
Service
Online
Environment
for Dev.
Master
(Team調整)
プロダクト
リリース
[BGD]
コラボレーション迅速化・高密度化
[目標]
サービス開発迅速化・
要件変化への対応迅速化
環境構築・試験の自動化
Ansible
Serverspec
可用性とスケーラビリティをもつ
Webポータル
(対応ミドルウェアは順次拡充
していく)
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
商用サービスの自動化段階
実際の商用サービスへ自動化を適用する際に考慮するべき方式と運用のユースケースです
特に運用に関係する箇所は、環境・案件ごとの運用に合わせた最適化が必要になります
1
• 構築手順をコード化する
2
• コードと構築後環境を構成管理する
3
• 構築結果をテストする
4
• 変更内容とテスト結果を可視化する
5
• 構築物をレビューする
6
• 構築物を現地へ適用する
7
• 新旧環境を切り替える
今回プロトタイプで
検証した領域
プロトタイプに「しくみ」は
いれたが、実運用に適用
させるべき領域
(人間系の運用)
適用先商用環境の
実装や運用に大きく
依存する領域
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
COPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
自動化機構の
実装方式
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
環境要件(基盤に許可いただく必要があるもの)
インターネットへの疎通
環境内でのDHCP,PXE利用
管理サーバ用仮想マシン1台
IaaS のAPI利用権限(オプション)
大がかりにしたくない、基盤に手をいれたくない
⇒お客様の環境に影響の少ない範囲で実施したい
最低限これだけ
あればよいです
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
管理サーバの構成
Slack
Clone
も入れ
たい・・・
Linux (Ubuntu 16.04)
dnsmasq
tfpd
Docker daemon
dhcpd
Container Container Container Container
Serverspec
Redmine GitlabMariaDBJenkins
Ansible
httpd
CentOS
Repo
Original
Repo
CentOS
Img
Kickstart
MAC-IP
Config
Test
Code
Playbook Project
Task
Ticket
Code
Review
etc...
Infrastructure (ex: vSphere,OpenStack,Baremetal ...)
Sub-network (Layer2 Switch)
コラボレーションツール群IaC/CDツール群リポジトリ/DHCP/PXE
Ubuntuだと
preseedかな
このVM1台を用意すれば、継続的な
デプロイを運用できるよう設計しています
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
実現方式概要
自動化の仕組み
– 定期的に自動で最新のリポジトリからマスターサーバを作りテストを行います
– 必要に応じ最新のマスターサーバから複数のVMを自動で生成・テストしシ
ステム環境を作ります
①空の
VMを作
成
②マス
ターサー
バ
③最新
のマス
ターサー
バ
(1a)
OSリポジトリ
(CentOS等)
OS/MWの最新
パッケージを取得
自動でOSを
インストール
モジュール最新化
と共通設定後
自動テスト
④ ⑤
マスターを複製し
複数のVMを生成
設定に基づき
各VMをカスタマイズ
(2)
ローカル
リポジト
リ
マスターサーバを常に最新化
最新マスターから複数のVMを生成
ローカルリポジトリ
(1b)
独自にビルド
したアプリ
生成結果の
レポート
システム環境生成指示
ジョブ実行
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
ジョブの状態遷移
(1b)
独自にビルド
したアプリ
(1a)
OSリポジトリ
(CentOS等)
[ジョブ1]
空VMを作成
MBR削除
+再起動
Kickstart
によるOS
インストール
とssh設定
[ジョブ2]
マスターサーバ
を設定
Ansible +
Servespec
★定期更新
★ PXEブート
★ OS生成完了後
Jenkins ジョブ2起動
[ジョブ3]
マスターから
クローンVM
作成し
定義に従い
各マシンを
カスタマイズ
★オペレータによる
Jenkinsジョブ3起動
[ジョブ0]
ローカルリポジトリ
の最新化
マスターサーバの自動最新化
[ジョブ0~2]
オンデマンドでクローンVM群を構築
[ジョブ3]
ローカルリポジトリ
Kickstart.cfg
OSイメージ
OSリポジトリ
Appリポジトリ
★差分検知で
Jenkinsジョブ1起動
各VMの
設定情報
(1行=1VM)
構成管理表 (Excel⇒TSV)
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
構成管理表
構成管理表はExcelなどの一般的な表ファイルとして管理(RDBなどでも可)
TSV(タブ区切りテキスト)に出力して管理サーバへアップロードする
TSV
出力
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
サーバ種別
VMのスペック
host名、NIC毎のIP
有効化するサービス
etc
構成管理表
管理性を考慮し、構築するクローンVM群の設定はExcelで管理します。
• 実態はTSV形式なので、管理自体はExcelでなくても、RDB等でもなんでもよい
• 一元管理された情報に基づいて構築とテストを行う
TSV
dhcp
.cnf
YAML
(A)
YAML
(B)
Jenkins
Ansible
Serverspec
dnsmasqVM構成の一元管理
Export
変換
変換
変換
配布
配布
配布
各サーバを構築
各サーバをテスト
DHCPでMACに基づき
サーバへIPを付与
Upload
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
実装上のポイント
•たいていの環境で動く保守的な構成
•対象がベアメタルでも動く
PXE+DHCPによるOS生成
•今回はvmware_guestモジュールを利用
•モジュール差し替えで他の環境への置換が容易
•可読性が高い
Ansible2.xモジュールによるインフラ操作
•運用者はコードで管理したくない。DBも使いたくない・・・
•Excel⇒TSV⇒YAMLに変換してAnsible, Serverspec, dnsmasqが参照
•一度環境を作ったら日々の運用はExcel台帳管理だけで済むように。
ExcelによるクローンVMの設定一元管理
•運用上・実装上の理由でAPIをたたけないときに
•VMクローンを手作業で一括実施したあとに後処理を自動実行
•人が張り付かなくてもすむように
手作業も考慮
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
デモンストレーション
映像による構築デモ
(ノーカット。ただし編集にて早送りによる時間短縮版)
1. デモ1:マスターサーバの構築
2. デモ2:クローンVMの構築
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
やってみての気づき(TDD)
「テスト駆動インフラ開発(TDD)」をかかげてみた
• 実際はそんな綺麗にはすすまなかった
⇒すべてが検証しながら、なのでテストドリブンとは限らなかった
• Ansible担当とServerspec担当に分かれて並列作業
⇒ TDDというよりペアプログラミングに近い・・・
⇒ お互いスプリントごとに決めたコードを書いて、レビュー時にジョブにいれて結合テスト
• 案外いい結果に!
⇒ 結合するとジョブが動かない! (いい意味で!)
⇒ 動かない理由をコードベースで議論すると考慮もれや設計の穴が見つかる
⇒ AnsibleとServerspecで違う観点で実装することで品質向上をうんでいた気がする
• このスタイルはありだなと。 (TDDか?という疑問はさておき)
⇒①属人性を薄め、②品質をうみ、③チーム間でノウハウを共有しやすい
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
vSphere API
• エンタープライズ
• 企業内共通基盤
AWS/Azure
API
• パブリッククラウド
• ハイブリッドクラウド
OpenStack
API
• プライベートクラウド
• ハイブリッドクラウド
ベアメタル
• ビッグデータ
• ネットワーク機器
今後の機能強化について
全体の設計は共有しつつ、シンプルな設計を活かして
①CIとの連携、②コンテナイメージ展開、③対応IaaS APIの拡充、
と適用範囲を拡大していきたいと考えています。
継続的イン
テグレーショ
ン
コードリポジトリ
アプリケーション開発
マイクロサービス開発
プラット
フォーム最
新化
OSリポジトリ
ミドルウェアリ
固有製品
継続的イン
テグレーショ
ン
プラット
フォーム最
新化
マスターVM
RPMパッケージ
コンテナイメージ
環境
設定
ドキュメント
基本となる設定・運用は変えないまま拡充していく
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
COPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
まとめ
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
発表のまとめ
1. システム構築を自動化する仕組みを検討しプロトタイプを作りました
– お客様の所有・利用する共通基盤上で活用する想定
– 基盤への影響や依存を少なくしています
– ターゲットはオンプレ基盤としてデファクトのvSphere環境。
– テスト駆動なアプローチでお客様環境への順応性と品質確保を狙っています。
2. ユースケース(活用シーン)
– 数十台のサーバを迅速正確に構築したい
– 脆弱性対応のため定期的に多数のサーバのOS,ミドルウェアを最新化・動作確認したい
– インフラ構築における属人性やオペミスをなくしたい
3. デモンストレーション
1. リポジトリ変更に応じてマスターサーバを自動構築
2. 構成管理表を元に複数サーバを自動構築
4. 今後順次拡充予定
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
案件募集・PoC募集
ご興味ある方お声掛けください
最新技術をキャッ
チする
PoC(Proof of
Concept)で
顧客業務要件へ
フィッティング
得意な領域を繰
り返し深く専門化
する
現場から湧き出る
PoCネタ募集!
ぜひお声掛けください
COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
COPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED
ご清聴ありがとうございました
Thank you !
http://www.mdis.co.jp/solution/oss/

More Related Content

PDF
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
PPTX
サーバーの脆弱性管理に関して(OpenStack + Vuls) - OpenStack最新情報セミナー(2016年12月)
PDF
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
PPTX
明日から試せる!ソフトウエアベースストレージ「ScaleIO」のご紹介 - OpenStack最新情報セミナー 2015年9月
PDF
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)
PPTX
DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月
PDF
EMC様講演 OpenStack最新情報セミナー 2014年6月
PDF
Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
サーバーの脆弱性管理に関して(OpenStack + Vuls) - OpenStack最新情報セミナー(2016年12月)
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
明日から試せる!ソフトウエアベースストレージ「ScaleIO」のご紹介 - OpenStack最新情報セミナー 2015年9月
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)
DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月
EMC様講演 OpenStack最新情報セミナー 2014年6月
Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月

What's hot (20)

PDF
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
PPTX
サイバーエージェント様 発表「OpenStackのNWと物理の話」
PDF
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
PPT
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
PPTX
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
PDF
実用段階に入ったOpenStack ~ もうすぐ絶滅するというPrivate Cloudの多様性について ~
PDF
OpenStackによる、実践オンプレミスクラウド
PPTX
OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月
PPTX
OpenStack Saharaを使ったデータ分析基板を作った話 - OpenStack最新情報セミナー(2016年7月)
PDF
AppFormix勉強会資料
PDF
日本HP様講演 OpenStack最新情報セミナー 2014年12月
PDF
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)
PDF
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月
PPT
ネットワン様講演 OpenStack最新情報セミナー 2014年2月
PDF
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
PPTX
AmebaのOpenStack - OpenStack最新情報セミナー 2015年12月
PPTX
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
PDF
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
PDF
大規模環境のOpenStack アップグレードの考え方と実施のコツ
PPTX
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
サイバーエージェント様 発表「OpenStackのNWと物理の話」
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
実用段階に入ったOpenStack ~ もうすぐ絶滅するというPrivate Cloudの多様性について ~
OpenStackによる、実践オンプレミスクラウド
OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月
OpenStack Saharaを使ったデータ分析基板を作った話 - OpenStack最新情報セミナー(2016年7月)
AppFormix勉強会資料
日本HP様講演 OpenStack最新情報セミナー 2014年12月
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月
ネットワン様講演 OpenStack最新情報セミナー 2014年2月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
AmebaのOpenStack - OpenStack最新情報セミナー 2015年12月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
大規模環境のOpenStack アップグレードの考え方と実施のコツ
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
Ad

Viewers also liked (20)

PPTX
NTTドコモ様 導入事例 OpenStack Summit 2016 Barcelona 講演「Expanding and Deepening NTT D...
PPTX
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
PPTX
あらためて考える、これからの仮想化インフラのためのデータセンター
PPTX
Bare Metal Provisioning for Big Data - OpenStack最新情報セミナー(2016年12月)
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
How logging makes a private cloud a better cloud - OpenStack最新情報セミナー(2016年12月)
PDF
Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)
PPTX
最近のたまおきの取り組み 〜OpenStack+αの実現に向けて〜 - OpenStack最新情報セミナー(2017年3月)
PPTX
Z Lab社におけるOpenStack × Kubernetesの活用 〜アプリケーション開発者からみた課題解決 - OpenStack最新情報セミナー...
PPTX
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
PPTX
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
PPTX
OCP, Kubernetes ハイパースケールアーキテクチャ 導入の道のり - OpenStack最新情報セミナー(2016年7月)
PDF
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
PDF
Ironicを運用して半年が経過しました - OpenStack最新情報セミナー(2016年7月)
PDF
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
PDF
TDDのこれまで、そしてこれから
PPTX
PHPにないセキュリティ機能
PDF
OpenvSwitchのモニタリングと管理機能
PPTX
Autonomous Drone Development with Java and IoT
PDF
Ai for drone navigation
NTTドコモ様 導入事例 OpenStack Summit 2016 Barcelona 講演「Expanding and Deepening NTT D...
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
あらためて考える、これからの仮想化インフラのためのデータセンター
Bare Metal Provisioning for Big Data - OpenStack最新情報セミナー(2016年12月)
今さら聞けない人のためのDevOps超入門
How logging makes a private cloud a better cloud - OpenStack最新情報セミナー(2016年12月)
Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)
最近のたまおきの取り組み 〜OpenStack+αの実現に向けて〜 - OpenStack最新情報セミナー(2017年3月)
Z Lab社におけるOpenStack × Kubernetesの活用 〜アプリケーション開発者からみた課題解決 - OpenStack最新情報セミナー...
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
OCP, Kubernetes ハイパースケールアーキテクチャ 導入の道のり - OpenStack最新情報セミナー(2016年7月)
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
Ironicを運用して半年が経過しました - OpenStack最新情報セミナー(2016年7月)
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
TDDのこれまで、そしてこれから
PHPにないセキュリティ機能
OpenvSwitchのモニタリングと管理機能
Autonomous Drone Development with Java and IoT
Ai for drone navigation
Ad

Similar to CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月) (20)

PDF
Aws summits2014 nttデータaws上のシステムはこう作る!
PDF
AWSオンリーで実現するIoTクラウド基盤
PDF
Microsoft MVP が語る Azure 移行の勘所
PDF
マルチテナントメッセージング基盤を刷新して一年運用した話
PDF
Automation with SoftLayer and Zabbix
PDF
[CTO Night & Day 2019] AWS のコスト最適化 #ctonight
PDF
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
PDF
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
PDF
Internet of Toilet / Jaws festa 2016
PPTX
Interop Tokyo 2016 | ソラコムの戦略
PDF
【HinemosWorld2016】A1-4_Hinemosを用いた大規模システム運用管理
PDF
Hinemosによるクラウド運用管理の最新情報
PPTX
Mbed祭り 2017@春の新横浜 20170225 竹之下
PPTX
ニフティクラウド C4 sa ご紹介資料ver.1.2
PDF
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
PPTX
Fukuten 20200117 up
PDF
Zabbixをもっと便利に!安全に!
PDF
高度クラウド環境だからこそ、Hinemosで運用自動化・一元化
PPTX
AWS Summit 2016 「新規事業 "auでんき”をクラウドスピードでサービスイン」
PDF
Azure <3 Openness
Aws summits2014 nttデータaws上のシステムはこう作る!
AWSオンリーで実現するIoTクラウド基盤
Microsoft MVP が語る Azure 移行の勘所
マルチテナントメッセージング基盤を刷新して一年運用した話
Automation with SoftLayer and Zabbix
[CTO Night & Day 2019] AWS のコスト最適化 #ctonight
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
Internet of Toilet / Jaws festa 2016
Interop Tokyo 2016 | ソラコムの戦略
【HinemosWorld2016】A1-4_Hinemosを用いた大規模システム運用管理
Hinemosによるクラウド運用管理の最新情報
Mbed祭り 2017@春の新横浜 20170225 竹之下
ニフティクラウド C4 sa ご紹介資料ver.1.2
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
Fukuten 20200117 up
Zabbixをもっと便利に!安全に!
高度クラウド環境だからこそ、Hinemosで運用自動化・一元化
AWS Summit 2016 「新規事業 "auでんき”をクラウドスピードでサービスイン」
Azure <3 Openness

More from VirtualTech Japan Inc. (20)

PDF
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
PPTX
エンジニアが幸せになれる会社を目指します
PDF
KubeVirt 201 How to Using the GPU
PDF
PDF
今からはじめる! Linuxコマンド入門
PDF
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
PDF
Kubernetes雑にまとめてみた 2020年8月版
PDF
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
PDF
5G時代のアプリケーション開発とは
PDF
hbstudy#88 5G+MEC時代のシステム設計
PDF
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
PDF
Kubernetes雑にまとめてみた 2019年12月版
PPTX
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
PPTX
Docker超入門
PDF
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
PDF
KubeCon China & MWC Shangai 出張報告
PDF
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
PDF
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
PDF
Multi-access Edge Computing(MEC)における”Edge”の定義
PPTX
Edge Computing Architecture using GPUs and Kubernetes
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
エンジニアが幸せになれる会社を目指します
KubeVirt 201 How to Using the GPU
今からはじめる! Linuxコマンド入門
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
Kubernetes雑にまとめてみた 2020年8月版
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
5G時代のアプリケーション開発とは
hbstudy#88 5G+MEC時代のシステム設計
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
Kubernetes雑にまとめてみた 2019年12月版
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
Docker超入門
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
KubeCon China & MWC Shangai 出張報告
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Multi-access Edge Computing(MEC)における”Edge”の定義
Edge Computing Architecture using GPUs and Kubernetes

CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)

  • 1. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVEDCOPYRIGHT © 2014 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVEDCOPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED (※) IaC: Infrastructure as Code (インフラのコード化) CD: Continuous Delivery (継続的デリバリー)
  • 2. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 自己紹介 発表者 • 吉川 晃平 (よしかわ こうへい) • 住処:神奈川県藤沢市 • 趣味:スキー • 好きな食べ物: ラーメンパスタから肉チーズに改宗 経歴 • インフラ系システムエンジニア • 海底ケーブルの監視GUI • ISPのホームページ公開システム • オンプレミスのWebポータル共通基 盤 • 興味:OpenStack,AWS, Azure,Juju/MAAS,IoT,LXD・・・
  • 3. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 発表内容 1. 弊社(三菱電機インフォメーションシステムズ:MDIS)のご紹介 2. 概要 3. 目的・モチベーション 4. しくみ • デモ1:マスターサーバの構築 • デモ2:クローンVMの構築 5. デモンストレーション (ビデオ) 6. 考察とまとめ
  • 4. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED MDIS 会社概要 三菱電機(株) の情報システム 事業が分社化 し発足
  • 5. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 拠点 鎌倉市(大船 駅)を技術拠点 に本社・支社を 全国配置
  • 6. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 主な事業 高い技術力と豊かな発想で、社会に密着した多彩なソリューションを提供
  • 7. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED MDISのOSS活用ソリューション 通信キャリア・サービスプロバイダー様向け、OSSを活用したシステムの導入支援。 http://www.mdis.co.jp/solution/oss/
  • 8. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED COPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 発表の概要
  • 9. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 最新のマス ターサーバ VM VM VM マスターサーバを常に最新化 最新マスターから複数のVMを生成 生成結果の レポート システム環境生成指示 ジョブ実行 概要(詳細はのちほど) システム構築を自動化する仕組みを検討しプロトタイプを作りました ユースケース(活用シーン) – 数十台のサーバを迅速正確に構築したい – 脆弱性対応などのため多数のサーバのOS,ミドルウェアを最新化・動作確認したい – インフラ構築における属人性やオペミスをなくしたい 自動化の仕組み
  • 10. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED COPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED モチベーション
  • 11. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED モチベーション 「あらゆる基盤上で迅速に システム構築・デリバリを継続できる機構」 を活用したい。
  • 12. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 車輪の再発明ではないか? PaaS使えば CloudFormation Heat vRO Vagrant Packer Teraform CloudFoundry OpenShift Docker使えば コンテナオーケストレータ Juju MAAS いまさら CI/CDなんて
  • 13. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED そんなカッコいいもんじゃないです あたえられた環境 きめられた運用 契約上の制約 他システムへの 影響 いろいろな 基盤 小さな権限 パブリッククラウド オンプレ 商用は いじりたくない きめられた リソース 動的な運用 はNG OSIレイヤの低い システム お客様の基盤運用でシステムをつくらせていただく制約 ・・・の中でなんとかしたい。
  • 14. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED SI業からみたインフラ自動化・標準化 SIとしてシステム構築にかかわる場合、案件・顧客が利用するインフラ基盤上にシステムを構築す る場合が多い。そのため自動化を画一的に適用することが難しい。 ■自社サービスを ターゲットとする場合 • サービス構築を最短・ 最小負荷にするための 基盤整備 • 基盤の標準化やサー ビス粒度の画一化を 検討できる 基盤標準化 サービス構築 ■SI事業者 • 顧客が利用する インフラ基盤にシ ステムを構築 • 標準化するのが 難しい • 1システムのため にPaaSやオーケ ストレータを導入 するのが難しい Aシステム構築 Bシステム構築 Cシステム構築
  • 15. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 「本当にほしいもの」 「お客様のあらゆる基盤上で迅速にシステム構築・デリバリを継続できる機構」 – システム構築の急速なクラウドファースト化に対応するために。 – レガシーシステムのモダン化。オンプレミス基盤(vSphere等)で 稼働するシステムの構築・運用にも迅速さを与えるために。 – オンプレミス・プライベートクラウド・パブリッククラウドにとらわれない システム構築の生産性と品質を求めるために。
  • 16. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED COPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 基本設計
  • 17. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED ターゲットインフラ プロトタイプの設計を今後OpenStack等ほかのインフラへ展開できるよう考慮しています。 VMWare 環境構築 TDDコーディング 運用評価 商用へ引き継ぎ OpenStack プロトタイプ on OpenStackへリ ファクタリング 運用評価 他のインフラ リファクタリング
  • 18. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 1 •失敗するテストを書く •期待したエラーが出ることを確認 [Red] 2 •テストに通る最小限のコードを書く •テストコードが通っていることを確認 [Green] 3. •コードの重複除去等[Refactor] •1.に戻る 参考: テスト駆動インフラの流れ テスト駆動インフラでは、確認項目とテストコードを先に用意し、それに従いインフラコードを書きます。 1 •インフラ確認項目をテストコードで書く •期待したエラーが出ることを確認 [Red] 2 •インフラ構築のためのコードを書く •テストコードが通っていることを確認 [Green] 3 •必要なリファクタリング[Refactor] •1.に戻る [参考] テスト駆動開発 テスト駆動インフラ
  • 19. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED インフラ構築環境の設計標準:自動実行・継続実行の仕組み テスト駆動インフラの活用 インフラ構築後のあるべき状態をテストするコードを作成しテストコードが合格するように インフラ構築のためのコーディングを行う手法。異なるインフラへの移設やリファクタリング時に有効 インフラテストコード (インフラに依存せず構築結果をテスト) インフラ構築方式・管理方式 (インフラに依存せず設計を監理) VM作成 OS&アプリ設 定 ネットワーク設 定 コンテンツ 監視 ・・・ VMware Public Cloud App OS App OS App OS App OS App OS App OS App OS App OS インフラ構築コード (異なるインフラでは修正必要) VM作成 OS&アプリ設 定 ネットワーク設 定 コンテンツ 監視 ・・・ インフラ構築コード (異なるインフラでは修正必要) VM作成 OS&アプリ設 定 ネットワーク設 定 コンテンツ 監視 ・・・ VM作成 OS&アプリ設 定 ネットワーク設 定 コンテンツ 監視 ・・・ テ ス ト 構 築 テ ス ト 構 築 案件ごとに 異なって しまうコード を局所化 設計やノウハウ を標準化 していき 品質を共有
  • 20. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 構成(将来実装予定分も含む) Redmine Jenkins Gitlab Target Service Ansible サービスへの 自動設定 any IaaS(プロトタイプはvSphere) vCenter API Floating IP Floating IP Blue Green Product Owner Developer Team Service Online Environment for Dev. Master (Team調整) プロダクト リリース [BGD] コラボレーション迅速化・高密度化 [目標] サービス開発迅速化・ 要件変化への対応迅速化 環境構築・試験の自動化 Ansible Serverspec 可用性とスケーラビリティをもつ Webポータル (対応ミドルウェアは順次拡充 していく)
  • 21. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 商用サービスの自動化段階 実際の商用サービスへ自動化を適用する際に考慮するべき方式と運用のユースケースです 特に運用に関係する箇所は、環境・案件ごとの運用に合わせた最適化が必要になります 1 • 構築手順をコード化する 2 • コードと構築後環境を構成管理する 3 • 構築結果をテストする 4 • 変更内容とテスト結果を可視化する 5 • 構築物をレビューする 6 • 構築物を現地へ適用する 7 • 新旧環境を切り替える 今回プロトタイプで 検証した領域 プロトタイプに「しくみ」は いれたが、実運用に適用 させるべき領域 (人間系の運用) 適用先商用環境の 実装や運用に大きく 依存する領域
  • 22. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED COPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 自動化機構の 実装方式
  • 23. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 環境要件(基盤に許可いただく必要があるもの) インターネットへの疎通 環境内でのDHCP,PXE利用 管理サーバ用仮想マシン1台 IaaS のAPI利用権限(オプション) 大がかりにしたくない、基盤に手をいれたくない ⇒お客様の環境に影響の少ない範囲で実施したい 最低限これだけ あればよいです
  • 24. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 管理サーバの構成 Slack Clone も入れ たい・・・ Linux (Ubuntu 16.04) dnsmasq tfpd Docker daemon dhcpd Container Container Container Container Serverspec Redmine GitlabMariaDBJenkins Ansible httpd CentOS Repo Original Repo CentOS Img Kickstart MAC-IP Config Test Code Playbook Project Task Ticket Code Review etc... Infrastructure (ex: vSphere,OpenStack,Baremetal ...) Sub-network (Layer2 Switch) コラボレーションツール群IaC/CDツール群リポジトリ/DHCP/PXE Ubuntuだと preseedかな このVM1台を用意すれば、継続的な デプロイを運用できるよう設計しています
  • 25. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 実現方式概要 自動化の仕組み – 定期的に自動で最新のリポジトリからマスターサーバを作りテストを行います – 必要に応じ最新のマスターサーバから複数のVMを自動で生成・テストしシ ステム環境を作ります ①空の VMを作 成 ②マス ターサー バ ③最新 のマス ターサー バ (1a) OSリポジトリ (CentOS等) OS/MWの最新 パッケージを取得 自動でOSを インストール モジュール最新化 と共通設定後 自動テスト ④ ⑤ マスターを複製し 複数のVMを生成 設定に基づき 各VMをカスタマイズ (2) ローカル リポジト リ マスターサーバを常に最新化 最新マスターから複数のVMを生成 ローカルリポジトリ (1b) 独自にビルド したアプリ 生成結果の レポート システム環境生成指示 ジョブ実行
  • 26. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED ジョブの状態遷移 (1b) 独自にビルド したアプリ (1a) OSリポジトリ (CentOS等) [ジョブ1] 空VMを作成 MBR削除 +再起動 Kickstart によるOS インストール とssh設定 [ジョブ2] マスターサーバ を設定 Ansible + Servespec ★定期更新 ★ PXEブート ★ OS生成完了後 Jenkins ジョブ2起動 [ジョブ3] マスターから クローンVM 作成し 定義に従い 各マシンを カスタマイズ ★オペレータによる Jenkinsジョブ3起動 [ジョブ0] ローカルリポジトリ の最新化 マスターサーバの自動最新化 [ジョブ0~2] オンデマンドでクローンVM群を構築 [ジョブ3] ローカルリポジトリ Kickstart.cfg OSイメージ OSリポジトリ Appリポジトリ ★差分検知で Jenkinsジョブ1起動 各VMの 設定情報 (1行=1VM) 構成管理表 (Excel⇒TSV)
  • 27. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 構成管理表 構成管理表はExcelなどの一般的な表ファイルとして管理(RDBなどでも可) TSV(タブ区切りテキスト)に出力して管理サーバへアップロードする TSV 出力
  • 28. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED サーバ種別 VMのスペック host名、NIC毎のIP 有効化するサービス etc 構成管理表 管理性を考慮し、構築するクローンVM群の設定はExcelで管理します。 • 実態はTSV形式なので、管理自体はExcelでなくても、RDB等でもなんでもよい • 一元管理された情報に基づいて構築とテストを行う TSV dhcp .cnf YAML (A) YAML (B) Jenkins Ansible Serverspec dnsmasqVM構成の一元管理 Export 変換 変換 変換 配布 配布 配布 各サーバを構築 各サーバをテスト DHCPでMACに基づき サーバへIPを付与 Upload
  • 29. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 実装上のポイント •たいていの環境で動く保守的な構成 •対象がベアメタルでも動く PXE+DHCPによるOS生成 •今回はvmware_guestモジュールを利用 •モジュール差し替えで他の環境への置換が容易 •可読性が高い Ansible2.xモジュールによるインフラ操作 •運用者はコードで管理したくない。DBも使いたくない・・・ •Excel⇒TSV⇒YAMLに変換してAnsible, Serverspec, dnsmasqが参照 •一度環境を作ったら日々の運用はExcel台帳管理だけで済むように。 ExcelによるクローンVMの設定一元管理 •運用上・実装上の理由でAPIをたたけないときに •VMクローンを手作業で一括実施したあとに後処理を自動実行 •人が張り付かなくてもすむように 手作業も考慮
  • 30. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED デモンストレーション 映像による構築デモ (ノーカット。ただし編集にて早送りによる時間短縮版) 1. デモ1:マスターサーバの構築 2. デモ2:クローンVMの構築
  • 31. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED やってみての気づき(TDD) 「テスト駆動インフラ開発(TDD)」をかかげてみた • 実際はそんな綺麗にはすすまなかった ⇒すべてが検証しながら、なのでテストドリブンとは限らなかった • Ansible担当とServerspec担当に分かれて並列作業 ⇒ TDDというよりペアプログラミングに近い・・・ ⇒ お互いスプリントごとに決めたコードを書いて、レビュー時にジョブにいれて結合テスト • 案外いい結果に! ⇒ 結合するとジョブが動かない! (いい意味で!) ⇒ 動かない理由をコードベースで議論すると考慮もれや設計の穴が見つかる ⇒ AnsibleとServerspecで違う観点で実装することで品質向上をうんでいた気がする • このスタイルはありだなと。 (TDDか?という疑問はさておき) ⇒①属人性を薄め、②品質をうみ、③チーム間でノウハウを共有しやすい
  • 32. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED vSphere API • エンタープライズ • 企業内共通基盤 AWS/Azure API • パブリッククラウド • ハイブリッドクラウド OpenStack API • プライベートクラウド • ハイブリッドクラウド ベアメタル • ビッグデータ • ネットワーク機器 今後の機能強化について 全体の設計は共有しつつ、シンプルな設計を活かして ①CIとの連携、②コンテナイメージ展開、③対応IaaS APIの拡充、 と適用範囲を拡大していきたいと考えています。 継続的イン テグレーショ ン コードリポジトリ アプリケーション開発 マイクロサービス開発 プラット フォーム最 新化 OSリポジトリ ミドルウェアリ 固有製品 継続的イン テグレーショ ン プラット フォーム最 新化 マスターVM RPMパッケージ コンテナイメージ 環境 設定 ドキュメント 基本となる設定・運用は変えないまま拡充していく
  • 33. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED COPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED まとめ
  • 34. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 発表のまとめ 1. システム構築を自動化する仕組みを検討しプロトタイプを作りました – お客様の所有・利用する共通基盤上で活用する想定 – 基盤への影響や依存を少なくしています – ターゲットはオンプレ基盤としてデファクトのvSphere環境。 – テスト駆動なアプローチでお客様環境への順応性と品質確保を狙っています。 2. ユースケース(活用シーン) – 数十台のサーバを迅速正確に構築したい – 脆弱性対応のため定期的に多数のサーバのOS,ミドルウェアを最新化・動作確認したい – インフラ構築における属人性やオペミスをなくしたい 3. デモンストレーション 1. リポジトリ変更に応じてマスターサーバを自動構築 2. 構成管理表を元に複数サーバを自動構築 4. 今後順次拡充予定
  • 35. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED 案件募集・PoC募集 ご興味ある方お声掛けください 最新技術をキャッ チする PoC(Proof of Concept)で 顧客業務要件へ フィッティング 得意な領域を繰 り返し深く専門化 する 現場から湧き出る PoCネタ募集! ぜひお声掛けください
  • 36. COPYRIGHT © 2016 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED COPYRIGHT © 2015 MITSUBISHI ELECTRIC INFORMATION SYSTEMS CORPORATION ALL RIGHTS RESERVED ご清聴ありがとうございました Thank you ! http://www.mdis.co.jp/solution/oss/