45

Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

Embed Size (px)

DESCRIPTION

herokuって皆さんしているよね?はい、100%アマゾンEC2上で出来ているherokuの話だ。もちろん、(1) 増えた料金と(2) herokuのデザイン原則が気にならなければ問題ないが、herokuを経験してEC2へ移行するビズネスの事例の山ほどある。このcloudy会では、EC2 < > heroku移行の意思決定を支援するカルキュレーターを議論する。

Citation preview

Page 1: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法
Page 2: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

クラウドって何?

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 2/44...

2/44

Page 3: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

教科書のクラウド

• SaaS: Software As A Service• PaaS: Platform As A Service• IaaS: Infrastructure As A Service• ...

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 3/44...

3/44

Page 4: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

実際のクラウド.何でもクラウド.....

....すべての資源をクラウド的な形で提供する

Cloud

• 建物: データセンター• ラック・自宅・スマートフォン: ハイブリッドクラウド

• 町: インフラの仮想化

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 4/44...

4/44

Page 5: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

実際のクラウドの構成

• T1: 物理層(建物、データセンター)• T2: クラウドプラットフォーム (アマゾンのEC2, S3)

• T3: クラウド上アプリ

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 5/44...

5/44

Page 6: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

クラウド=何?...の遊び

Cloud

• クラウド化: クラウド的な形で提供すること

• クラウド化=仮想化• 仮想化=API化• API化=ブラックボックス化

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 6/44...

6/44

Page 7: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

クラウド=API

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 7/44...

7/44

Page 8: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

クラウドの何でもはAPIだ!

• 物理層から、すべての使用がAPIの形で使用されている

• heroku: ほとんど知られていないが、EC2の上で出来ているので、クラウドプラットフォームでなく、クラウドアプリです

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 8/44...

8/44

Page 9: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

いくつかの重要なAPI

• XCP : 人気1番クラウドプラットフォーム (Xen Cloud Platform)

• EC2 : Elastic Cloud 2 (アマゾンの仮想マシン=VM)

• S3 : Storage 3 (アマゾンのストレージサービス)

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 9/44...

9/44

Page 10: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

git : ソース管理の技術

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 10/44...

10/44

Page 11: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

ソース管理とは?

• version management=バージョン管理• ソフト開発の中で非常に重要な概念・仕組む

• 他人数でも使えるので、チーム開発にも役に立つ

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 11/44...

11/44

Page 12: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

git vs Xの比較

• CVS : 一番古いソフト◦ フォルダ木の中で各フォルダで余計な.cvsフォルダを追加するので、結構な邪魔

• SVN : CVSの交代、ウェブからアクセス出来ることが特徴である◦ 楽になりましたが、CVSの基本問題が残っている→面倒くさい

• GIT : 現在人気1番の仕組み◦ .gitという余計なフォルダが頭の1つだけですので、扱いやすい◦ 操作が簡単、普段はpushとpullだけで済む

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 12/44...

12/44

Page 13: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

gitため見ましょうの仕組み

• repo=repository = レポ : ソースが集まる場所、普段はサービス側

• pushとpullにより、ソースを管理する• 開発サイクル: pullして、ソースを弄って、pushする

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 13/44...

13/44

Page 14: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

GitHub:人気1番のgit repo

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 14/44...

14/44

Page 15: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

GitHub使用の流れ

• GitHubでアカウントを作る◦ SSH経由で使う場合、キーを登録する必要がある

• アカウントの中で、repoを作る• 各repoを中心に開発を行う

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 15/44...

15/44

Page 16: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

GitHub : パスワードレス

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 16/44...

16/44

Page 17: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

GitHub : repoごとのコマンドライン

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 17/44...

17/44

Page 18: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

ハイブリッドクラウド

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 18/44...

18/44

Page 19: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

ハイブリッドクラウドとは?

• 最近、異なっている層で2つ以上の選択肢がある (ハイブリッド)

• アプリ: herokuかEC2 (今日の課題)• ストーレジ: S3かheroku上DBかBigData技術• 1つのユースケース: 2つ以上の似たサービスを組み合わせる• も1つのユースケース: 2つ以上から1つに絞る(選択する)

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 19/44...

19/44

Page 20: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

EC2/Herokuの決定分岐

• 新規でアプリを開発したい時の判断• heroku > EC2のマイグレーション• EC2 > herokuのマイグレーション

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 20/44...

20/44

Page 21: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

EC2/HerokuのAPI的構成

• 特に、EC2/herokuの意思決定

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 21/44...

21/44

Page 22: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

EC2の基盤

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 22/44...

22/44

Page 23: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

AWSコンソール

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 23/44...

23/44

Page 24: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

AWS/EC2コンソール

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 24/44...

24/44

Page 25: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

EC2 : 新規VM

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 25/44...

25/44

Page 26: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

EC2 : VMが立ち上がった!

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 26/44...

26/44

Page 27: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

EC2 : ウェブサーバを立ち上げよう

1. EC2で新規VMを作る(VM)2. VMの中でウェブサーバを作る

◦ yum remove httpd-* php-*◦ yum install php54

3. VMのfirewallで8001ポートを開く4. VM上:app1フォルダを作って、単純なPHP(かHTMLページを書く)

5. php -S VMのIP:8001 -t app1

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 27/44...

27/44

Page 28: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

EC2 : 複数のウェブサーバが可能?

• ポートで別れているので、複数のウェブサーバが作れる

• なぜ複数か?これから、herokuの説明で分かる

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 28/44...

28/44

Page 29: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

herokuの基盤

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 29/44...

29/44

Page 30: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

EC2上のheroku

• herokuはコンテナーの技術を使っている

• 1アプリ=1コンテナー• コンテナーをEC2に詰める、いくつ?

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 30/44...

30/44

Page 31: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

heroku = git repo

• gitを使って、アプリをデプロイする(のは、herokuの特徴)

• herokuのgit = ソース管理+アプリデプロイ

• 別途で、herokuというコマンドラインもある(ランタイム管理)

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 31/44...

31/44

Page 32: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

herokuとEC2の違い

• herokuのアプリ=ウェブアプリ• 起動したときに、既にウェブアプリの形になっている

• ソースコードは、何でもな形でなく、ウェブアプリの形式にする(GET/POSTの処理)

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 32/44...

32/44

Page 33: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

herokuのweb/worker仕組み.herokuアプリは......webとworkerのプロセスで作るもの

• web : 1つのポートが空いて、このポートでGET/POSTリクエストを受けて、処理する

• worker : ポートがないから受信は不可能ですが、背景ジョブとして完璧

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 33/44...

33/44

Page 34: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

herokuのスケール化.スケールアウトは.....

.

必要な時にプロセス数を増やすこと

• ユーザがスケールを設定する• herokuが必要な時に数を増やす• プログラム上は複数化を意識する必要がある

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 34/44...

34/44

Page 35: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

herokuのスケール化

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 35/44...

35/44

Page 36: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

herokuのウェブアプリを体験しよう

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 36/44...

36/44

Page 37: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

EC/Herokuの決算法

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 37/44...

37/44

Page 38: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

EC/Heroku:迷うなー!

• 新規でアプリを開発したい時の判断• heroku > EC2のマイグレーション• EC2 > herokuのマイグレーション

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 38/44...

38/44

Page 39: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

Herokuの課金

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 39/44...

39/44

Page 40: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

EC2の課金

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 40/44...

40/44

Page 41: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

課金を含めて、いくつかの特性

1. pricing : 下記の違い2. migration : アプリやデータが移転するかどうか(配置なども含める)3. programming: 楽かどうか4. social (crowds): ユーザ群の特徴5. data management : データ構造の特徴と処理

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 41/44...

41/44

Page 42: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

特性のメトロマップ

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 42/44...

42/44

Page 43: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

では、課題そのものへ

• 自分が企業になる(ビズネスマン)

• 自分のアプリをメトロマップで定義する(出来れば標準化=人気のアプリいく

つか)

• カルキュレータの形で定義出来れば嬉しい

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 43/44...

43/44

Page 44: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法
Page 45: Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法

.

That’s all, thank you ...

M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 44/44...

44/44