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.
Ruby PaaS「MOGOK」~ ソフトウェアエンジニアのためのクラウドサービス~     ウ    ジ   ため ク ウド  ビ株式会社インターネットイニシアティブ                             1
目次はじめにクラウドサービスの普及による変化クラウドサ ビスの普及による変化ソ ウ ア ンジ ア 仕事 変化ソフトウェアエンジニアの仕事は変化したか処方箋は何かRuby PaaS「MOGOK」によるソリューション        S「 OGO に...
はじめに       3
クラウドサービスの普及による変化                   4
クラウドサ ビスとは何かクラウドサービスとは何か    ネットワーク経由で様々な ITリソースを利用するサービスの総称クラウドサービス事業者クラウドサ ビ 事業者                利用者                  ネットワ...
クラウドサ ビスの提供形態クラウドサービスの提供形態             お客様への提供価値  特定業務の 開発生産性 物理的制約 アセットレス  即時開始   向上   からの解放   化特定アプリケーション  SaaS   開発・実行環...
クラウドサ ビス市場の傾向クラウドサービス市場の傾向      現在はIaaSが中心IaaSとは?    サ バインスタンスを提供するサ ビス    サーバインスタンスを提供するサービス    =「素のOS」渡し    クラウドサービス事業者は...
IaaSの普及による変化 サーバエンジニアの仕事が激減  どう変わったか?     データセンタのラックを確保し、サー     データセンタのラックを確保し サー     バをキッティングし、ラッキングし、     ケーブリングし、OSインスト...
ソフトウェアエンジニアの仕事はソフトウ ア ンジ アの仕事は     変化したか                  9
ソフトウェア ンジ アのお仕事ソフトウェアエンジニアのお仕事 会議、会議、会議 ...           社会人としてのお勤め 企画/要件定義/設計/実装/テスト             装 (いわゆる開発5工程/狭義の「ソフトウェア開発」)...
何かが変わったか?   クラウドサービスが普及しても   ク ウドサ ビ が普及し も ほとんど変化していない  狭義の「ソフトウェア開発」はまったく楽  になっていない。   な   な  サーバエンジニアのやっていたことが、  API等を使...
何かが変わったか?(続き)  ソフトウェアエンジニアの仕事を      広義でとらえてもいまだクラウドの恩恵はない まだクラウドの恩恵はな   会議                そもそも人間系で   社会人としてのお勤め   むず      ...
楽をする?  × 楽をする = さぼる  ○ 楽をする  = 最小限の労力で目的達成  = 開発生産性を上げる                  13
処方箋は何か         14
開発生産性を上げるための方法 様々な方法があるが特効薬はない古くて新しい方法(=ずっと未解決)   開発生産性が高いプログラミング言語や   フレ ムワ クの採用   フレームワークの採用   ソフトウェア再利用   標準化/共通化   標準 ...
クラウドサ ビスによる処方箋クラウドサービスによる処方箋   ソフトウェアエンジニアのより多くの仕事を           ジ     多   事       クラウド側に転嫁する                           ソフトウェ...
Ruby PaaS「MOGOK」によるR b P S「MOGOK による      ソリ      ソリューション           ション                      17
PaaSとは何かお客様アプリケーションお客様アプリケ ションのための   開発支援環境と 実行環境を組み合わせたもの                  18
Ruby PaaS MOGOK」とは     PaaS「MOGOK」とは Ruby on Railsアプリケ シ ンの              アプリケーションの      開発支援環境と 実行環境を提供するクラウドサ ビス        を...
MOGOKのソリュ ションMOGOKのソリューション     Ruby on Railsの採用  オブジェクト指向言語Rubyで再利用性を  オブジ クト指向言語       再利用性を  向上  少ないコード記述量で開発できるRuby  on...
MOGOKのソリュ ション(続き)MOGOKのソリューション(続き)      自動デプロイ機能  Gitリポジトリから実行環境への自動デプ  G リポジトリから実行環境   自動デプ  ロイ機能       実行環境の提供  自動デ  自動デ...
MOGOKの全体像Ruby App開発者                           エンドユーザ       MOGOK          ローカル        SDK           Gitリポジトリ             ...
MOGOK β版のご紹介               23
MOGOK β版のご提供内容       開発支援環境  ユーザポータル      ザポ タ  クライアントパッケ ジ  クライアントパッケージ  Gitリポジトリ        実行環境  Webプロセス  DBプロセス  Jobプロセス(提...
ユ ザポ タルユーザポータル• オンラインサインアップ後、MOGOKに対す  オ ラ     アッ 後、      対す  る様々な操作が可能                          25
クライアントパッケ ジクライアントパッケージ          Ruby実行環境   CRuby 1.8.7 または 1.9.2   Linux版RPMパッケ ジ   Linux版RPMパッケージ   Windows版インストーラ  コマンドラ...
Gitリポジトリ     リモートGitリポジトリ提供  1アプリケーションあたり100MB    プ ケ シ あたり  一般的なGitクライアントで操作可能   般的なGitクライアントで操作可能    実行環境への自動デプロイ  ユーザポー...
Webプロセス         Ruby/Gems  CRuby 1.8.7  CR b 1 8 7 または 1 9 2                   1.9.2  bundlerでrubygems.orgから任意のgem        ...
DBプロセス         RDBMS  MySQL 5 5  M SQL 5.5  InnoDBのみサポート対象  準同期レプリケーション構成  ノンストップ機能  複数世代のバックアップ機能あり      データサイズの制限  メモリ10...
MOGOKチュートリアル               30
オンラインサインアップ ユ ザポ タルのWebUIでサインアップ ユーザポータルのWebUIでサインアップ     (オープンβ版公開までは停止中...)                           31
SDKダウンロ ド/インスト ルSDKダウンロード/インストール                   32
ロ カル側の操作ローカル側の操作Ruby App開発者                           エンドユーザ                      ローカル        SDK           Gitリポジトリ      ...
ロ カル側の操作手順(1)ローカル側の操作手順(1)> mkdir ¥rails_app         ワーキング> cd ¥rails_app         ディレクトリ作成> rails ne mogok sample -d m sql...
ロ カル側の操作手順(2)ローカル側の操作手順(2)> rails generate scaffold Bookmarktitle:string url:string    ローカルDBに> rake db:migrate          d...
ロ カル側の操作手順(3)ローカル側の操作手順(3)> git init> git add .> git commit -m "first commit"              m  create mode ...             ...
MOGOK側の操作Ruby App開発者                           エンドユーザ                      ローカル        SDK           Gitリポジトリ             ...
MOGOK側の操作手順(1)                           SSH公開鍵・> ssh-keygen -t rsa        秘密鍵作成Generating p blic/pri ate rsa key pair    ...
MOGOK側の操作手順(2)                      MOGOKに                    アプリケーション作成> mogok create mogok-sample               mogok sa...
MOGOK側の操作手順(3)> git remote -vmogok git@git.mogok.jp:mogok-sample.gitsample git (fetch)mogok git@git.mogok.jp:mogok-       ...
MOGOK側の操作手順(4)                       リモ トリポジトリから                       リモートリポジトリから> mogok deploy         実行環境にデプロイInfo che...
MOGOK側の操作手順(5)                                     MOGOKに                                   DBテーブル作成> mogok rake db migrat...
MOGOKのこれから             43
MOGOKの将来像                MOGOK                                ⽇本語REST API型   Mem                    BTS   CI   テクニカル ストレージ...
終わりに       45
http://mogok.jp/                   46
一緒にMOGOKをつくりませんか? 緒にMOGOKを くりませんか?Ruby R bR b / Ruby onRailsの経験者募集中!                    47
ご清聴ありがとうございました                ご清聴ありがとうござ ま たお問い合わせ先 IIJインフォメーションセンターTEL:03-5205-4466 (9:30~17:30 土/日/祝日除く)info@iij.ad.jpht...
インターネットの先にいます。IIJはこれまで、日本のインターネットはどうあるべきかを考え、つねに先駆者として、インターネットの可能性を切り拓いてきました。つねに先駆者として インタ ネットの可能性を切り拓いてきましたインターネットの未来を想い、...
Upcoming SlideShare
Loading in …5
×

【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏

2,242 views

Published on

【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏

  1. 1. Ruby PaaS「MOGOK」~ ソフトウェアエンジニアのためのクラウドサービス~ ウ ジ ため ク ウド ビ株式会社インターネットイニシアティブ 1
  2. 2. 目次はじめにクラウドサービスの普及による変化クラウドサ ビスの普及による変化ソ ウ ア ンジ ア 仕事 変化ソフトウェアエンジニアの仕事は変化したか処方箋は何かRuby PaaS「MOGOK」によるソリューション S「 OGO による リ シMOGOK β版のご紹介MOGOKチュートリアルMOGOKのこれから終わりに 2
  3. 3. はじめに 3
  4. 4. クラウドサービスの普及による変化 4
  5. 5. クラウドサ ビスとは何かクラウドサービスとは何か ネットワーク経由で様々な ITリソースを利用するサービスの総称クラウドサービス事業者クラウドサ ビ 事業者 利用者 ネットワークITリソースとは サーバリソース ストレージリソース ト ジリ アプリケーションインスタンス ... 5
  6. 6. クラウドサ ビスの提供形態クラウドサービスの提供形態 お客様への提供価値 特定業務の 開発生産性 物理的制約 アセットレス 即時開始 向上 からの解放 化特定アプリケーション SaaS 開発・実行環境 開発 実行環境 PaaS 仮想サーバ 仮想サ バ IaaS 物理サーバ 物理サ バ HaaS 6
  7. 7. クラウドサ ビス市場の傾向クラウドサービス市場の傾向 現在はIaaSが中心IaaSとは? サ バインスタンスを提供するサ ビス サーバインスタンスを提供するサービス =「素のOS」渡し クラウドサービス事業者はサーバインス クラウドサ ビ 事業者はサ バイ タン の動作のみ保証 タンスの動作のみ保証 ミドルウェアやアプリケーションは利用者 が導入 7
  8. 8. IaaSの普及による変化 サーバエンジニアの仕事が激減 どう変わったか? データセンタのラックを確保し、サー データセンタのラックを確保し サー バをキッティングし、ラッキングし、 ケーブリングし、OSインストールし... ブ グ という仕事がまったく不要になった サーバ構築を中心とするインテグ レーション市場は縮小の見通し レ シ ン市場は縮小の見通し 代わって、クラウドコンサルティング なるビジネスが勃興 8
  9. 9. ソフトウェアエンジニアの仕事はソフトウ ア ンジ アの仕事は 変化したか 9
  10. 10. ソフトウェア ンジ アのお仕事ソフトウェアエンジニアのお仕事 会議、会議、会議 ... 社会人としてのお勤め 企画/要件定義/設計/実装/テスト 装 (いわゆる開発5工程/狭義の「ソフトウェア開発」) 対外発表/ 環境構築 調査/検証 勉強会 10
  11. 11. 何かが変わったか? クラウドサービスが普及しても ク ウドサ ビ が普及し も ほとんど変化していない 狭義の「ソフトウェア開発」はまったく楽 になっていない。 な な サーバエンジニアのやっていたことが、 API等を使えばソフトウェアで制御でき API等を使えばソフトウ アで制御でき るようになっただけ。(むしろ、やる き るようになっただけ。(むしろ、やるべき ことが増えている) 11
  12. 12. 何かが変わったか?(続き) ソフトウェアエンジニアの仕事を 広義でとらえてもいまだクラウドの恩恵はない まだクラウドの恩恵はな 会議 そもそも人間系で 社会人としてのお勤め むず むずかしい 対外発表/勉強会 環境構築 楽できる可能性 調査/検証 あるかも? 12
  13. 13. 楽をする? × 楽をする = さぼる ○ 楽をする = 最小限の労力で目的達成 = 開発生産性を上げる 13
  14. 14. 処方箋は何か 14
  15. 15. 開発生産性を上げるための方法 様々な方法があるが特効薬はない古くて新しい方法(=ずっと未解決) 開発生産性が高いプログラミング言語や フレ ムワ クの採用 フレームワークの採用 ソフトウェア再利用 標準化/共通化 標準 通 コ ドジェネレ ション コードジェネレーション 静的解析ツール テスト自動化ツール テスト自動化ツ ル 15
  16. 16. クラウドサ ビスによる処方箋クラウドサービスによる処方箋 ソフトウェアエンジニアのより多くの仕事を ジ 多 事 クラウド側に転嫁する ソフトウェア クラウドサービス エンジニア ネットワーク 狭義の言語実行環境/ミドルウェア 「ソフトウェア開発」フレ ムワ ク/ライブラリ群フレームワーク/ライブラリ群バージョン管理リポジトリバグトラッキング それ以外 それ以外継続的インテグレ ション継続的インテグレーション 転嫁デプロイツール 16
  17. 17. Ruby PaaS「MOGOK」によるR b P S「MOGOK による ソリ ソリューション ション 17
  18. 18. PaaSとは何かお客様アプリケーションお客様アプリケ ションのための 開発支援環境と 実行環境を組み合わせたもの 18
  19. 19. Ruby PaaS MOGOK」とは PaaS「MOGOK」とは Ruby on Railsアプリケ シ ンの アプリケーションの 開発支援環境と 実行環境を提供するクラウドサ ビス を提供するクラウドサービス 19
  20. 20. MOGOKのソリュ ションMOGOKのソリューション Ruby on Railsの採用 オブジェクト指向言語Rubyで再利用性を オブジ クト指向言語 再利用性を 向上 少ないコード記述量で開発できるRuby on R il で開発生産性を向上 Railsで開発生産性を向上 オンラインサインアップ オンラインサインア プ オンラインサインアップすればすぐ使える 面倒な環境構築は不要 20
  21. 21. MOGOKのソリュ ション(続き)MOGOKのソリューション(続き) 自動デプロイ機能 Gitリポジトリから実行環境への自動デプ G リポジトリから実行環境 自動デプ ロイ機能 実行環境の提供 自動デ 自動デプロイされたRailsアプリケーショ され ア リケ シ ンをすぐ動かせる 開発環境として、または、そのまま本番 開発環境として または そのまま本番 環境としても使える 21
  22. 22. MOGOKの全体像Ruby App開発者 エンドユーザ MOGOK ローカル SDK Gitリポジトリ git push インターネットユーザポータル サインアップ SDKダウンロ ド SDKダウンロード デプロイ実行 リクエストルータ リクエストル タ... サーバプール デプロイ Portal P t l リモ ト リモート Gitリポジトリ Web Job W b J b DB 22
  23. 23. MOGOK β版のご紹介 23
  24. 24. MOGOK β版のご提供内容 開発支援環境 ユーザポータル ザポ タ クライアントパッケ ジ クライアントパッケージ Gitリポジトリ 実行環境 Webプロセス DBプロセス Jobプロセス(提供予定) 24
  25. 25. ユ ザポ タルユーザポータル• オンラインサインアップ後、MOGOKに対す オ ラ アッ 後、 対す る様々な操作が可能 25
  26. 26. クライアントパッケ ジクライアントパッケージ Ruby実行環境 CRuby 1.8.7 または 1.9.2 Linux版RPMパッケ ジ Linux版RPMパッケージ Windows版インストーラ コマンドラインツール(mogokコマンド)ex. $ mogok craete アプリケ ション作成 アプリケーション作成 $ mogok rake rakeタスク実行 $ mogok deploy アプリケーションデプロイ 26
  27. 27. Gitリポジトリ リモートGitリポジトリ提供 1アプリケーションあたり100MB プ ケ シ あたり 一般的なGitクライアントで操作可能 般的なGitクライアントで操作可能 実行環境への自動デプロイ ユーザポータル/mogokコマンドで指示 27
  28. 28. Webプロセス Ruby/Gems CRuby 1.8.7 CR b 1 8 7 または 1 9 2 1.9.2 bundlerでrubygems.orgから任意のgem yg g g をインストール アプリケーションサーバ プ バ Thin 1 2 11 1.2.11 アプリケーションサイズの制限 ファイルサイズ100MBまで(gem含む) メモリ200MBまで 28
  29. 29. DBプロセス RDBMS MySQL 5 5 M SQL 5.5 InnoDBのみサポート対象 準同期レプリケーション構成 ノンストップ機能 複数世代のバックアップ機能あり データサイズの制限 メモリ100MBまで データファイル100MBまで デ タ ま 29
  30. 30. MOGOKチュートリアル 30
  31. 31. オンラインサインアップ ユ ザポ タルのWebUIでサインアップ ユーザポータルのWebUIでサインアップ (オープンβ版公開までは停止中...) 31
  32. 32. SDKダウンロ ド/インスト ルSDKダウンロード/インストール 32
  33. 33. ロ カル側の操作ローカル側の操作Ruby App開発者 エンドユーザ ローカル SDK Gitリポジトリ git push インターネットユーザポータル サインアップ SDKダウンロ ド SDKダウンロード デプロイ実行 リクエストルータ リクエストル タ... サーバプール デプロイ Portal P t l リモ ト リモート Gitリポジトリ Web Job W b J b DB 33
  34. 34. ロ カル側の操作手順(1)ローカル側の操作手順(1)> mkdir ¥rails_app ワーキング> cd ¥rails_app ディレクトリ作成> rails ne mogok sample -d m sql new mogok-sample d mysql create ... Railsアプリケーション create ... 作成 create ...> cd .¥mogok-sample g p> rake db:create:all ロ カルDB作成 ローカルDB作成 34
  35. 35. ロ カル側の操作手順(2)ローカル側の操作手順(2)> rails generate scaffold Bookmarktitle:string url:string ローカルDBに> rake db:migrate db migrate テーブル作成 テ ブル作成 ロ カルのWEBrick ローカルのWEBrick> rails server で確認 http://localhost:3000/bookmarks 35
  36. 36. ロ カル側の操作手順(3)ローカル側の操作手順(3)> git init> git add .> git commit -m "first commit" m create mode ... ローカルリポジトリの create mode ... 作成 create mode ...> git status g 確認# On branch masternothing t commit ( thi to it (working di t ki directory cl l 36
  37. 37. MOGOK側の操作Ruby App開発者 エンドユーザ ローカル SDK Gitリポジトリ git push インターネットユーザポータル サインアップ SDKダウンロ ド SDKダウンロード デプロイ実行 リクエストルータ リクエストル タ... サーバプール デプロイ Portal P t l リモ ト リモート Gitリポジトリ Web Job W b J b DB 37
  38. 38. MOGOK側の操作手順(1) SSH公開鍵・> ssh-keygen -t rsa 秘密鍵作成Generating p blic/pri ate rsa key pair public/private ke... MOGOKに 公開鍵登録> mogok key add ./.ssh/id_rsa.pub> mogok key1: ssh-rsa AAAB3NzaC1yc2EAABIwA y... 確認 38
  39. 39. MOGOK側の操作手順(2) MOGOKに アプリケーション作成> mogok create mogok-sample mogok sampleCreating App: mogok-sample mogok sampleDone!Git remote mogok added リモートリポジトリも ポジ も 同時に作成される 39
  40. 40. MOGOK側の操作手順(3)> git remote -vmogok git@git.mogok.jp:mogok-sample.gitsample git (fetch)mogok git@git.mogok.jp:mogok- git@git.mogok.jp:mogoksample.git (push) ローカルリポジトリから リモートリポジトリに ソースコードをpush> git push mogok masterCompressing object 100%. done. p g jWriting object 100%. done.... 40
  41. 41. MOGOK側の操作手順(4) リモ トリポジトリから リモートリポジトリから> mogok deploy 実行環境にデプロイInfo checking.. checkingGit pulling..Bundler installing..App deploying..Gem deploying.. deployingDone! このホストで実行http://mogok-sample.ruby.iijgio.com/ 41
  42. 42. MOGOK側の操作手順(5) MOGOKに DBテーブル作成> mogok rake db migrate db:migrate ロ カルWEB i kと ローカルWEBrickと 同じ表示が出たら成功! http://mogok-sample.ruby.iijgio.com/bookmarks/ 42
  43. 43. MOGOKのこれから 43
  44. 44. MOGOKの将来像 MOGOK ⽇本語REST API型 Mem BTS CI テクニカル ストレージ Cache サポート ソフトウェアエンジニアが プログラミングに集中できる サービスを目指します! サ ビスを目指します! 44
  45. 45. 終わりに 45
  46. 46. http://mogok.jp/ 46
  47. 47. 一緒にMOGOKをつくりませんか? 緒にMOGOKを くりませんか?Ruby R bR b / Ruby onRailsの経験者募集中! 47
  48. 48. ご清聴ありがとうございました ご清聴ありがとうござ ま たお問い合わせ先 IIJインフォメーションセンターTEL:03-5205-4466 (9:30~17:30 土/日/祝日除く)info@iij.ad.jphttp://www.iij.ad.jp/ 48
  49. 49. インターネットの先にいます。IIJはこれまで、日本のインターネットはどうあるべきかを考え、つねに先駆者として、インターネットの可能性を切り拓いてきました。つねに先駆者として インタ ネットの可能性を切り拓いてきましたインターネットの未来を想い、イノベーションに挑戦し続けることで、世界を塗り変えていく。それは、これからも変わることのない姿勢です。IIJの真ん中のIはイニシアティブ IIJはいつもはじまりであり、未来です。 お問い合わせ先 IIJインフォメーションセンター TEL:03-5205-4466 (9:30~17:30 土/日/祝日除く) info@iij.ad.jp p j jp http://www.iij.ad.jp/ 49

×