サーバーサイド技術者不足に効くChef

19
2016年3月4日 日本IBM クラウド・テクニカル・サービス 高良真穂 サーバーサイド技術者不足に効く CHEFを使ったサーバー構築自動化 CHEF Knife (使わないよ) SoftLayerの Server

Transcript of サーバーサイド技術者不足に効くChef

Page 1: サーバーサイド技術者不足に効くChef

2016年3月4日

日本IBM

クラウド・テクニカル・サービス 

高良真穂

サーバーサイド技術者不足に効くCHEFを使ったサーバー構築自動化

CHEF

Knife(使わないよ)

SoftLayerのServer

Page 2: サーバーサイド技術者不足に効くChef

¨  高良 真穂 (たから まほ)

¨  会社 日本アイ・ビー・エム株式会社

¤ 所属 クラウド・テクニカル・サービス

¤ 入社14年目(中途入社)

¨  仕事

¤ インフラストラクチャ アーキテクト

¤ 過去 企業向けシステムのIT基盤の設計&構築を担当n  金融業、製造業、流通業、航空業界、HPC分野などのオンプレミ

スのシステム構築に参画

¤ 現在 クラウドでゲーム業界担当

自己紹介

Page 3: サーバーサイド技術者不足に効くChef

¨  クラウドのプロビジョニング速度に対応

¨  エンジニアの不足対策

なぜサーバー自動設定ツール?

設計 開発 テスト 運用企画

設計

開発

テスト

運用

企画設計

開発

テスト

設計

開発

テスト

クラウド以前

クラウド後

サーバーは将来の需要を見込んだ先行設備投資

サーバーは経費で必要な分だけ注文して即利用

短いサイクルで開発とリリースを繰り返すため人材不足が深刻化

Page 4: サーバーサイド技術者不足に効くChef

¨  クラウドのサーバーを注文後、10分で利用開始できるスピード感

クラウドのスピードを活かすサーバー設定

サーバー調達

電源工事

LAN工事

テストOS設定 M/W設定 アプリ配置

サーバー調達 テストM/W設定 アプリ配置

運用

運用

14日 1日 2日 1日

10分 2日 1日

18日

3日

サーバー調達

テストM/W設定

アプリ配置 運用

10分 5分OS

設定

25分

OS設定

1日

5分

オンプレ時代

クラウド利用

クラウド+自動設定5分

クラウド  +ゴールデンイメージ

サーバー設定自動化

クラウドにより自動化

クラウドにより自動化

Page 5: サーバーサイド技術者不足に効くChef

サーバー設定自動ツールを使うという事は、手工業からロボットラインへ移行する様なこと

手作業の様なサーバー構築 ロボットによるサーバー構築作業

人数が生産力に比例 ロボット数が生産力を決める優秀な技術者は簡単に育たない 優秀な技術者のノウハウを真似

Page 6: サーバーサイド技術者不足に効くChef

¨  Shell Script¨  デプロイツール

¤  Jenkins¤  Capistrano

¤  UrbanCode

¨  サーバー設定自動化ツール¤  Ansible

¤  CHEF¤  Puppet labs

¤  Itamae

¨  AWS 運用自動化ツール¤  Cloud Formation

¤  OpsWorks

自動化ツールは沢山あるけど 今日はCHEFのはなし

Page 7: サーバーサイド技術者不足に効くChef

¨  今日の話は、スタンドアロンパターンです

CHEFの利用パターン

Chef-Server

Node

Chef-ClientKnife

ssh

Node

Chef-ClientKnife

solossh

Git

Node

Chef-Client

Knife zero

sshChef zero

Repo

ssh トンネリングで接続

Node

Chef-Client

Git

sshリモート実行

CHEF-Server構成

CHEF-solo構成 CHEF-zoro構成

スタンドアロン

設定対象

設定対象

設定対象

設定対象

設定を自動で実行したいだけの人に

はコレが便利

Page 8: サーバーサイド技術者不足に効くChef

¨  Knife や Chef Server の面倒な設定が不要、Knife-solo のsshリモート実行環境も不要

¨  設定の自動化のために、Chef Server を運用管理する必要がない。

¨  設定用の Cookbook は、設定対象のサーバーの/var/chef/cookbooks に置かれるので単純明快

¨  仮想サーバーやベアメタルのプロビジョニング・スクリプトを利用すると便利

¨  CHEF の Cookbookは、Git Server から必要なものをクローンして利用する

¨  Cookbookは、iSCSI設定、MySQL設定など単体パーツに分けて作っておくと、再利用しやすく便利

CHEFをスタンドアロンで利用するメリット

プライベートテンプレート

イメージ

カスタマーポータルからのプロビジョニング

Provisioning Script

実行 Node

ssh でログインしてCookbook適用Git

Shell Script Download

Cookbook Download

本番適用

OSイメージ

or

オートスケーリングのプロビジョニング

SoftLayerで

設定対象

Page 9: サーバーサイド技術者不足に効くChef

¨  CHEFを利用する場合の手順と時間

¤ ポータルから仮想サーバーをオーダー (5分)

¤ CHEFのコマンドを実行 (2分)

n クックブック (https://github.com/takara9/wordpress01)

¤ WebページからWordPressの初期設定 (2分)

¨  CHEFのコマンドか実行する内容¤  Ubuntu リポジトリから最新状態に更新

¤  nginx と php-fpm の導入と設定

¤  MySQL の導入と設定 (セキュアインストール)

¤  WordPressの最新版の導入

具体的な実行例 WordPressのHP構築 

Page 10: サーバーサイド技術者不足に効くChef

¨  Ubuntu14.04 minimal Core 1, RAM 1GB

ポータルから仮想サーバーをオーダー

Page 11: サーバーサイド技術者不足に効くChef

¨  コマンド実行手順

ログインしてCHEFを実行

実行の様子をビデオでご覧下さい

①CHEFインストール

②フォルダ作成

③クックブック取得④クックブック適用

https://youtu.be/xxUc7vRjW5kYouTube CHEFでWordPressを設定するデモ on SoftLayer

Page 12: サーバーサイド技術者不足に効くChef

¨  WordPressの初期設定画面を開いてインストールを完了する

Cookbook適用後の作業

インストール後の初期画面

WP管理画面

構築完了!

Page 13: サーバーサイド技術者不足に効くChef

¨  Cookbookのディレクトリ

CHEF クックブックの解説 1

/var/chef/cookbook/wordpress01

パラメータ  導入パス、ユーザーID、パスワードなど

そのまま置く設定ファイルやシェルなど

レシピ 設定の手順

固有パラメータなどを設定して配置するファイル

Page 14: サーバーサイド技術者不足に効くChef

¨  Attribute のディレクトリ

CHEF クックブックの解説 2

/var/chef/cookbook/wordpress01

Page 15: サーバーサイド技術者不足に効くChef

¨  filesは、固定的な設定ファイルなど

CHEF クックブックの解説 3

/var/chef/cookbook/wordpress01/files

Page 16: サーバーサイド技術者不足に効くChef

¨  Recipes は設定手順

CHEF クックブックの解説 4

/var/chef/cookbook/wordpress01/recipes

Page 17: サーバーサイド技術者不足に効くChef

¨  Nginx_fpm の要所説明

CHEF クックブックの解説 5

/var/chef/cookbook/wordpress01/recipes/nginx_fpm.rb

パッケージを追加インストール

設定ファイルを置く

パラーメータ値をセットしてファイルを置く

Page 18: サーバーサイド技術者不足に効くChef

¨  Templateは Attribute の値で置き換え可能

CHEF クックブックの解説 6

/var/chef/cookbook/wordpress01/recipes/nginx_fpm.rbの例

Attribute の値で置き換えられる

Page 19: サーバーサイド技術者不足に効くChef

¨  CHEFは学習コストが高いと言われますが、簡単に使えば、即に適用できます。

¨  Chef Server, Chef zero, Knife など使わなくても自動設定は可能なので、使いこなすことに拘らず、効率を上げられるところだけ利用

¨  レシピはパターンを覚えれば簡単

まとめ