自動構築と自動テスト
@azumakuniyuki Cubicroot Co. Ltd.
Innovation EGG 第5回「クラウド運用の本音」 2015/10/31(土)
〜インフラのコード化とクラウドの優位性〜
自己紹介
@azumakuniyuki (東邦之)
株式会社Cubicroot
2
- インフラエンジニア(ラック実装から構築・保守)
- *BSD, Linux, 古くはSolaris, SunOS
- ネットワークの設計・サーバの構築と保守
- インフラのコード化支援(Ansible,Serverspec)
- 数年前からプログラマー
- 主にPerl, 最近Rubyも
- サイトの開発(バックエンド)
- メール関連の開発
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
参加してるとこ
3
猫派
インフラ系
Perl系
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
構築の自動化
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
構築を自動化するツール
5
Itamae
処理内容
はYAML
で書く
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
サーバ変更点(重要).txt
Before
6
サーバ構築手順書.doc
追加ユーザ一覧.xls
構築手順書(最新版).ppt
サーバ構築手順
書-2015-07.doc
管理ユーザ一覧.xls
crontab(バッチ).xls
サーバ構築手順書2.doc
構築作業(改定).ppt
PHPインストール.doc
コマンドが
全角英数...
実行内容が
画像とか...
ターミナル
へコピペ...
美しいスケ
ジュール表
ファイル間
で矛盾あり
ユーザ名の
1文字目が
大文字に...
スクリーン
ショットが
沢山
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
Infrastructure as Code
7
サーバ構築手順書.doc
追加ユーザ一覧.xls
サーバ変更点(重要).txt
構築手順書(最新版).ppt
手作業での
構築が辛い
Ansible
Playbook
Recipe
Manifest
コード化
コピペで時
間がかかる
分かりやす
い構築の図
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
コード化した
インフラ
アプリケーショ
ンのデプロイに
も使える
After
8
Ansible
Playbook
Recipe
Manifest
YAML
Ruby
DSL
わりと複雑な
処理も書ける
全部テキスト
ファイル!
馴染んだエ
ディタで編集
リポジトリで
管理が可能!
Ruby,Pythonを
知らずともOK!
8時間かかる構
築作業が1時間
に短縮!
SSHで繋が
ればOK!
実行可能な
構築手順書
誰が実行して
も同じ結果に
属人性の
排除
変更点も差分
を見て把握!
実行ログ
が残る
冪等性!何回
実行しても同
じ状態に収束
実行
複雑な処理は
書きにくい...
サーバ構築の
知識は必要
学習コスト
はそれなり
にある
誰が加えた変
更かを追跡
明確なバー
ジョン管理
昼飯
帰社
完了
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
テストの自動化
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
テストを自動化するツール
10
Infrataster
サーバの状態をテスト サーバの振舞をテスト
- nginxパッケージが入っているかどうか
- wheelグループが存在するかどうか
- postfixが起動しているかどうか
- /etc/resolv.confに8.8.8.8があるかどうか
- 外部からアクセスした際の動作をテスト
- 80番ポートnginxが200を返すかどうか
- /indexのcontent-typeがtext/htmlかどうか
- /index?q=nekoのレスポンス内容を確認
RSpec
のロゴ
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
Infrastructure as Code
11
環境確認手順書.doc
確認事項一覧.xls
サーバ仕様(暫定).txt
再発防止用確認点.ppt
手作業での
確認が辛い
コード化
最新版は?
更に追加の
確認事項
Infrataster
test codes
Serverspec
test codes
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
コード化した
インフラ
Infrataster
test codes
Serverspec
test codes
RSpec
DSL
コード化したテスト
12
全部テキスト
ファイル!
馴染んだエ
ディタで編集
リポジトリで
管理が可能!
2時間かかる確
認作業が10分
に短縮!
SSHで繋が
ればOK!
変更点も差分
を見て把握!
テストだ
けをする
実行
学習コスト
は多少ある
誰が加えた変
更かを追跡
明確なバー
ジョン管理
トイレ
RSpec
DSL
実行可能な
確認手順書
Rubyで
書く
サーバ設定内
容を読む識は
必要
属人性の
排除
スッキリ
完了 状態や設定の変
更は行わない
安心して
実行!!
わりと複雑
な処理も書
ける
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
クライアント側にて
どこかに用意された
開発用件試験サーバ
とあるECサイト構築案件
13
1台あたり10分程度でサーバ調達完了
開発用サーバ構築に使用したAnsible
Playbookで1時間で3台を構築完了
仕様を満たすサーバを構築する
Ansible Playbookを1日程度で開発
広告・CM
出稿時は増
設予定
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
クラウド万歳!
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
便利!
15
時間単位で
借りられる
動作テスト
で2時間だ
け借りる!
海外のリー
ジョンあり
海外からの
アクセス試
験で使う!
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
楽!
16
再起動とか
再構築とか
追加・削除
コンパネが
分かり易い
し日本語!
特にDNS
BINDはも
うやめた!
個人のドメ
インは全部
Route53
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
可能性!
17
専用サーバ
とクラウド
の連携が!
DBは物理
でWEBは
クラウドで
メール関係
のサービス
が増える?
SESで受
信が可能に
なった!
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
ここ数年で
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
19
データセンタに
行かなくなった
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
20
重いサーバを
寒い室内で
ラックに実装する
こともない
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
21
OSのインストール
もう殆どしなくて
良くなった
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
22
サーバ構築は
httpd, php, DB,
MTAの準備
から入れる
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
23
クラウドサービスが
更に充実する
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
24
サーバレス化が進む
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
25
すべてが
になる
CCode
Cloud
Innovation EGG第5回「クラウド運用の本音」
自動構築と自動テスト @azumakuniyuki / Cubicroot Co. Ltd.
終

自動構築と自動テスト〜インフラのコード化とクラウドの優位性