Upload
marat-zhanikeev
View
259
Download
0
Embed Size (px)
DESCRIPTION
herokuって皆さんしているよね?はい、100%アマゾンEC2上で出来ているherokuの話だ。もちろん、(1) 増えた料金と(2) herokuのデザイン原則が気にならなければ問題ないが、herokuを経験してEC2へ移行するビズネスの事例の山ほどある。このcloudy会では、EC2 < > heroku移行の意思決定を支援するカルキュレーターを議論する。
Citation preview
.
教科書のクラウド
• 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
.
実際のクラウド.何でもクラウド.....
....すべての資源をクラウド的な形で提供する
Cloud
• 建物: データセンター• ラック・自宅・スマートフォン: ハイブリッドクラウド
• 町: インフラの仮想化
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 4/44...
4/44
.
実際のクラウドの構成
• T1: 物理層(建物、データセンター)• T2: クラウドプラットフォーム (アマゾンのEC2, S3)
• T3: クラウド上アプリ
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 5/44...
5/44
.
クラウド=何?...の遊び
Cloud
• クラウド化: クラウド的な形で提供すること
• クラウド化=仮想化• 仮想化=API化• API化=ブラックボックス化
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 6/44...
6/44
.
クラウドの何でもはAPIだ!
• 物理層から、すべての使用がAPIの形で使用されている
• heroku: ほとんど知られていないが、EC2の上で出来ているので、クラウドプラットフォームでなく、クラウドアプリです
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 8/44...
8/44
.
いくつかの重要な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
.
git : ソース管理の技術
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 10/44...
10/44
.
ソース管理とは?
• version management=バージョン管理• ソフト開発の中で非常に重要な概念・仕組む
• 他人数でも使えるので、チーム開発にも役に立つ
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 11/44...
11/44
.
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
.
gitため見ましょうの仕組み
• repo=repository = レポ : ソースが集まる場所、普段はサービス側
• pushとpullにより、ソースを管理する• 開発サイクル: pullして、ソースを弄って、pushする
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 13/44...
13/44
.
GitHub:人気1番のgit repo
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 14/44...
14/44
.
GitHub使用の流れ
• GitHubでアカウントを作る◦ SSH経由で使う場合、キーを登録する必要がある
• アカウントの中で、repoを作る• 各repoを中心に開発を行う
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 15/44...
15/44
.
GitHub : パスワードレス
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 16/44...
16/44
.
GitHub : repoごとのコマンドライン
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 17/44...
17/44
.
ハイブリッドクラウド
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 18/44...
18/44
.
ハイブリッドクラウドとは?
• 最近、異なっている層で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
.
EC2/Herokuの決定分岐
• 新規でアプリを開発したい時の判断• heroku > EC2のマイグレーション• EC2 > herokuのマイグレーション
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 20/44...
20/44
.
EC2/HerokuのAPI的構成
• 特に、EC2/herokuの意思決定
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 21/44...
21/44
.
AWSコンソール
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 23/44...
23/44
.
AWS/EC2コンソール
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 24/44...
24/44
.
EC2 : 新規VM
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 25/44...
25/44
.
EC2 : VMが立ち上がった!
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 26/44...
26/44
.
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
.
EC2 : 複数のウェブサーバが可能?
• ポートで別れているので、複数のウェブサーバが作れる
• なぜ複数か?これから、herokuの説明で分かる
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 28/44...
28/44
.
herokuの基盤
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 29/44...
29/44
.
EC2上のheroku
• herokuはコンテナーの技術を使っている
• 1アプリ=1コンテナー• コンテナーをEC2に詰める、いくつ?
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 30/44...
30/44
.
heroku = git repo
• gitを使って、アプリをデプロイする(のは、herokuの特徴)
• herokuのgit = ソース管理+アプリデプロイ
• 別途で、herokuというコマンドラインもある(ランタイム管理)
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 31/44...
31/44
.
herokuとEC2の違い
• herokuのアプリ=ウェブアプリ• 起動したときに、既にウェブアプリの形になっている
• ソースコードは、何でもな形でなく、ウェブアプリの形式にする(GET/POSTの処理)
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 32/44...
32/44
.
herokuのweb/worker仕組み.herokuアプリは......webとworkerのプロセスで作るもの
• web : 1つのポートが空いて、このポートでGET/POSTリクエストを受けて、処理する
• worker : ポートがないから受信は不可能ですが、背景ジョブとして完璧
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 33/44...
33/44
.
herokuのスケール化.スケールアウトは.....
.
必要な時にプロセス数を増やすこと
• ユーザがスケールを設定する• herokuが必要な時に数を増やす• プログラム上は複数化を意識する必要がある
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 34/44...
34/44
.
herokuのスケール化
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 35/44...
35/44
.
herokuのウェブアプリを体験しよう
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 36/44...
36/44
.
EC/Herokuの決算法
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 37/44...
37/44
.
EC/Heroku:迷うなー!
• 新規でアプリを開発したい時の判断• heroku > EC2のマイグレーション• EC2 > herokuのマイグレーション
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 38/44...
38/44
.
Herokuの課金
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 39/44...
39/44
.
課金を含めて、いくつかの特性
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
.
特性のメトロマップ
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 42/44...
42/44
.
では、課題そのものへ
• 自分が企業になる(ビズネスマン)
• 自分のアプリをメトロマップで定義する(出来れば標準化=人気のアプリいく
つか)
• カルキュレータの形で定義出来れば嬉しい
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 43/44...
43/44
.
That’s all, thank you ...
M.Zhanikeev -- [email protected] ハイブリッドクラウドとheroku/EC2決算法 -- bit.do/141011 44/44...
44/44