jcss 「はじめよう!クラウド」配布用

35
ははははは はははは はははははは (@chirashier )

Upload: chirashier

Post on 24-Jun-2015

183 views

Category:

Engineering


3 download

DESCRIPTION

さぁ、私たちのクラウドをはじめましょう!

TRANSCRIPT

Page 1: Jcss 「はじめよう!クラウド」配布用

はじめよう!クラウドちらっしゃー (@chirashier)

Page 2: Jcss 「はじめよう!クラウド」配布用

自己紹介

ちらっしゃー (@chirashier)

Page 3: Jcss 「はじめよう!クラウド」配布用

クラウド使ってますか?

スケーラビリティ 処理能力は無限大 楽しそう

初期投資がいらない 使った分だけ課金 安そう

管理の手間が省ける インフラを持って管理するのは時間がかかる 簡単そう

Page 4: Jcss 「はじめよう!クラウド」配布用

クラウドサービスモデル

アプリケーション

ミドルウェア

OS

仮想化

サーバー

ストレージ

ネットワーク

IaaS Infra as a Service

PaaS Platform as a Service

SaaS Software as a Service

Page 5: Jcss 「はじめよう!クラウド」配布用

クラウドサービスの分類と例

IaaS (Infrastructure as a Service): 仮想マシン使える AWS EC2: Amazon Web Services Elastic Compute Cloud

Google Compute Engine

Microsoft Azure

PaaS (Platform as a Service): ミドルウェア使える Google App Engine

Heroku

SaaS (Software as a Service): ソフトウェア使える Microsoft Office 365

Google Apps

Page 6: Jcss 「はじめよう!クラウド」配布用

Agenda

クラウドとは 自作サーバーと仮想化 なぜ必要なのか クラウドを作ろう

Page 7: Jcss 「はじめよう!クラウド」配布用

First Serverはじめてのサーバー

Page 8: Jcss 「はじめよう!クラウド」配布用

ぼくの自宅サーバー2008 年 ( 学部 1 年生 )

コンピューターの勉強したいお・・・

でもレンタルサーバーとか高すぎるお・・・

だから自分で作るお!

ちらっしゃー (1 年生 )

Page 9: Jcss 「はじめよう!クラウド」配布用

ねんがんの自宅サーバーをてにいれたぞ

自宅サーバー時代 CPU: Intel Core 2 Quad Q9XXX

メモリ : 8GB

HDD: 1TB

OS: Windows Server 2008

Page 10: Jcss 「はじめよう!クラウド」配布用

サーバー構成

自宅サーバー時代 CPU: Intel Core 2 Quad Q9XXX

メモリ : 8GB

HDD: 1TB

OS: Windows Server 2008

Windows Server 2008

Active Director

y

Web (IIS)

DB (MS SQL)

Page 11: Jcss 「はじめよう!クラウド」配布用

この構成の問題点

運用者のジレンマ 運用中のサーバーを改善したい 改善するとサーバー全部落ちるかも 何もできない

脆弱なセキュリティ 全部入りでセキュリティどうなる 一度の設定ミスが永続

別々のサーバーに分ける必要 そんな金ない もうマジ無理・・・仮想化しよ

Windows Server 2008

Active Director

y

Web (IIS)

DB (MS SQL)

Page 12: Jcss 「はじめよう!クラウド」配布用

サーバーを仮想化して集約しよう

Hypervisor

VM VM VMVirtualizeServer Server Server

Page 13: Jcss 「はじめよう!クラウド」配布用

ハイパーバイザーとは

ハードウェアの仮想化 有名どころ

VMware ESXi

Microsoft Hyper-V

Kernel-based Virtual Machine

Hardware

Hypervisor

VM OS

App

VM OS

App

VM OS

App

Page 14: Jcss 「はじめよう!クラウド」配布用

サーバー構成

自宅サーバー時代 CPU:4 + 4 = 8 Cores

メモリ : 8 + 16 = 24 GB

HDD: 1 + 5 = 6 TB

OS: Windows Server 2008 R2

HW

Hyper-V

VM (Windows

Server 2008 R2)

Active Directory

HW

Hyper-V

VM (Windows

Server 2008 R2)

Web (IIS)

VM (Windows

Server 2008 R2)

DB (MS SQL)

Page 15: Jcss 「はじめよう!クラウド」配布用

サーバー仮想化によるメリット

管理性の向上 物理サーバーではなく仮想マシン (VM) 単位の管理 物理サーバーの設定は「変えない」 変えるのは仮想マシン「だけ」

堅牢なセキュリティ セキュリティに問題があると思ったら作り直す

仮想マシンのポータビリティ 物理マシン間の仮想マシン移動 電力消費を抑えるために高性能なサーバーに移動 あ^~いっすね^~

Page 16: Jcss 「はじめよう!クラウド」配布用

悪魔のリドル突然増えてきて、減ることのないものは?

Page 17: Jcss 「はじめよう!クラウド」配布用

Distributed Architecture of Anime Encode Service

Encode Controller

Encoder

Video Storage

User

Encoder

Encoder

WebServerVideo

Video

Video

Page 18: Jcss 「はじめよう!クラウド」配布用

Hypervisor

VM VM VM

分散処理

Hypervisor

VM VM VM

Hypervisor

VM VM VM

Hypervisor

VM VM VM

高負荷?

Hypervisor

サーバーを増やして対応

VM VMVM VM

サーバー仮想化

Page 19: Jcss 「はじめよう!クラウド」配布用

おうちで動かせるサービスが増える

認証基盤 オレオレ証明機関 ウェブサービス ネットワーク解析 IP アドレス管理

ローカルリポジトリ展開サービス 作業用マシン 仮想マシン展開

サービス ボイスサーバーソフトウェアアップデート

キャッシュ

リモート接続ゲートウェイ データベース テスト用

ウェブサイト ゲームサーバー ゲームサーバーコントロールノード

ソースコード管理 アニメエンコーダー アニメエンコード

コントローラー

Page 20: Jcss 「はじめよう!クラウド」配布用

つまりどんどんサーバーが増える

Hypervisor

VM VM VM

Hypervisor

VM VM VM

Hypervisor

VM VM VM

Hypervisor

VM VM VM

Page 21: Jcss 「はじめよう!クラウド」配布用

つまりストレージも増える

Hypervisor

VM VM VM

Hypervisor

VM VM VM

Hypervisor

VM VM VM

Hypervisor

VM VM VM

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Page 22: Jcss 「はじめよう!クラウド」配布用

つまり VM も増える

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Page 23: Jcss 「はじめよう!クラウド」配布用

ご注文は自作ですか?ひと目で、尋常でない自作だと見抜いたよ

Page 24: Jcss 「はじめよう!クラウド」配布用

突然増えてきて、減ることのない VM

Hypervisor

VM

Hypervisor

VM

負荷分散

Hypervisor

VM

Hypervisor

VM

バージョンアップ

Hypervisor

VM

Hypervisor

VM

環境:開発・試験・運用

Hypervisor

VM

Hypervisor

VM

可用性の向上

Page 25: Jcss 「はじめよう!クラウド」配布用

こいつらどうする?

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Page 26: Jcss 「はじめよう!クラウド」配布用

解決策:全体を制御する

Hypervisor

VM VM VM

Hypervisor

VM VM VM

Hypervisor

VM VM VM

Cloud Controlle

r

Hypervisor

VM VM VM

Page 27: Jcss 「はじめよう!クラウド」配布用

クラウドコントローラーの必要性

VM 管理の透過性 (Transparency in Virtual Machine Management)

増えすぎたリソースをまとめて管理する 巨大な一つのリソースプールに見える

スケーラビリティ (Scalability)

パフォーマンスを改善する 最適なリソースを選んで使う

物理冗長化 (Physical Redundancy)

物理機器障害に備える

Page 28: Jcss 「はじめよう!クラウド」配布用

自作のクラウドコントローラ

Cloud Controlle

r Hypervisor

VM VM VM

Hypervisor

VM VM VM

Hypervisor

VM VM VM

Hypervisor

VM VM VM

VM

Page 29: Jcss 「はじめよう!クラウド」配布用

デモ

Page 30: Jcss 「はじめよう!クラウド」配布用

リソース管理の透過性

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Page 31: Jcss 「はじめよう!クラウド」配布用

スケーラビリティ (共有ストレージ )

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Storage

Page 32: Jcss 「はじめよう!クラウド」配布用

スケーラビリティ ( 分散ストレージ )

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Storage

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

VM VM VM

VM VM VM

Page 33: Jcss 「はじめよう!クラウド」配布用

冗長性

Storage

Storage

Storage

Storage

Storage

Storage

Hypervisor

VM VM VM

VM VM VM

Hypervisor

VM VM VM

VM VM VM

Storage

Storage

Storage

Hypervisor

VM VM VM

VM VM VM

Page 34: Jcss 「はじめよう!クラウド」配布用

まとめ

Page 35: Jcss 「はじめよう!クラウド」配布用

まとめ

クラウドってすごい! 仮想化って便利! クラウドがないとエンジニアが死んじゃう! みんなでつくろうクラウド基盤!