Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,265 views

Published on

4/29に実施した沖縄でのハンズオン資料です。

Published in: Technology
  • Be the first to comment

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

  1. 1. www.mobingi.com Cloud Automation Softwares
  2. 2. mocloud.io ハンズオン サインアップから初めてのスタック作成まで http://www.slideshare.net/horiyasu/mocloudio-ver2 Ishigaki phantom island tour 2016.04.26Ishigaki phantom island tour 2016.04.26
  3. 3. 堀内康弘 • 元AWSエバンジェリスト • Mobingi, Inc. Co-Founder • 株式会社LiB 社外取締役 • 1978年⽣まれ ⼭梨県出⾝ • 趣味:旅⾏とマンガとグルメ • 2014年9⽉から毎⽉半分は旅⾏し ています。現在10か国24都市 • Kindleのアイテム数は1283。9割 以上マンガです。 • ⾁が好きです。
  4. 4. 本日のアジェンダ • Mobingiのご紹介 • ハンズオン! • mocloud.ioへのサインアップ • PHPスタックの作成 • githubを使ったコードのデプロイ
  5. 5. クラウドネイティブ
  6. 6. 複雑化するクラウド
  7. 7. なんでもできる = なんにもできない
  8. 8. やりたいことは
 アプリケーションの運⽤
  9. 9. EC2 RDS Web App ELB AZ-A AWS Cloud EC2 RDS Web App DB
 Slave AZ-B DB
 Master 同期 Web App ・・・ Web App Web App ・・・ Web App RDS DB
 Slave ・・・ DB
 Slave 典型的な3Tier構成での運⽤を想定しているなら
  10. 10. www.mobingi.com A Cloud Software Company
  11. 11. Mobingiとは?
 クラウドアプリケーションの ライフサイクル⾃動化を サポートするソフトウェアです。
  12. 12. どういうことか?
  13. 13. 例1: SalesForce SalesForce以前は・・・ 1箇所で全ての管理が可能に企業はCRM管理のために 様々な部署が必要 CRM ⾃動化 CRM のライフサイクルを⾃動化
  14. 14. 例2: Workday Workday SaaS 全ての機能を1箇所に ユーザーはそれぞれの サービスをまとめるのに
 ⼀苦労 財務管理の⾃動化WorkDay以前は… 財務管理のライフサイクルを⾃動化
  15. 15. 例3: Zendesk 製品開発⼒の促進・ 柔軟性につながる膨⼤な仕事量・効率化図れず カスタマーサポートの⾃動化Zendesk以前は… カスタマーサポートのライフサイクルを⾃動化
  16. 16. エンジニアの仕事負担軽減 →時間・コストの削減 - 内部での運⽤・保守は⼤きな負担 - 仕事量が増えるのと並⾏し 統率・セキリュティ⾯が疎かに Mobingiは? クラウドライフサイクルの⾃動化Mobingi以前は… クラウドアプリケーションの
 ライフサイクルを⾃動化
  17. 17. つまり
  18. 18. クラウド上でのアプリケーション の開発・運⽤を もっと楽にしてくれる ソフトウェアです。
  19. 19. 具体的には?
  20. 20. ⼀般的によく使われる異なるジャンルのクラウドアプリケーション Step 1 Step 3 Step 4 1.インフラ ストラクチャー Step 2 2. 環境構築 3. コード 4. 監視 & 分析 Step 6. (継続的なデプロイ&スケーリング) Step 5 5. 内部での 運⽤・保守 第三者によるインテ グレートのサポート
  21. 21. Mobingiは全ての過程を統合したソリューションを提供します 下記全⾏程を繋ぎ合わせ、⾃動化します! クラウドアプリケーションライフサイクル 1.インフラ ストラクチャー 2. 環境構築 3. コード デプロイ 4. 監視&分析 5. 内部での 運⽤・保守
  22. 22. Web UIから全てを管理 ⾃動的にハードウェア、IP、セキュリティグループ、 ロードバランサー、スケーリング、 ソフトウェアシッピング&コードデプロイなどの負担を分散します。 クラウド管理のユーザー画⾯
  23. 23. Mobingiのソフトウェアは“Plug-and-Play”を実現します (Plug-andPlay…つないだら (Plug)、ユーザが何か特別なことをしなくても実⾏ (Play) できる) クラウド設計に関する部分 (サーバータイプ, リージョン, ⾃動スケール幅の設定) 環境&ソフトウェアに 関する部分 (OS, ソフトウェア, プログラミング⾔語, Docker) 1クリックで完了 ユーザー画⾯ - デプロイの過程
  24. 24. GitHubやDocker、その他ソフトウェアをインテグレートします コードデプロイ時のユーザー画⾯
  25. 25. Mobingi Enterprise for AWS 現在提供しているサービスは2つ mocloud.io 既存のAWSアカウントをお持ちの⽅向け AWSアカウントなしにすぐにアプリケーションの
 開発を始めたい⽅向け
  26. 26. Cloud Automation Softwares ハンズオン
  27. 27. Cloud Automation Softwares mocloud.ioへのサインアップ
  28. 28. mocloud.ioにサインアップする mocloudのウェブサイト( https://mocloud.io/jp/ )にアクセスします。 右上の「サインアップ」をクリックします。
  29. 29. mocloud.ioへのサインアップ 「メールアドレス」と「パスワード」を⼊⼒して「サインアップ」ボタ ンをクリックします。
  30. 30. mocloud.ioへのサインアップ 仮登録が完了し、確認⽤のメールが⼊⼒したメールアドレス宛てに送信 されます。
  31. 31. mocloud.ioへのサインアップ 以下のようなメールが届いたら、「Click here to verify your email」 をクリックし、本登録を完了します。
  32. 32. mocloud.ioへのサインアップ おめでとうございます!これでサインアップが完了です! すぐにmocloud.ioをご利⽤開始いただけます。
  33. 33. Cloud Automation Softwares PHPスタックの作成
  34. 34. PHPスタックの作成 それでは早速PHPアプリケーションを実⾏するスタックを作成してみま しょう。左メニューの「アプリケーションの作成」をクリックします。
  35. 35. PHPスタックの作成 アプリケーション情報を設定します。アプリケーション名(オプショ ン)、サブドメイン(オプション)、リージョン、インスタンスタイプ を⼊⼒・選択します。 アプリケーション名とサブドメインを省略した場合、適当な名前が⾃動 的に設定されます。アプリケーション名は後から変更可能です。
  36. 36. PHPスタックの作成 シングルスタック:   シングルサーバーのみローンチされます。 ロードバランス機能付スタック:    スタックは⾃動スケール機能を管理するため、ロードバランサーや
   その他の必要なネットワークコンポーネントと共にローンチされます。
   ⾃動スケールの際の最⼩・最⼤インスタンス数を設定できます。 ⾃動スケール機能について 有料プランに登録いただくと、アーキテクチャを選択できるようになり、 ⾃動スケール機能をご利⽤いただけます。選択できるアーキテクチャは 次の2つです。
  37. 37. PHPスタックの作成 次に適当なイメージを選択し環境設定を⾏いましょう。 今回は右上のPHP Stack (Ubuntu 14.04, php 5.6, Nginx)を選択します。
  38. 38. PHPスタックの作成 PHP Stack (Ubuntu 14.04, php 5.6, Nginx)を選択するとExtra PHP Configurationの設定画⾯が表⽰されますが、何も変更せず、「実⾏」 をクリックします。
  39. 39. PHPスタックの作成 今回は使⽤しませんが、Docker Hubに登録されているイメージを利⽤ することもできます。⾃分で作成したDockerイメージをDocker Hubに 登録することで、オリジナルのコンテナを利⽤することもできます。 moCloud⽤のDockerイメージを構築する⽅法についてはドキュメント
 (http://bit.ly/mocloud-custom-docker)をご覧下さい。
  40. 40. PHPスタックの作成 有料プランに登録いただくと、Multi-AZ構成でマスター/スレーブ⽅式 をサポートするMySQLとPostgreSQLをご利⽤可能になります。 スレーブDBは1〜5台まで設定可能で、運⽤中でもダウンタイムなしで いつでも追加・削除することが可能です。スレーブDBの負荷分散を⾏ うロードバランサーも⾃動で作成され、DBのエンドポイントが⽤意さ れます。アプリケーションの設定でDBの接続先をエンドポイントにす るだけで、どのDBに接続するかを意識することなしに、負荷分散され たDBをご利⽤いただけます。今回はDBの選択はしません。
  41. 41. PHPスタックの作成 オプションとして、インスタンスにアタッチする複数のSSH公開鍵の登録が可能 です。普段使⽤している鍵を使ってサーバーにログインすることができます。 公開鍵の登録はサーバーのローンチ後でも可能です。 今回は鍵の登録はしません。
  42. 42. PHPスタックの作成 これで準備完了です!⼀番下にある「アプリケーションの作成」を
 クリックして、moCloudでアプリケーションを作成しましょう!
  43. 43. PHPスタックの作成 スタックの作成が終わるまで少し時間がかかります。 左メニューの「既存のアプリケーション」から状態を確認できます。 「初期化中…」が「実⾏中」に変わったら作成完了です!
  44. 44. PHPスタックの作成 ⼀覧からアプリケーション名をクリックすると詳細ページ移動します。 リソースタブでは「アプリケーションのURL」「ご利⽤料⾦」「実⾏中 のインスタンスの情報」を確認できます。 アプリケーションのURLをクリックすると実際に稼働しているアプリ ケーションを開きます。
  45. 45. PHPスタックの作成 アプリケーションのURLをクリックすると次のようなページが開きます。
 Mobingiがデフォルトで⽤意したPHPアプリケーションのページです。
  46. 46. PHPスタックの作成 コードタブではアプリケーションとGitHubの接続を⾏い、デプロイを可 能にする設定を⾏えます。こちらは次の章で実際に設定してみます。
  47. 47. PHPスタックの作成 アクティビティタブではこのスタックで⾏われたアクティビティを確認 できます。
  48. 48. PHPスタックの作成 ログタブでは、インスタンス毎の詳細なログを確認できます。
  49. 49. PHPスタックの作成 ログタブでは、インスタンス毎の詳細なログを確認できます。
  50. 50. Cloud Automation Softwares githubを使ったコードのデプロイ
  51. 51. githubを使ったコードのデプロイ githubで今回のアプリケーション⽤のレポジトリを作成します。
 (githubアカウントをお持ちでない場合は、事前に作成してください。) github.comにアクセスし、右上の「New repository」をクリックします。
  52. 52. githubを使ったコードのデプロイ 必要な情報を⼊⼒しリポジトリを作成します。
  53. 53. githubを使ったコードのデプロイ この例ではmocloud-demo-phpと⾔うレポジトリを作成しました。
  54. 54. githubを使ったコードのデプロイ mocloudに戻り、アプリケーションの詳細のコードタブを開きます。 「GitHubに接続」ボタンをクリックします。
  55. 55. githubを使ったコードのデプロイ するとGitHubのページにジャンプします。
 githubにログインしていない場合は、ログインを求められます。
  56. 56. githubを使ったコードのデプロイ mocloudがGitHubにアクセスする権限を与えるかどうか聞かれますので、 「Authorize application」をクリックし、権限を与えます。
  57. 57. githubを使ったコードのデプロイ ⾃動でmocloudに戻ってくると、githubのリポジトリを選択できるよう になっています。
  58. 58. githubを使ったコードのデプロイ 先ほど作成したリポジトリ(今回はmocloud-demo-php)を選択します。 ブランチはmasterを指定し、「⾃動デプロイを可能にする」にチェック が⼊っていることを確認して、「接続する」をクリックします。
  59. 59. githubを使ったコードのデプロイ 接続に成功すると、githubの情報が表⽰されます。 これでコードをデプロイする準備が整いました!! gitリポジトリいコードをpushすると⾃動でmocloud上のアプリケーショ ンにデプロイされます。
  60. 60. 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してみます。
  61. 61. githubを使ったコードのデプロイ pushされると同時にコードのデプロイが始まります。 しばらくしてからアプリケーションのURLにアクセスするとサイトが更新 されていることが確認できます。
  62. 62. githubを使ったコードのデプロイ デプロイが動作しているかを確認するには、まずアクティビティを⾒てみ ます。 すると、GitHubのpushを受け取り、すべてのインスタンスにコードをデ プロイを始めたことが確認できました。
  63. 63. githubを使ったコードのデプロイ 次にログタブから、インスタンスのmoDaemonのログを確認します。 よく⾒ていくと、変更を検知してgithubからコードをpullしていることが わかります。
  64. 64. githubを使ったコードのデプロイ さらにログを⾒ていくと、新しいコードを使ってgreen containerを作成 し、作成完了後既存のblue containerとgreen containerを差し替え、 blue containerを削除していることがわかります。
  65. 65. 参考資料 • 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

  66. 66. Thank you. The next layer of cloud technology is application lifecycle management.

×