jus研究会沖縄大会「AWSで行うImmutable Infrastructure」

Post on 22-May-2015

2.377 views 1 download

description

オープンソースカンファレンス2014沖縄で話した jus研究会沖縄大会「AWSで行うImmutable Infrastructure」

Transcript of jus研究会沖縄大会「AWSで行うImmutable Infrastructure」

AWSで行うImmutable

InfrastructureJAWS-UG沖縄 米須

自己紹介• Twitter: @asumaslv

• Facebook: asumaslv

• 熱しやすく冷めやすい飽きっぽい性格

• 好きなAWSサービス CloudFront

• JAWS-UG沖縄 代表

2014-05-24

お願い• ハッシュタグを付けてtweetしてください

• #osc14ok #jawsug

• マサカリ を投げていただけるなら歓迎です

2014-05-24

2014-05-24

最近流行の単語• Vagrant/Docker

• Chef/Puppet

• Serf

• Fluentd/Nokogiri

2014-05-24

今週のJAWS-UGでのTweet

• 今日のイベントで極めて普通なんですけど…といった場合の構成は「R53・CF・ELB・EC2・RDS・ElastiCache・DynamoDB・SQS・(Fluentd・NewRelic・ElasticSearch・kibana)」といった感じ。

2014-05-24

単語の説明(AWS)

• R53(Route53)

• CF(CloudFront)

• ELB(Elastic Load Balancing)

• EC2(Elastic Compute Cloud)

2014-05-24

• RDS(Relational Database Service)

• ElastiCache

• DynamoDB

• SQS(Simple Queue Service)

2014-05-24

時代の流れが速すぎてついていけてない

今日話すこと• 最近話題のDisposable component や

Immutable infrastructureの話をしてみる

• Dockerの話を少しできたらいいなぁ

• Dockerのdemoも行いたい

2014-05-24

Immutable infrastructure とは• 「不変なインフラ」という意味 *weblioより

• 不変なインフラ???意味もわかりにくいし言いにくいし、噛む

• いみゅーたぶる いんふらすとらくちゃー

2014-05-24

disposable component とは• disposable(処分できる,自由になる)

• 使い捨てが可能なサーバ群

• サーバを使い捨てに出来るならメンテ=作り直す

• 本番に手を入れないから適用ミスが少ない(はず)

2014-05-24

Blue Green Deployment• マーチン・ファウラーさんが

2010年3月にポスト

• BlueGreenDeployment

• 本番環境へのデプロイが1番危険

• ダウンタイムは最小にしたい

• 切り戻し手順とかまで当然考慮してやる

2014-05-24

Blue Green Deployment

• 2つの本番系を用意

• Blue(現在稼働)

• Green(新バージョン)

• 本番環境へはロードバランサで切り替える

2014-05-24

AWSでBlueGreenDeployment• ダウンタイムが短い

• 切り戻しが楽

• ディザスタリカバリ(DR)的にも良いかも

• AZ(Available Zone)、Regionを分ける事も可能

2014-05-24

歴史~2014-05-24

自前 iDC

物理 物理サーバ ホスティング

仮想 VMWare/Xen VPS

クラウド Private(OpenStack) Public(AWS,Linode,Digital Ocean)

クラウド脳• 今までの考え方ではなく根本的に考え方を変える

• 落ちないサーバ群ではなく落ちてもサービスを提供するシステム

• StatelessとStatefulに分けて考える

2014-05-24

Statelessサーバ群• 状態を持たないサーバ

• 捨ててもいい/無くなってもいい状態で運用

• WebサーバやApplicationサーバ

• LogはStatelessなサーバに置けない

2014-05-24

Statefulサーバ群• 状態を持つサーバ

• 今までと同じ運用が必要

• DBサーバ、ファイルサーバ等のサーバ

2014-05-24

What's Docker

• Docker は 旧dotCloud がオープンソースで公開している、コンテナ技術による仮想化ソフトウェア。

• RedHat、Google、Amazonがサポート

• 非常に勢いがあり開発速度が超速い

2014-05-24

コンテナ型仮想化基盤?

2014-05-24

ハイパーバイザー型仮想化基盤

2014-05-24

ハードウェア

仮想化ソフト

ゲストOS ゲストOS

Application Application

仮想マシン 仮想マシン

コンテナ型仮想化基盤

2014-05-24

ハードウェア

ホストOS

bin/lib bin/lib

Application Application

Container型のMerit• 起動が速い

• OSの起動ではなくプロセスの起動になる

• 必要サービスだけを動かす(例: HTTP)

• 仮想マシンの上でも動作する

• ポータビリティが高い

2014-05-24

Container型のDemerit• カーネルに関わる操作はできない

• すげーわかりにくい

• Linux上でSolarisとかは無理

2014-05-24

コンテナの考え方

2014-05-24

Demo

2014-05-24

Demoの内容1.Ubuntu上にCentOSのImageで起動

2.viを入れてみる

3.Imageを作成してみる

4.Docker.ioのRepositoryへpush

2014-05-24

2014-05-24