顿别惫翱辫蝉勉强会30. 29
? (ただの) ツールではない
? (ただの) カルチャーではない
? (ただの) 開発(Dev)と運用(Ops)ではない
? (ただの) 自動化ではない
? 何物でもない。
Devops ??
Practical DevOps & Continuous Delivery
/hugomesser/practical-devops-continuous-
delivery-a-webinar-to-learn-in-depth-on-devops-platform
42. Infrastracuture as code とは
41
Infrastructure as Codeは、ITシステムにおけるインフラストラクチャの状態を
(人手を介した手順としてではなく)自動実行可能なコードの形で記述し、インフラ構
築を自動化するプロセスである
45. 改めてインフラ構築って??
44
? 以下のように3つに分類できます
? (Infrastrucute as Codeの観点で分類しました)
仮想マシン作成 OSインストール
OS/ミドルウェア設定
デプロイ?サーバ間連携3. Orchestrasion
2. Configuration
1. Bootstraping
? アプリケーションをデプロイしたり
? クラスタ構成を組んだり
? 監視ツールの対象に追加したり
? OSの設定(NW,ストレージ)を設定したり
? MW(DB,Webサーバ)をインストールしたり
? MWのパラメータを設定したり
? CentOSとかインストールしたり
? Vagrantで仮想マシン立ち上げたり
? Dockerでコンテナ立ち上げたり
47. Infrastracuture as code とは
46
従来
手順書 手作業
&
x N台
x N台
x N台
? 自動実行可能なコードの形でインフラの状態を記述し、インフラ構築を自
動化するプロセス
Infrastructure as Code
51. 50
? 手作業が多く発生
? 手順書&スクリプトの構成管理が困難
従来 Infrastructure as Code
手順書 手作業
&
x N台
x N台
x N台
ソースコード
&
x N台
x N台
x N台
自動化ツール
? 作業の省人化と効率化によるコスト削減
? オペレーションミスの発生可能性を低減
? 手順書のコード化による高度な品質保証
Infrastructure as Code
52. Infrastructure as Code
51
? インフラ構築作業は以下のようなツール群で自動化できる!
仮想マシン作成 OSインストール
OS/ミドルウェア設定
デプロイ?サーバ間連携3. Orchestrasion
2. Configuration
1. Bootstraping
61. 各ツールの紹介
60
? 有名なツール
? 2012年~
? 使用言語はPython
? エージェントレス
? 2009年~
? 使用言語はRuby
? Rubyの文法がそのまま使用可能
? 管理サーバ&エージェントの構成
? 2005年~
? 使用言語はRuby
? 独自のDSLで構成を記述
今日はこいつを
扱います
64. Ansibleについて
? 基本は以下の要素
– Inventoryファイル (捜査対象ホストを定義)
– Playbook (yml形式でサーバの操作を記載)
[web]
10.0.11.121
10.0.11.122
(..)
10.0.11.152
[batch]
10.0.21.100
10.0.21.101
(..)
10.0.21.151
[hoge]
(..)
Inventoryファイル
---
- name: サンプル
hosts: all
become: true
tasks:
- name: ディレクトリ作成
file:
path: /etc/some_directory
state: directory
mode: 0755
- name: httpdのインストール
yum:
name: httpd
state: present
(... )
Playbook ファイル (yml)
&
66. Ansibleの特徴
? 冪等性が保たれる (ある操作を何度実行しても常に結果が同じになる
? 新規のサーバにはスクリプトの内容がすべて適用され、既存のサーバには
差分のみが適用される
※ 2回目の処理で状態が変わったことでコケルということがない
冪等性
? 任意のコマンドの実行結果を取得するだけ、等にも簡単に利用可能
(全サーバの設定ファイルの取得等に使ったり)
? ファイルデプロイのみにも利用可能
(全サーバに対してのファイル配布のみに使ったり)
多目的