SlideShare a Scribd company logo
Copyright ⓒ2016 CREATIONLINE, INC. All Rights Reserved
Infrastructure as Codeについて
1
• 荒井 裕貴(あらいひろき)
– クリエーションライン株式会社のChefエンジニア
– Chef Serverの設計・導入支援
– Chefのトレーニング
– COOKBOOK開発(Linux / Windows)
自己紹介
2
クリエーションライン株式会社
通称:CL (しーえる)
会社紹介
3
・プライベートクラウド基盤構築
・パブリッククラウドのコンサル
・Management Service Provider
オープンソース、各種クラウドに強いSIer
Chef社の公認パートナー
• Infrastructure as Code とは
• Infrastructure as Codeの種類
• Chefについて
• デモ
目次
4
Infrastructure as Code とは
5
• 手順をベースに手作業でやっていたインフラに関わる作業や管理を
コードで実現できるようにしようという手法や考え方
Infrastructure as Code とは(略:IaC)
6
作業者
手順書 コード
コンピュータ
開発
検証
本番
開発
検証
本番
IaCによる変化
7
従来 IaC
作業手順 コード
手順書レビュー コードレビュー
手作業による構築 自動構築
手動によるテスト 自動テスト
Excelによる変更管理 バージョン管理システム(Git,
Mercurial, Subversion)
仮想化やクラウドの普及によって、コンピューター提供までの時間が縮まった
大量のコンピューターを扱うようになっていった
サーバの設定を自動にしたい
サーバの管理も楽にしたい
背景
8
• 迅速性
• 再現性
• 正確性
• 再利用性
• アプリケーション開発の現場で培われてきた
様々なワークフローをインフラの世界にも取り入れられる
– バージョン管理システム
– CI
– コードレビュー
メリット
9
Infrastructure as Codeの種類
10
Infrastructure as Codeの種類
11
ネットワーク、VM、クラウド
アプリケーション
OS、ミドルウェア
Infrastructure as Code
Infrastructure as Codeの種類
12
ネットワーク、VM、クラウド
アプリケーション
OS、ミドルウェア
Infrastructure as Code
Configuration as Code
Infrastructure as Codeの種類
13
ネットワーク、VM、クラウド
アプリケーション
OS、ミドルウェア
Infrastructure as Code
Configuration as Code
アプリケーションから見たら、まとめてインフラ
Chef
Puppet
Ansible
Powershell DSC
IaCを実現するためのツール
14
ネットワーク、VM、クラウド
OS、ミドルウェア
Azure Resource Manager
AWS CloudFormation
OpenStack Heat
Vagrant, Teraform
chef provisioning
Chefについて
15
米 Chef 社が提供するサーバー構築と構成管理の自動化フレームワーク
http://www.getchef.com/
• サーバーやアプリケーションの展開を容易にする
• 管理対象サーバー : 物理サーバー/仮想マシン/クラウドインスタンス
• OS より上層の構成を抽象化し共通定義
• Ruby 内部 DSL
• インフラをどのように構築し、維持するべきという定義を予め指定された文法で記述
Chefとは
16
• 効率良く、正確にサーバ構築
• パターン化することにより、複雑な設定を抽象化
• 内部DSLで記述することにより、コードの属人化を防げる。
– 自動化したけど開発した本人以外はメンテナンス出来ないというのはあるある
• コードによるサーバの状態の管理
– いつ、誰が、何を、どのように変更したかが管理出来る
• Chef-Serverを使用した構成管理機能
Chef のメリット
17
Chefのアーキテクチャ
18
Server
Chef Server
各 Node の構成情報を集中管理
Chef Workstation
Knife プラグインがインストール
されている
Client
Client
Node
Node
Chef により管理されるサーバー
• Chef Server
– 設定情報をはじめ、各種情報を集中管理するホスト
– WebUI や REST API を備えており、それを用いてクライアントと通信する
• Client
– Chef Server に接続して情報をやりとりするツールやホスト
• Node
– Chef による管理対象のホスト
• Workstation
– Chef Server に接続して Knife を実行するホスト
Chefの用語①
19
• Knife
• Chef を管理するコマンドラインツール
• Microsoft Azure、AWS、Softlayer などに対応した多数のプラグインが用意されて
いる
• Recipe
• 設定情報の定義ファイル
• Ruby で記述する
• Cookbook
• Recipe などの設定情報をひとまとめにしたもの
Chefの用語②
20
デモ
Chefを使ったInfrastructure as Code
21
再利用性を考慮した設計
22
• Infrastructure as CodeとConfiguration as Codeの層で明確に分ける
再利用性を考慮した設計①
23
Infrastructure
Another
Infrastructure
Infrastructure
Another
Configuration
Configuration
Configuration
Infrastructure
Configuration
• Configurationの中でも一定の単位で分割
再利用性を考慮した設計②
24
Configuration
apache
php
mysql
apache
java
mysql
迅速性を考慮した設計
25
• イメージ管理
– 予め手動でサーバを構築しておいて、
それをイメージ化して管理
– 展開時はイメージから展開するだけなの
で、非常に高速
– サーバごとに異なる部分は、起動後に修
正が必要
イメージ管理とコード管理
26
• コード管理
– コードによってサーバの状態を管理
– 展開時はベースとなる空のイメージを
使って起動後、コードを適用して設定
– サーバごとに異なる部分を抽象化可能
⇒何度も展開するような場合には、展開までのスピードが重要に
Packer・・・イメージ生成を自動化する、HashiCorp社製のツール。
イメージの生成手順をコードで記述。
packerを利用して展開スピードを向上
27
空のOSイメージ ベースイメージ
Packer + Chefを使って、ミドル
ウェアのインストールまで完了し
たベースイメージを作成
サーバB
サーバA
ミドルウェア
ミドルウェア
ミドルウェア
ベースイメージから起動後、
Chefでサーバ固有の設定
固有設定
固有設定
ご清聴ありがとうございました
28

More Related Content

PDF
Ossを使ったazureでのdev ops
PDF
自動化のコストパフォーマンス
PDF
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
PDF
[TL02] "Shift Left" で問題の早期発見を実現する、最新 Visual Studio の品質チェック・テスト機能の使い方
PPTX
Ecsとlambdaのバッチ処理
PDF
[MR09] デスクトップ アプリをストアから配布するための A to Z
PDF
Visual studio extensibility
PDF
Azure DevOps と開発管理
Ossを使ったazureでのdev ops
自動化のコストパフォーマンス
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
[TL02] "Shift Left" で問題の早期発見を実現する、最新 Visual Studio の品質チェック・テスト機能の使い方
Ecsとlambdaのバッチ処理
[MR09] デスクトップ アプリをストアから配布するための A to Z
Visual studio extensibility
Azure DevOps と開発管理

What's hot (20)

PPTX
ASP.NET Core のお気に入りの機能たち (docker向け)
PDF
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
PPTX
Outlook アドイン開発入門
PPTX
SharePoint 開発入門
PDF
SharePoint Framework Extension 基礎講座
PDF
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
PDF
PHPerだってサーバーレスしたい!
PPTX
日本で DevOps を ロケットスタートする方法
PDF
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
PDF
Word bench埼玉2017年2月
PDF
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
PDF
Visual studio online and Agile
PDF
NET5 and Diagnostics
PDF
[TL09] 突撃! 隣の Visual Studio Team Services / Team Foundation Server ~利用者からのベスト...
PDF
DevOpsハッカソン参加レポート
PDF
Azure Functions Tips
PDF
「何もしないのにCIが失敗した」を防ぐ
PDF
[MW06] PaaS を活用した、ハイコストパフォーマンスなウェブサイト構築・運用・メンテナンス
PDF
App Service の DevOps と Visual Studio Team Services 最新アップデート
PDF
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
ASP.NET Core のお気に入りの機能たち (docker向け)
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
Outlook アドイン開発入門
SharePoint 開発入門
SharePoint Framework Extension 基礎講座
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
PHPerだってサーバーレスしたい!
日本で DevOps を ロケットスタートする方法
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
Word bench埼玉2017年2月
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
Visual studio online and Agile
NET5 and Diagnostics
[TL09] 突撃! 隣の Visual Studio Team Services / Team Foundation Server ~利用者からのベスト...
DevOpsハッカソン参加レポート
Azure Functions Tips
「何もしないのにCIが失敗した」を防ぐ
[MW06] PaaS を活用した、ハイコストパフォーマンスなウェブサイト構築・運用・メンテナンス
App Service の DevOps と Visual Studio Team Services 最新アップデート
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
Ad

Viewers also liked (19)

PPTX
PowerShell de Azure
PPTX
Azureまるっと解説
PDF
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
KEY
物理マシンをケチる技術
PPTX
OpenFlow OAM ツール - OKINAWA Open Days 2014 Day1
PDF
中の下のエンジニアを脱出するための目標設定
PDF
中の下のエンジニアを脱出するための仕事術
PDF
WEB業界でほしい人材とは? そしてWEB業界の実際
PPTX
PMBOK®ガイド概説(「Webプロジェクトマネジメント標準」読書会 …の前に、少しだけPMBOK®について。)
PPTX
プロジェクトマネジメント再入門 〜PjMは何であって何でないのか〜
PPTX
デブサミ2017 Javaコミュニティ作ったら人生変わった
PPTX
[Devsumi2017]オルタナティブなチーム開発のすゝめ
PDF
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
PPTX
エンジニアが働きたい場所で働けるために、チームに必要なこと
PDF
【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~
PPTX
アルゴリズム取引のシステムを開発・運用してみて分かったこと
PDF
事業成長にコミットするエンジニア組織への道のり
PDF
Googleのインフラ技術から考える理想のDevOps
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
PowerShell de Azure
Azureまるっと解説
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
物理マシンをケチる技術
OpenFlow OAM ツール - OKINAWA Open Days 2014 Day1
中の下のエンジニアを脱出するための目標設定
中の下のエンジニアを脱出するための仕事術
WEB業界でほしい人材とは? そしてWEB業界の実際
PMBOK®ガイド概説(「Webプロジェクトマネジメント標準」読書会 …の前に、少しだけPMBOK®について。)
プロジェクトマネジメント再入門 〜PjMは何であって何でないのか〜
デブサミ2017 Javaコミュニティ作ったら人生変わった
[Devsumi2017]オルタナティブなチーム開発のすゝめ
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
エンジニアが働きたい場所で働けるために、チームに必要なこと
【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~
アルゴリズム取引のシステムを開発・運用してみて分かったこと
事業成長にコミットするエンジニア組織への道のり
Googleのインフラ技術から考える理想のDevOps
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Ad

Similar to Infrastructure as Code (20)

PDF
OSC2018 hiroshima session slide by OSSC
PDF
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
PDF
AI-first Code Editor 「Cursor」の機能紹介
PDF
ゼロからのプログラミングRails講座 Codeanywhere版
PDF
Case study of DevOps for Hadoop in Recruit.
PDF
Case study of DevOps for Hadoop in Recruit.
PDF
AWS CloudFormationによるInfrastructure as Codeの実現
PDF
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
PDF
Chefで始めるWindows Server構築
PPTX
技術選択とアーキテクトの役割
PDF
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
PDF
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
PDF
[POST.Dev Japan] VS Code で試みる開発体験の向上
PPTX
Active directoryと認証・認可
PDF
OSSではじめるオープン・スタンダードのクラウド @201304
PDF
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
PDF
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
PDF
サーバーレスの今とこれから
PPTX
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
PDF
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
OSC2018 hiroshima session slide by OSSC
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
AI-first Code Editor 「Cursor」の機能紹介
ゼロからのプログラミングRails講座 Codeanywhere版
Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.
AWS CloudFormationによるInfrastructure as Codeの実現
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
Chefで始めるWindows Server構築
技術選択とアーキテクトの役割
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
[POST.Dev Japan] VS Code で試みる開発体験の向上
Active directoryと認証・認可
OSSではじめるオープン・スタンダードのクラウド @201304
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
サーバーレスの今とこれから
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」

Infrastructure as Code