SlideShare a Scribd company logo
Immutable Infrastructure
in nanapi
2015-04-09 nanapi TechLunch
遠山 晃(@vexus2)
自己紹介
• 遠山 晃 / @vexus2
• リードエンジニア
• GitNote絶賛開発中!!
Immutable Infrastructure?
Immutable Infrastructureとは
• 「その状態を変更できないインフラ構成」
• 稼働中のサーバに対して変更を加えない、と
いう概念
• 変更する場合には新規でサーバを構築させ、
既存のものと入れ替える
メリット
• サーバ構成のコード管理/構築が自動化できる
• 全てのサーバが同じ状態であることが担保
• ロールバックが容易に可能
構成要素
AutoScaling
• サーバの負荷などに合わせて自動的にスケー
ルアウト・スケールインする仕組み
Blue-GreenDeployment
• スタンバイサーバにデプロイを行い、デプロ
イ完了後にLBの向き先をスタンバイ アク
ティブ切り替えるデプロイ手法
• 問題が起こった際は再度切り替えることでロー
ルバック可能
Users Router
WebServer Application Database
Green server Green Server Green DB
Blue-GreenDeployment
Users Router
WebServer Application Database
Green server Green Server Green DB
Blue server Blue Server Blue DB
Blue-GreenDeployment
Users Router
WebServer Application Database
Green server Green Server Green DB
Blue server Blue Server Blue DB
Blue-GreenDeployment
Users Router
WebServer Application Database
Green server Green Server Green DB
Blue server Blue Server Blue DB
Blue-GreenDeployment
Users Router
WebServer Application Database
Blue server Blue Server Blue DB
Blue-GreenDeployment
Immutable Infrastructure in nanapi
Dockerとは
• コンテナベースの仮想化ソフトウェア
• (ホストベースの仮想化にはLinux KVMなど)
• カーネル部分をホストOSと一部共有するため
リソース使用量が少ない
• imageのポータビリティ性が高い
nanapi?
Immutable Infrastructure in nanapi
Immutable Infrastructure in nanapi
“Container based
Blue-Green Deployment”
FrontProxy
Application Servers
Rails
Container
Rails
Container
Rails
Container
DeployServer
FrontProxy
Application Servers
Rails
Container
Rails
Container
Rails
Container
DeployServer
Deploy
FrontProxy
Application Servers
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
DeployServer
Deploy
FrontProxy
Application Servers
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
DeployServer
FrontProxy
Application Servers
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
DeployServer
Switch
FrontProxy
Application Servers
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
DeployServer
Switch
FrontProxy
Application Servers
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
DeployServer
Switch
FrontProxy
Application Servers
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
DeployServer
FrontProxy
Application Servers
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
Rails
Container
DeployServer
Cleanup
FrontProxy
Application Servers
Rails
Container
Rails
Container
Rails
Container
DeployServer
Cleanup
CbBGDのメリット
• デプロイのたびにインスタンスを倍にする必
要がない
• デザイン修正や文言修正程度の軽微なリリースが気軽に出来る
• デプロイ毎のインスタンス初期化処理がスキッ
プ出来るため高速
CbBGDのデメリット
• BlueGreenの向き先はポート番号で管理して
いるので若干煩雑
• デプロイの際一時的にコンテナが倍立ち上が
るのでマシンスペックがそれなりに必要
• FrontProxy自体はImmutableではない
Thank You!

More Related Content

PDF
Chef入門
PDF
Immutable infrastructure
PPTX
Introduce couchbase server
PDF
130412 kayac-cinnamon
PDF
JAWSUG版 PostgreSQL on Amazon EC2の可能性
PDF
Mackerelによる
簡単サーバー管理入門と発展形
PDF
Devlove mackerel
PDF
Azure serverlesssummit2018
Chef入門
Immutable infrastructure
Introduce couchbase server
130412 kayac-cinnamon
JAWSUG版 PostgreSQL on Amazon EC2の可能性
Mackerelによる
簡単サーバー管理入門と発展形
Devlove mackerel
Azure serverlesssummit2018

What's hot (20)

PDF
各社のFaaSを比較してみる
PDF
Inside of Baremetal Server Deployment on Private Cloud
PPTX
Aws docker-rails-demo slideshare
PDF
Node platforms
PPTX
Awsのspot instanceでimmutableinfrastructure
PDF
Matz presentation for Fukuoka Ruby Days 2010
PDF
Ansible入門 20151226
PDF
Presentation on your terminal
PDF
サーバ構築を自動化する 〜Ansible〜
PDF
AnsibleによるInfrastructure as code入門
PDF
OSvのご紹介 in 
Java 8 HotSpot meeting
PDF
Website build exercise_opsguide_japanese
PDF
Chefを利用した運用省力化とDevOpsの取り組みについて
PPTX
コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?
PDF
DMLを実行するrubyスクリプトをmigrationファイルのように管理するRailsプラグインを作った
PDF
Ruby/Rails Benchmarking and Profiling with TDD
PDF
PostgreSQL on Amazon EC2の可能性
ZIP
快適に料理を楽しむための監視のおはなし
PDF
OSv噺
PPTX
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
各社のFaaSを比較してみる
Inside of Baremetal Server Deployment on Private Cloud
Aws docker-rails-demo slideshare
Node platforms
Awsのspot instanceでimmutableinfrastructure
Matz presentation for Fukuoka Ruby Days 2010
Ansible入門 20151226
Presentation on your terminal
サーバ構築を自動化する 〜Ansible〜
AnsibleによるInfrastructure as code入門
OSvのご紹介 in 
Java 8 HotSpot meeting
Website build exercise_opsguide_japanese
Chefを利用した運用省力化とDevOpsの取り組みについて
コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?
DMLを実行するrubyスクリプトをmigrationファイルのように管理するRailsプラグインを作った
Ruby/Rails Benchmarking and Profiling with TDD
PostgreSQL on Amazon EC2の可能性
快適に料理を楽しむための監視のおはなし
OSv噺
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Ad

Similar to Immutable Infrastructure in nanapi (20)

PDF
PostgreSQL V9 レプリケーション解説
PDF
MySQLの冗長化 2013-01-24
PDF
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
PDF
[INSIGHT OUT 2011] B27 SQL Anywhereの先進のセルフヒーリング技術について(glenn paulley)
PPTX
20161129_npstudy_JunosAutomation
PPTX
Mvp road show_0830_rev1
PDF
Couchbase introduction-20150611
PDF
オンプレのDbaがazureのデータベースを使ってみた
PDF
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
PPTX
OSSで作るOpenStack監視システム
PDF
vSphere環境での自動化とテスト
PPTX
Continuous delivery 6
PDF
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
PDF
Eight meets AWS
PDF
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
PDF
Solaris 11 ディープダイブセミナー インストール編
PDF
Hinemosによるクラウド運用管理の最新情報
PDF
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
PDF
[D12] NonStop SQLって何? by Susumu Yamamoto
PostgreSQL V9 レプリケーション解説
MySQLの冗長化 2013-01-24
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
[INSIGHT OUT 2011] B27 SQL Anywhereの先進のセルフヒーリング技術について(glenn paulley)
20161129_npstudy_JunosAutomation
Mvp road show_0830_rev1
Couchbase introduction-20150611
オンプレのDbaがazureのデータベースを使ってみた
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
OSSで作るOpenStack監視システム
vSphere環境での自動化とテスト
Continuous delivery 6
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
Eight meets AWS
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
Solaris 11 ディープダイブセミナー インストール編
Hinemosによるクラウド運用管理の最新情報
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
[D12] NonStop SQLって何? by Susumu Yamamoto
Ad

More from 晃 遠山 (6)

PDF
nanapiのChatOps活用事例 #devops_LT
PDF
nanapi IGNITIONチームの開発フローとその構築
PDF
nanapiにおける継続的インテグレーション
PDF
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
KEY
Behat+Symfony2ではじめるBDD超入門
KEY
最強のPHP統合開発環境 PHPStorm
nanapiのChatOps活用事例 #devops_LT
nanapi IGNITIONチームの開発フローとその構築
nanapiにおける継続的インテグレーション
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
Behat+Symfony2ではじめるBDD超入門
最強のPHP統合開発環境 PHPStorm

Immutable Infrastructure in nanapi