ansibleによる自動構築 ベストプラクティスをossで公開 · n...

66
Copyright © 2017 TIS Inc. All rights reserved. 2017年8月4日 OBCI理事,TIS株式会社 OSS推進室 溝口 則行 Ansibleによる自動構築 ベストプラクティスをOSSで公開 OSC2017 Kyoto オープンソースビジネス推進協議会(OBCI) 配布用

Upload: phamthuan

Post on 13-May-2018

239 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

2017年8月4日OBCI理事,TIS株式会社 OSS推進室溝口 則行

Ansibleによる自動構築ベストプラクティスをOSSで公開

OSC2017 Kyotoオープンソースビジネス推進協議会(OBCI)

配布用

Page 2: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 2

Agenda

n 自己紹介 & 私たちのチームの紹介

n 私たちが目指していること

n  SHIFT紀元前: OSSミドルウェアのおすすめパターン化

n  IaC/IT基盤構築自動化/自動化ツール入門

n  Project SHIFT & SHIFT ware

n  “SHIFT ware"公開

n 成果の公開に向けたあれやこれや

n まとめ

Page 3: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 3

自己紹介溝口 則行 , TIS株式会社 IT基盤技術本部 OSS推進室長

〜2000年代前半:  LISPでエキスパートシステム型ビジネスアプリの開発  UNIXとC言語を中心にしたシステム開発  消費者向けインターネットサイトのシステム構築,運用保守2000年代前半〜:   TIS戦略技術センター(現組織名)にて技術コンサルティング  得意分野: ・Linux/UNIX系システムでのミドルウェア         ・性能エンジニアリング  ミドルウェアを中心にしたOSS活用推進グループのリーダ2015年度〜:  OSS推進室 室長その他: ・オープンソースビジネス推進協議会(OBCI) 理事 ・OSSコンソーシアム 理事 ・OSS運用管理勉強会 世話人 ・経済産業省所管 情報処理技術者試験 試験委員 ・執筆: @IT 連載「性能エンジニアリング入門」,他 http://www.atmarkit.co.jp/fnetwork/index/index_perform.html

Page 4: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 4

私たちのチーム — OSSコミュニティへの貢献: Zabbixの情報発信、機能強化

クラウド環境を監視するための

拡張機能をOSS公開

マニュアルだけではわからない

活用のノウハウを書籍化

コミュニティ活動への

参加・運営協力

ラトビア共和国・リガで開催された

年次大会での講演

Page 5: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 5

私たちのチーム — OSSコミュニティへの貢献: PostgreSQLの情報発信、機能強化

コンソーシアムWGリーダと

して検証成果を発表

PostgreSQL監視

機能をOSS公開

コミュニティからの表彰有力メディアを通じて

検証成果を発表

Page 6: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 6

私たちのチーム — OSSコミュニティへの貢献: Ansibleの情報発信

今年,集客力抜群な

ネタとタレント

既に満員御礼

Page 7: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 7

私たちの取り組み — OpenStack技術者育成

Page 8: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 8

私たちの取り組み - これまで公開してきたOSS

TIS & SRA OSS 共同開発

Page 9: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 9

その他に…

Page 10: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 10

私たちが目指していること

〜 クラウド時代のオープンなIT基盤のために 〜

Page 11: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

OSSの活用推進の立場から…

11

製品毎の成熟度

OSSの成熟度

参考: IPA,「オープンソースで構築! ITシステム導入虎の巻」 http://www.ipa.go.jp/software/open/ossc/book/toranomaki.html

個別製品を越えた対応が必要= インテグレーションが必要

Web,メール(単体)

ワークグループOA

DB(単体)

Web, APサーバ

業務サービス

基幹業務

個々のOSS自体の成熟度の問題ではな

く,主に活用ノウハウの成熟度の問題。

領域

Page 12: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

企業システムアーキテクチャの観点から…

12

都市計画メタファー

「企業情報システムアーキテクチャ」(南波幸雄, 翔泳社, 2009) を参考に

個別の建物

都市

個別の情報システム

企業情報システム

&公共インフラ

関係性 関係性

公共インフラインターネット, パブリッククラウド ←中身はOSS

事業部1固有のIT

事業部2固有のIT

共有するITサービス事業部1の

固有ITサービス事業部2の

固有ITサービス

全社的なインフラOSS + プライベートクラウド, (他)

共有機能インフラOSS, (他)

インフラ(基盤)がクローズドなもの

であってはならない(おかしい)

Page 13: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

IT基盤技術参照モデル (策定中)

13

運用管理基盤

ハードウェア

仮想化基盤

基盤ソフトウェア

(運用サービス) (業務アプリケーション/サービス)

(従来系ミドル) (新世代サービス系) (共通サービス系)(基盤構築)

(OS)

Page 14: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

IT基盤技術参照モデル (策定中)

14

運用管理基盤

ハードウェア

仮想化基盤

基盤ソフトウェア

(運用サービス) (業務アプリケーション/サービス)

サーバ(CPU) ストレージ ネットワーク

(従来系ミドル)

Webサーバ

APサーバ

DBMS

OS

(新世代サービス系)

AI/Deep Learning

ビッグデータ処理

分散処理基盤

(共通サービス系)

認証・ID管理

メッセージング

クラスタウェア

(他)

可用性

性能・拡張

(基盤構築)

導入

パラ

メー

タ設

計・設 定

構築

自動

運用サービス運用自動化

監視

バッチジョブ管理

構成管理

バックアップ

性能管理

インシデント管理

セキュリティ管理

運用インテグレーション

オーケストレーション

サーバ仮想化

SDS SDN

Page 15: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

たとえばIaaSモデルなら…

15

運用管理基盤

ハードウェア

仮想化基盤

基盤ソフトウェア

(運用サービス) (業務アプリケーション/サービス)

サーバ(CPU) ストレージ ネットワーク

(従来系ミドル)

Webサーバ

APサーバ

DBMS

OS

(新世代サービス系)

AI/Deep Learning

ビッグデータ処理

分散処理基盤

(共通サービス系)

認証・ID管理

メッセージング

クラスタウェア

(他)

可用性

性能・拡張

(基盤構築)

導入

パラ

メー

タ設

計・設 定

構築

自動

運用サービス運用自動化

監視

バッチジョブ管理

構成管理

バックアップ

性能管理

インシデント管理

セキュリティ管理

運用インテグレーション

オーケストレーション

サーバ仮想化

SDS SDN※ クラウドサービス利用(物理環境は意識せず)

Page 16: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

推奨構成パターンの一例

16

運用管理基盤

ハードウェア

仮想化基盤

基盤ソフトウェア

(運用サービス) (業務アプリケーション/サービス)

サーバ(CPU)

ストレージ ネットワーク

(従来系ミドル)

Webサーバ

APサーバ

DBMS

OS

(新世代サービス系)

AI/Deep Learning

ビッグデータ処理

分散処理基盤

(共通サービス系)

認証・ID管理

メッセージング

クラスタウェア

(他)

可用性

性能・拡張

(基盤構築)

導入

パラ

メー

タ設

計・設 定

構築

自動

運用サービス運用自動化

監視

バッチジョブ管理

構成管理

バックアップ

性能管理

インシデント管理

セキュリティ管理

運用インテグレーション

オーケストレーション

サーバ仮想化

SDS SDN

Zabbix

JobSch.

OTRS

Bacula

Apache

JBoss Tomcat

PostgreSQL

Linux Pacemaker DRBD

Ansible

Serverspec Windows

vSphere (OpenStack)AWS

Page 17: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

自動化をエンジンとして,品質と生産性の向上を目指す

17

運用管理基盤

ハードウェア

仮想化基盤

基盤ソフトウェア

(運用サービス) (業務アプリケーション/サービス)

サーバ(CPU)

ストレージ ネットワーク

(従来系ミドル)

Webサーバ

APサーバ

DBMS

OS

(新世代サービス系)

AI/Deep Learning

ビッグデータ処理

分散処理基盤

(共通サービス系)

認証・ID管理

メッセージング

クラスタウェア

(他)

可用性

性能・拡張

(基盤構築)

導入

パラ

メー

タ設

計・設 定

構築

自動

運用サービス運用自動化

監視

バッチジョブ管理

構成管理

バックアップ

性能管理

インシデント管理

セキュリティ管理

運用インテグレーション

オーケストレーション

サーバ仮想化

SDS SDN

Zabbix

JobSch.

OTRS

Bacula

Apache

JBoss Tomcat

PostgreSQL

Linux Pacemaker DRBD

Ansible

Serverspec Windows

vSphere (OpenStack)AWS

script

script

script

script

script

script script

script

script script script

script script script

Page 18: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 18

SHIFT紀元前:OSSミドルウェアのおすすめパターン化【ISHIGAKI Template】

2010年〜

Page 19: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

OSS推奨組合せ 「ISHIGAKI Template」

19

Page 20: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

ISHIGAKI Template の構成パターン

20- 8 -- 8 - TIS Inc. http://www.tis.jp/r/ossTIS Inc. http://www.tis.jp/r/ossTIS Enterprise OSS SupportTIS Enterprise OSS Support

3種類の構成パターン3種類の構成パターン

Page 21: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

この実現のために検証にかなりの労力を掛けているのはなぜ?

l 実証主義l システムインテグレータの,重要な社会的役割のひとつ

ü 実際の情報システムを稼働させ,運用させることに責任を負う

ü インテグレートする対象物が動くことを,誰かが実証しなければならない。

ü OSSの場合,それは「製品製造元」ではない。

21

検証結果や独自の機能拡張も,コンソーシアム活動やメディア等を通じて公開  ↓OSSエコシステムに貢献しながら,エンタープライズ利用を促進していく

Page 22: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 22

IaC(※)/IT基盤構築自動化/自動化ツール入門

(※… Infrastructure as Code)

Page 23: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

これまでのITインフラ構築・保守・運用

23

⼿順書設計書

ドキュメントと実機の乖離

⼈的ミス

属⼈化・引き継ぎの課題

リニアなコスト増加

品質低下 コストアップ

Page 24: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

これからのITインフラ構築・保守・運用

24

品質・⾼ ⽣産性・⾼

自動化

テスト済みのコードで構築

コード

使⽤者に依存しない品質

SHIFT ware⼿順書設計書

コード管理による運⽤簡素化

台数に依存せず並列実⾏

SHIFT ware

Page 25: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 25

n Anto Scaling n Blue Green Deployment

n  Immutable Infrastructure

ver.1 ver.2 ver.3

⊿1 ⊿1

⊿2

ITインフラを取り巻く環境今風のかっこいいもの

いろいろ

Page 26: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 26

n Anto Scaling n Blue Green Deployment

n  Immutable Infrastructure

ver.1 ver.2 ver.3

⊿1 ⊿1

⊿2

ITインフラを取り巻く環境

n 仮想化

n クラウドインフラ

n Software Defined ***

n コンテナ

n インフラ調達のスピードアップ

n リソースの柔軟性

n ハードウェア運用からの解放

n コストは使った分だけ

新しい技術が…

これまで無かった価値

を提供してくれるように

なった。

Page 27: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 27

ITインフラエンジニアは、従来の課題をクリアしつつ、技術の変化にも対応しないといけない板挟み状態。

ITインフラエンジニアの課題

NEWOLD

だけど…

Page 28: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 28

n インフラ調達のスピードアップ

n リソースの柔軟性

n ハードウェア運用からの解放

n コストは使った分だけ

n ITインフラのソフトウェアによる抽象化

Infrastructure as Code

ITインフラエンジニアを悩ませる課題の解決策のひとつが「ITインフラの自動化」

Page 29: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 29

ITインフラの構成を、プログラムのコードで管理する手法

Infrastructure as Code

-name:networkconfiguraJonos_network:cloud:demoname:demo_network-name:subnetconfiguraJonos_subnet:cloud:demoname:demo_subnetnetwork_name:demo_networkcidr:192.168.151.0/24-name:routerconfiguraJonos_router:cloud:demoname:demo_routernetwork:providerinterfaces:demo_subnet-name:instanceconfiguraJonos_server:cloud:demoname:demo_instance_{{item}}image:cirrosflavor:m1.nanonetwork:demo_networkwith_items:[1,2,3]

イコール

Page 30: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 30

構成管理ツールによって、コードに基づきインフラが構成される。コードは何度実行しても同じ状態に収束するため(冪等性)、コード=構成である。

Infrastructure as Code

Deploy/Install/Config何回実行しても同じ状態

構成管理ツールコード

Page 31: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 31

コード化することで、ソフトウェア開発の手法をインフラに適用することができる。

Infrastructure as Code

n バージョン管理

n 繰り返し可能なビルド

n テスト ←!

n 継続的インテグレーション(CI)

n 継続的デリバリ(CD)

ようやく…

Page 32: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 32

しかしながら、すぐにIaCを実践できるわけではない。

IaC推進に向けての課題

やり方が変わるコードアレルギー学習・育成コスト時間がない という言い訳

Page 33: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 33

課題に対する2方向のアプローチ。たぶんこれが王道。

TISの取り組み

ハードルDOWN↓ コードライブラリ フレームワーク スクリプト ツール

スキルUP↑ 社内勉強会 セルフハンズオン ナレッジ公開 案件利用支援

Page 34: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 34

Project SHIFT & SHIFT ware

Page 35: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

Project SHIFT / SHIFT ware とは

コンセプト:

従来の(延長線の)やり方から転換

(ユーザ目線で)便利な、インフラ標準フレームワーク

内容:

Ansible、Serverspecに関連するコード集

コードライブラリを利用するためのフロントエンドツール

35

Standard Helpful Infrastructure Framework of TIS

結果として、品質・生産性向上につなげる!

Page 36: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 36

Infrastructure as Codeを誰でも利用しやすく

ハードルDOWN↓ コードライブラリ フレームワーク スクリプト ツール

スキルUP↑ 社内勉強会 セルフハンズオン ナレッジ公開 案件利用支援

SHIFT ware とは

Page 37: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

SHIFT ware とは(全体像)

37

インタフェーススクリプト

設定ファイル⽣成ツール

設定ファイル

ユーザ

サーバ群

実⾏ログ/テスト結果

.xlsx

.sh

.sh

.shAnsible コード群

⼊⼒

呼び出し⾃動設定

およびテスト

Serverspec コード群

Page 38: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 38

SHIFT ware とは

実体は

Ansible、Serverspec のコード集

コードライブラリを利用するためのフロントエンドツール

Page 39: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 39

SHIFT ware で出来ること

OSの、 自動設定 / 自動テストミドルウェアの、 自動インストール / 自動設定 / 自動テスト

BootstrappingHW

App

MW

OrchestraJon

ConfiguraJon

OS

OrchestraJonCluster/Integrate

Config

Install

Deploy

ConfigInstall SHIFT

Page 40: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 40

Linux

Win Win Win

Win Win Win

Win Winandmore...

Linux Linux

Linux Linux Linux

Linux Linux andmore...

自動設定自動テスト

Ansible

Serverspec

実行マシン構築

パラメータ準備

コーディング

SHIFT ware で出来ること

IaCの準備~実行まで、トータルでサポート

ALLSHIFT

Page 41: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 41

コーディング不要

提供するもの - Roles

リポジトリに実装されているロールはコーディングレスで自動設定・テストが可能。

Page 42: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 42

Linux Roles 1-0001_Base 1-0102_apache 1-0103_Tomcat 1-0104_postgreSQL 1-0105_openJDK 1-0106_PrivateCA 1-0201_RedHatSatellite 1-0401_JP1Agents 1-0501_OracleClient 1-0502_OracleJRE 1-0701_LogstorageAgent 1-0801_DynatraceAgent 1-0901_DeepSecurityAgent 1-1001_UnixAgentForLDAPManager 1-1101_ES1Acquire 1-1102_ES1Logscn

Linux Base Tasks 1-0001-04_Hosts 1-0001-05_Resolv 1-0001-07_Service 1-0001-08_Ntp 1-0001-10_Selinux 1-0001-12_Crontab 1-0001-14_Lang 1-0001-17_Logrotate 1-0001-20_Nsswitch 1-0001-23_Sshd 1-0001-39_Snmp 1-0001-40_Syslog 1-0001-13_OSGroup 1-0001-16_PasswordRules 1-0001-37_SystemRunLevel 1-0001-38_InterfaceNmcli 1-0001-24_OSUser.yml

1-0001-27_Kdump 1-0001-28_Keyboard 1-0001-29_Timezone 1-0001-40_Grub 1-0001-02_Interface 1-0001-03_Network 1-0001-22_Route 1-0001-39_Bonding 1-0001-35_SetDirectory

提供するもの - Linux Roles

※公開するものとは差異が

あるかもしれません

Page 43: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 43

Windows Roles 2-0001_Base 2-0101_Cygwin 2-0401_JP1Agents 2-0501_OracleClient 2-0701_LogstorageAgent 2-0901_DeepSecurityAgent 2-1002_LDAPManagerWindowsAgent 2-1101_ES1Acquire 2-1102_ES1Logscn

Windows Base Tasks 2-0001-002_Memory 2-0001-011_User 2-0001-012_UserGroup 2-0001-013_Uac 2-0001-024_Timezone 2-0001-025_RecoverOs 2-0001-051_Directory 2-0001-071_Hostname 2-0001-072_Interface 2-0001-073_Routing 2-0001-074_Firewall 2-0001-075_Teaming 2-0001-076_Domain 2-0001-077_IPv6Disable 2-0001-078_DnsSuffix 2-0001-079_NameResolve

2-0001-095_Feature 2-0001-096_Service 2-0001-098_Rdp 2-0001-102_ErrorReport 2-0001-103_WinUpdate 2-0001-104_Owner 2-0001-105_EventLog 2-0001-106_Registry 2-0001-107_PsExecPolicy 2-0001-109_Organization

提供するもの - Windows Roles

※公開するものとは差異が

あるかもしれません

Page 44: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 44

提供するもの - Tools

構成ではなく、動作を定義するコードをToolとして公開。Ansible、Serverspecを実行するための事前・事後設定もSHIFTで自動化。

・SELiunx無効化

・SHIFT用ユーザ作成

・sudo設定

・SSH鍵設定

 etc...

SHIFT_ToolsLinux Tools

 1-9901_PreDev…設定

 1-9902_PostDev…戻し

 1-9903_CreateCSR

 1-9904_SignCert

 1-9905_IshigakiSampleApp

Windows Tools

 2-9901_PreDev…設定

 2-9902_PostDev…戻し

 2-9904_HotfixWin

・WinRM有効化

・Win2012 HotFix適用

 etc...

※公開するものとは差異が

あるかもしれません

Page 45: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 45

「Excel2YAML」とは、Ansible、ServerspecのパラメータファイルをExcelで作成できるツール

(おまけとして作ったが、ウケがよく、需要は高い)

提供するもの - Excel2YAML

SIerはExcelが大好きらしい

Page 46: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 46

提供するもの - Excel2YAML

Property…設定・テストのパラメータを定義するファイル

こっちの方がラクなんじゃな

いかと思うが…

Page 47: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 47

提供するもの - Excel2YAML

Inventory…実行対象(ターゲット)と実行する処理(ロール)を定義するファイル

Inventory

※AnsibleはYAMLではない これは…

ちょっとわかる!

Page 48: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 48

SHIFTRepository

Linux

Win Win Win

Win Win Win

Win Winandmore...

Linux Linux

Linux Linux Linux

Linux Linux andmore...

Ansible

Serverspec

SHIFT ware を使ってカンタンIaC

Excel2YAML

Log

SHIFTwareRoles&Tools

SHIFTwareVMTemplate

Ansible-playSpec-play

今回は説明を省略したもの

もあります。

Page 49: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 49

SHIFT wareをそのまま使う。SHIFT wareでできることはSHIFT wareで、できないことは手動で。

SHIFT wareの利用シーン①

Task SHIFT ware 手動

ランレベル ○

ユーザ・グループ ○

インターフェース設定 ○

パッケージの追加 ○

SYSLOG設定 ○

ログローテーション設定 ○

VNC設定 ○

サービス自動起動 ○

例)

「手作業でやっちゃった部分が混じると

後々困らないか?」はわかった上で…

Page 50: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 50

SHIFT wareをカスタマイズする。部分的な追加、変更はそんなに難しくない。

SHIFT wareの利用シーン②

#main.ymlにタスクを追加-include: ./1-0001-51_Package.yml

#Taskファイルを作成-name:1-0001-51_PackageInstallyum:name:“{{item.name}}”with_items:base_advanced.packages

#host_varsを追加 packages:-name:‘hXpd‘-name:‘posYix’

例)パッケージのインストール処理をロールに追加

なるべくこちらのパターンで

利用して欲しい

Page 51: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 51

テストメインで使う。手作業で構築した部分のテストや、他者が構築したサーバの受け入れ確認をServerspecで。

SHIFT wareの利用シーン③

手動構築

他チームやベンダにて構築

Serverspecでテスト

SHIFTwareNoSHIFTware

ちょっと変わり種かも

Page 52: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 52

“SHIFT ware"公開

Page 53: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

公開のねらい

l  Infrastructure as CodeにおけるSIer(ならでは)としてのSI市場でパイオニア地位確立

TISのSIerとして、他社にない強みはなんだ?と言われた時に、より具体的に表現できるものの1つとして確立したい。

市場価値向上

l  労働生産性に関連する国策への社会貢献 ~ITエンジニアの働き方改革への貢献~

IT企業(日本のSIerは特に)の長時間労働が問題視されているのは明らかで、それに対して、元々品質生産性向上の施策として活動していた本取り組みの成果物エッセンスを対外的に公

開することで、同業他社やユーザ等にも影響を及ぼし、ひいては結果としてIT業界/SI市場での長時間労働の軽減や労働生産性の向上に貢献する。

社会貢献

53

Page 54: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

SHIFT ware ~ 沿革

54

技術施策「作業レス化」スタート

SHIFT PJ スタート

「SHIFT ware」 本部内リリース

0.x 1.2 2.0 2.08

「SHIFT ware」全社リリース

2.12

ISHIGAKI template マージ

3.x

OSS化

4月 9月 1月 4月4月 9月

2015 2016 2017

Page 55: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

ロードマップ

55

2017/9

1.0 Linux Base OSS Role E2Y

1.X Win Base

2.0 商用 Role

2018/4 2019/4

Master branch

Dev branch

Contents

2018/10

Operation

商標登録完了初期リリース

パートナ企業と協業企画共同プロモ

主管部署Committer

Contributor 主管部署

主管部署+賛同する外部スキルフルメンバ増員

Social dev

README、github.io and wiki

2.x Additional Role

ISSUE/PR、(リリース時既存GI環境のにてテスト稼働)

ソーシャル開発

3.0

移⾏完了最終型

SHIFT ware X.X

Tools (XXX) Win Base 商用 Role Role by PullRequest

Page 56: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

IaCのスキルアップに向けて

l  ゆくゆくは、SHIFT wareユーザの誰もが

l  「Operator」から「Contributor / Committer」へ

56

SHIFTwareRepository

Pull Request

git clone

SHIFT ware管理者 SHIFT wareユーザ

maintenance Codinggeneralization

Page 57: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 57

成果の公開に向けたあれやこれや 〜 面倒なこといろいろ 〜

Page 58: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

あれやこれや

l  「何をどこまで公開する?公開できる?」問題

l  承認問題

l  そもそも承認方法や承認者が決まってる?

l  クオリティ問題

l  既存コードの品質,コード規約,CIの仕組み,etc

l  ライセンスは何を選ぶ?問題

l  リポジトリをどこに置く問題 (社外はGitHub!社内はどうする?)

l  名称と商標

l  コミュニティの形成(立ち上げ)

l  プロモーション

l  公開しちゃった後どうする?問題

58

Page 59: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

世間に出すならクオリティもそれなりにしたい

59

(配布しません)

Page 60: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

開発以外にやることが盛りだくさん

60

(配布しません)

Page 61: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

タスク & スケジュール

61

(配布しません)

Page 62: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 62

おわり! …の前に

Page 63: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

メッセージとしてお伝えしたいこと①

l やりたいことを大げさに表現すれば,『SI業界の“工業化”』

(今回の対象はITインフラ分野)。今は家内制手工業。

l  ITインフラ屋だって,できるところから“楽をすること”を考えよう。

l どこの会社でもやりたいことは,だいたい同じ。

  →実際,同じことをやってる。

l 道具箱に入れる基本セットは同じ方が良い。その使い方も。

l  SHIFT ware は,基本的な道具とその使い方。

使ってくれる人が一人でも/1社でも多い方が嬉しい。

l  (競争は,これより『上』のところで)。

63

Page 64: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved.

メッセージとしてお伝えしたいこと②

l これから公開する SHIFT ware を,

つまみ食い/冷やかしでいいので覗いてみてください。

l できればコミュニティに登録して,

ご意見などいただけるとありがたいです。

l 使うだけでも,要望を言うだけでも,OSSへの貢献です。

l さらに欲を言えば,作ったもの,改良したものを

提供していただけると,たいへんにうれしいです。

64

Page 65: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

Copyright©2017TISInc.Allrightsreserved. 65

★ “SHIFT ware”公開!    2017年9月下旬(予定)

★ コミュニティ   SHIFT wareユーザーグループ   https://groups.google.com/forum/#!forum/shiftware

★ お問い合わせなど   [email protected]

すみませんが,来月までお待ちください。

Page 66: Ansibleによる自動構築 ベストプラクティスをOSSで公開 · n IaC/IT基盤構築自動化/自動化ツール入門 ... Ansible Serverspec Windows AWS vSphere (OpenStack)

THANK YOU