mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

66
www.mobingi.com Cloud Automation Softwares

Upload: yasuhiro-horiuchi

Post on 16-Apr-2017

1.077 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

www.mobingi.com

Cloud Automation Softwares

Page 2: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

mocloud.io ハンズオン

サインアップから初めてのスタック作成まで

http://www.slideshare.net/horiyasu/mocloudio-ver2

Ishigaki phantom island tour 2016.04.26Ishigaki phantom island tour 2016.04.26

Page 3: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

堀内康弘• 元AWSエバンジェリスト

• Mobingi, Inc. Co-Founder

• 株式会社LiB 社外取締役

• 1978年⽣まれ ⼭梨県出⾝

• 趣味:旅⾏とマンガとグルメ

• 2014年9⽉から毎⽉半分は旅⾏しています。現在10か国24都市

• Kindleのアイテム数は1283。9割以上マンガです。

• ⾁が好きです。

Page 4: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

本日のアジェンダ

• Mobingiのご紹介

• ハンズオン!

• mocloud.ioへのサインアップ

• PHPスタックの作成

• githubを使ったコードのデプロイ

Page 5: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

クラウドネイティブ

Page 6: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

複雑化するクラウド

Page 7: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

なんでもできる =

なんにもできない

Page 8: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

やりたいことはアプリケーションの運⽤

Page 9: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

EC2

RDS

Web App

ELB

AZ-A

AWS Cloud

EC2

RDS

Web App

DB Slave

AZ-B

DB Master 同期

Web App ・・・ Web

AppWeb App ・・・ Web

App

RDS

DB Slave ・・・

DB Slave

典型的な3Tier構成での運⽤を想定しているなら

Page 10: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

www.mobingi.com

A Cloud Software Company

Page 11: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

Mobingiとは? クラウドアプリケーションの

ライフサイクル⾃動化を サポートするソフトウェアです。

Page 12: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

どういうことか?

Page 13: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

例1: SalesForce

SalesForce以前は・・・

1箇所で全ての管理が可能に企業はCRM管理のために 様々な部署が必要

CRM ⾃動化

CRM のライフサイクルを⾃動化

Page 14: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

例2: Workday

Workday SaaS 全ての機能を1箇所に

ユーザーはそれぞれの サービスをまとめるのに

⼀苦労

財務管理の⾃動化WorkDay以前は…

財務管理のライフサイクルを⾃動化

Page 15: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

例3: Zendesk

製品開発⼒の促進・ 柔軟性につながる 膨⼤な仕事量・効率化図れず

カスタマーサポートの⾃動化Zendesk以前は…

カスタマーサポートのライフサイクルを⾃動化

Page 16: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

エンジニアの仕事負担軽減 →時間・コストの削減

- 内部での運⽤・保守は⼤きな負担 - 仕事量が増えるのと並⾏し

統率・セキリュティ⾯が疎かに

Mobingiは?

クラウドライフサイクルの⾃動化Mobingi以前は…

クラウドアプリケーションのライフサイクルを⾃動化

Page 17: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

つまり

Page 18: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

クラウド上でのアプリケーションの開発・運⽤を

もっと楽にしてくれる

ソフトウェアです。

Page 19: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

具体的には?

Page 20: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

⼀般的によく使われる異なるジャンルのクラウドアプリケーション

Step 1 Step 3 Step 4

1.インフラ ストラクチャー

Step 2

2. 環境構築 3. コード 4. 監視 & 分析

Step 6. (継続的なデプロイ&スケーリング)

Step 5

5. 内部での 運⽤・保守

第三者によるインテグレートのサポート

Page 21: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

Mobingiは全ての過程を統合したソリューションを提供します

下記全⾏程を繋ぎ合わせ、⾃動化します!

クラウドアプリケーションライフサイクル

1.インフラ ストラクチャー

2. 環境構築 3. コード デプロイ

4. 監視&分析 5. 内部での 運⽤・保守

Page 22: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

Web UIから全てを管理

⾃動的にハードウェア、IP、セキュリティグループ、 ロードバランサー、スケーリング、

ソフトウェアシッピング&コードデプロイなどの負担を分散します。

クラウド管理のユーザー画⾯

Page 23: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

Mobingiのソフトウェアは“Plug-and-Play”を実現します (Plug-andPlay…つないだら (Plug)、ユーザが何か特別なことをしなくても実⾏ (Play) できる)

クラウド設計に関する部分 (サーバータイプ, リージョン,

⾃動スケール幅の設定)

環境&ソフトウェアに 関する部分

(OS, ソフトウェア, プログラミング⾔語, Docker)

1クリックで完了

ユーザー画⾯ - デプロイの過程

Page 24: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

GitHubやDocker、その他ソフトウェアをインテグレートします

コードデプロイ時のユーザー画⾯

Page 25: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

Mobingi Enterprise for AWS

現在提供しているサービスは2つ

mocloud.io

既存のAWSアカウントをお持ちの⽅向け

AWSアカウントなしにすぐにアプリケーションの開発を始めたい⽅向け

Page 26: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

Cloud Automation Softwares

ハンズオン

Page 27: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

Cloud Automation Softwares

mocloud.ioへのサインアップ

Page 28: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

mocloud.ioにサインアップする

mocloudのウェブサイト( https://mocloud.io/jp/ )にアクセスします。 右上の「サインアップ」をクリックします。

Page 29: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

mocloud.ioへのサインアップ

「メールアドレス」と「パスワード」を⼊⼒して「サインアップ」ボタンをクリックします。

Page 30: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

mocloud.ioへのサインアップ

仮登録が完了し、確認⽤のメールが⼊⼒したメールアドレス宛てに送信されます。

Page 31: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

mocloud.ioへのサインアップ

以下のようなメールが届いたら、「Click here to verify your email」をクリックし、本登録を完了します。

Page 32: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

mocloud.ioへのサインアップ

おめでとうございます!これでサインアップが完了です! すぐにmocloud.ioをご利⽤開始いただけます。

Page 33: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

Cloud Automation Softwares

PHPスタックの作成

Page 34: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成

それでは早速PHPアプリケーションを実⾏するスタックを作成してみましょう。左メニューの「アプリケーションの作成」をクリックします。

Page 35: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成アプリケーション情報を設定します。アプリケーション名(オプション)、サブドメイン(オプション)、リージョン、インスタンスタイプを⼊⼒・選択します。アプリケーション名とサブドメインを省略した場合、適当な名前が⾃動的に設定されます。アプリケーション名は後から変更可能です。

Page 36: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成

シングルスタック:   シングルサーバーのみローンチされます。

ロードバランス機能付スタック:    スタックは⾃動スケール機能を管理するため、ロードバランサーや   その他の必要なネットワークコンポーネントと共にローンチされます。  ⾃動スケールの際の最⼩・最⼤インスタンス数を設定できます。

⾃動スケール機能について 有料プランに登録いただくと、アーキテクチャを選択できるようになり、⾃動スケール機能をご利⽤いただけます。選択できるアーキテクチャは次の2つです。

Page 37: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成

次に適当なイメージを選択し環境設定を⾏いましょう。 今回は右上のPHP Stack (Ubuntu 14.04, php 5.6, Nginx)を選択します。

Page 38: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成PHP Stack (Ubuntu 14.04, php 5.6, Nginx)を選択するとExtra PHP Configurationの設定画⾯が表⽰されますが、何も変更せず、「実⾏」をクリックします。

Page 39: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成今回は使⽤しませんが、Docker Hubに登録されているイメージを利⽤することもできます。⾃分で作成したDockerイメージをDocker Hubに登録することで、オリジナルのコンテナを利⽤することもできます。

moCloud⽤のDockerイメージを構築する⽅法についてはドキュメント (http://bit.ly/mocloud-custom-docker)をご覧下さい。

Page 40: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成

有料プランに登録いただくと、Multi-AZ構成でマスター/スレーブ⽅式をサポートするMySQLとPostgreSQLをご利⽤可能になります。 スレーブDBは1〜5台まで設定可能で、運⽤中でもダウンタイムなしでいつでも追加・削除することが可能です。スレーブDBの負荷分散を⾏うロードバランサーも⾃動で作成され、DBのエンドポイントが⽤意されます。アプリケーションの設定でDBの接続先をエンドポイントにするだけで、どのDBに接続するかを意識することなしに、負荷分散されたDBをご利⽤いただけます。今回はDBの選択はしません。

Page 41: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成

オプションとして、インスタンスにアタッチする複数のSSH公開鍵の登録が可能です。普段使⽤している鍵を使ってサーバーにログインすることができます。 公開鍵の登録はサーバーのローンチ後でも可能です。 今回は鍵の登録はしません。

Page 42: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成

これで準備完了です!⼀番下にある「アプリケーションの作成」をクリックして、moCloudでアプリケーションを作成しましょう!

Page 43: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成スタックの作成が終わるまで少し時間がかかります。 左メニューの「既存のアプリケーション」から状態を確認できます。 「初期化中…」が「実⾏中」に変わったら作成完了です!

Page 44: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成⼀覧からアプリケーション名をクリックすると詳細ページ移動します。 リソースタブでは「アプリケーションのURL」「ご利⽤料⾦」「実⾏中のインスタンスの情報」を確認できます。 アプリケーションのURLをクリックすると実際に稼働しているアプリケーションを開きます。

Page 45: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成

アプリケーションのURLをクリックすると次のようなページが開きます。 Mobingiがデフォルトで⽤意したPHPアプリケーションのページです。

Page 46: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成

コードタブではアプリケーションとGitHubの接続を⾏い、デプロイを可能にする設定を⾏えます。こちらは次の章で実際に設定してみます。

Page 47: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成

アクティビティタブではこのスタックで⾏われたアクティビティを確認できます。

Page 48: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成

ログタブでは、インスタンス毎の詳細なログを確認できます。

Page 49: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

PHPスタックの作成

ログタブでは、インスタンス毎の詳細なログを確認できます。

Page 50: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

Cloud Automation Softwares

githubを使ったコードのデプロイ

Page 51: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ

githubで今回のアプリケーション⽤のレポジトリを作成します。(githubアカウントをお持ちでない場合は、事前に作成してください。) github.comにアクセスし、右上の「New repository」をクリックします。

Page 52: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ

必要な情報を⼊⼒しリポジトリを作成します。

Page 53: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ

この例ではmocloud-demo-phpと⾔うレポジトリを作成しました。

Page 54: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ

mocloudに戻り、アプリケーションの詳細のコードタブを開きます。 「GitHubに接続」ボタンをクリックします。

Page 55: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ

するとGitHubのページにジャンプします。githubにログインしていない場合は、ログインを求められます。

Page 56: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ

mocloudがGitHubにアクセスする権限を与えるかどうか聞かれますので、「Authorize application」をクリックし、権限を与えます。

Page 57: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ

⾃動でmocloudに戻ってくると、githubのリポジトリを選択できるようになっています。

Page 58: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ

先ほど作成したリポジトリ(今回はmocloud-demo-php)を選択します。 ブランチはmasterを指定し、「⾃動デプロイを可能にする」にチェックが⼊っていることを確認して、「接続する」をクリックします。

Page 59: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ接続に成功すると、githubの情報が表⽰されます。 これでコードをデプロイする準備が整いました!! gitリポジトリいコードをpushすると⾃動でmocloud上のアプリケーションにデプロイされます。

Page 60: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ

### githubからコードをローカルにコピー(clone) $ git clone http://github.com/xxxx/mocloud-demo-php

### index.phpを作成しリポジトリにpush $ cd mocloud-demo-php $ echo “Hello world” > index.php $ git add index.php $ git commit -m “add new index file” $ git push origin master

実際にやってみましょう! 次のような操作でコンソールからコードをgithubにpushしてみます。

Page 61: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ

pushされると同時にコードのデプロイが始まります。 しばらくしてからアプリケーションのURLにアクセスするとサイトが更新されていることが確認できます。

Page 62: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイデプロイが動作しているかを確認するには、まずアクティビティを⾒てみます。 すると、GitHubのpushを受け取り、すべてのインスタンスにコードをデプロイを始めたことが確認できました。

Page 63: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ

次にログタブから、インスタンスのmoDaemonのログを確認します。 よく⾒ていくと、変更を検知してgithubからコードをpullしていることがわかります。

Page 64: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

githubを使ったコードのデプロイ

さらにログを⾒ていくと、新しいコードを使ってgreen containerを作成し、作成完了後既存のblue containerとgreen containerを差し替え、blue containerを削除していることがわかります。

Page 65: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

参考資料

• mocloud⽇本語ドキュメント→https://mocloud.io/documentation_jp/overview/features

• moCloudでHubotを動かしてSlack上で遊ぼう→http://yoshidashingo.hatenablog.com/entry/2015/12/15/105841

• moCloud上のPHPからSendGridを使ってメール送信→http://takachan.hatenablog.jp/entry/2015/12/22/144820

• moCloud を使って Slack のクローン Mattermost を動かしてみた→http://uchimanajet7.hatenablog.com/entry/2015/12/23/224210

• moCloudでProcfileを使ってNode.jsアプリを動かす → http://yoshidashingo.hatenablog.com/entry/2016/01/06/200919

Page 66: mocloud.io ハンズオン サインアップから初めてのスタック作成まで ver.2

Thank you.

The next layer of cloud technology is application lifecycle management.