Osc2013 tokyo-fall-slideshare

92
アプリ開発を楽にする Ruby PaaSMOGOK」のご紹介 株式会社インターネットイニシアティブ あべ ひろし 2013/10/20 131021日月曜日

description

OSC Tokyo 2013 Fallで紹介したMOGOKのスライドです、

Transcript of Osc2013 tokyo-fall-slideshare

Page 1: Osc2013 tokyo-fall-slideshare

アプリ開発を楽にするRuby PaaS「MOGOK」のご紹介

株式会社インターネットイニシアティブあべ ひろし2013/10/20

13年10月21日月曜日

Page 2: Osc2013 tokyo-fall-slideshare

自己紹介• 氏名

• あべ ひろし

• 主な業務• MOGOK、クラウド関係業務(IaaS, PaaS,

SDN)、次世代コンテナ型DC

• クラウドを作ったり壊したりしてます

13年10月21日月曜日

Page 3: Osc2013 tokyo-fall-slideshare

発表内容• 会社紹介

• MOGOKについて

• PaaSの本質

• 事例

• MOGOKの今後

13年10月21日月曜日

Page 4: Osc2013 tokyo-fall-slideshare

会社紹介

13年10月21日月曜日

Page 5: Osc2013 tokyo-fall-slideshare

インターネットイニシアティブ• or IIJ(Internet Initiative Japan)

• 事業内容• インターネット接続サービス• WAN及びネットワーク関連サービスの提供

• ネットワーク/システムの構築・運用保守• クラウド事業• 通信機器の開発、及び販売

13年10月21日月曜日

Page 6: Osc2013 tokyo-fall-slideshare

IIJのイメージ

13年10月21日月曜日

Page 7: Osc2013 tokyo-fall-slideshare

IIJのイメージ

13年10月21日月曜日

Page 8: Osc2013 tokyo-fall-slideshare

IIJの強み

• 自社回線(Internet, Backbone, Mobile)

• 自社データセンター

• 自社クラウド(IIJ GIO)

• セキュリティ

13年10月21日月曜日

Page 9: Osc2013 tokyo-fall-slideshare

IIJとPaaS

• IaaSは既にできている(それなりに売れている)

• IIJ GIO

• SaaSもそれなりに売れている

• 間を取ってPaaSは?

• そもそも日本に市場が余り存在しない• トライする価値あり(市場を作る意味でも)

13年10月21日月曜日

Page 10: Osc2013 tokyo-fall-slideshare

IIJとPaaS• IDCのPaaS市場規模予想

• 国内PaaS市場(2012年)

• 前年比63.4%増の263億円と予想

• 2016年の市場規模で1,070億円

• ちなみにIaaS市場は...(2012年)

• 前年比49.6%増の316億円と予想

• 2016年の市場規模で1,035億円

13年10月21日月曜日

Page 11: Osc2013 tokyo-fall-slideshare

IIJとPaaS• IDCのPaaS市場規模予想

• 国内PaaS市場(2012年)

• 前年比63.4%増の263億円と予想

• 2016年の市場規模で1,070億円

• ちなみにIaaS市場は...(2012年)

• 前年比49.6%増の316億円と予想

• 2016年の市場規模で1,035億円

PaaSがIaaSを抜く予想!!

13年10月21日月曜日

Page 12: Osc2013 tokyo-fall-slideshare

MOGOKについて

13年10月21日月曜日

Page 13: Osc2013 tokyo-fall-slideshare

MOGOKについて• http://mogok.jp/

FREE!!

13年10月21日月曜日

Page 14: Osc2013 tokyo-fall-slideshare

MOGOKについて• http://mogok.jp/

FREE!!

お時間がある方はここをクリック:-)

13年10月21日月曜日

Page 15: Osc2013 tokyo-fall-slideshare

名前の由来

13年10月21日月曜日

Page 16: Osc2013 tokyo-fall-slideshare

MOGOKについて• サービス内容

• Ruby on Railsのアプリを動作させるWebインスタンスとDB、その他の機能/環境を提供(PaaS)

• 環境占有型ではなく共用型

13年10月21日月曜日

Page 17: Osc2013 tokyo-fall-slideshare

サインアップ

13年10月21日月曜日

Page 18: Osc2013 tokyo-fall-slideshare

サインアップ

13年10月21日月曜日

Page 19: Osc2013 tokyo-fall-slideshare

サインアップ

• 登録後最大5分程度待つとメールが飛びます

• メール本文のURLをクリックすると登録が完了

13年10月21日月曜日

Page 20: Osc2013 tokyo-fall-slideshare

ログイン

13年10月21日月曜日

Page 21: Osc2013 tokyo-fall-slideshare

ポータル

13年10月21日月曜日

Page 22: Osc2013 tokyo-fall-slideshare

ポータル

13年10月21日月曜日

Page 23: Osc2013 tokyo-fall-slideshare

ドキュメント

13年10月21日月曜日

Page 24: Osc2013 tokyo-fall-slideshare

ドキュメント• Windowsへのインストール方法

• Macでの環境構築方法

• WebUI, MOGOKコマンドの使い方

• 簡単なRuby on Railsアプリ作成のチュートリアル

13年10月21日月曜日

Page 25: Osc2013 tokyo-fall-slideshare

mogokコマンド

13年10月21日月曜日

Page 26: Osc2013 tokyo-fall-slideshare

mogokコマンド• 20個ほどのコマンドオプションがある

• 主に以下の3種類

• アプリケーションを管理するコマンド

• サーバの設定を行うコマンド• 開発・保守・調査のためのコマンド

13年10月21日月曜日

Page 27: Osc2013 tokyo-fall-slideshare

アプリの起動まで

• コードを書いて必要なコマンドを打つと...

$ cd hogehoge$ git init$ git add .$ git commit -m ‘first commit’$ mogok create fugafuga$ git push mogok master$ mogok build$ mogok start

13年10月21日月曜日

Page 28: Osc2013 tokyo-fall-slideshare

アプリの起動まで

• アプリが起動する

13年10月21日月曜日

Page 29: Osc2013 tokyo-fall-slideshare

ソースコードの保存

• MOGOKのgitリポジトリに保存$ cd hogehoge$ git init$ git add .$ git commit -m ‘first commit’$ mogok create fugafuga$ git push mogok master$ mogok build$ mogok start

13年10月21日月曜日

Page 30: Osc2013 tokyo-fall-slideshare

データベース

• MySQL Community Edition 5.5

• 1ユーザ1インスタンス

• 100MBまでのデータ書き込み可能

13年10月21日月曜日

Page 31: Osc2013 tokyo-fall-slideshare

MOGOKについて

• 簡単に登録できる!!

• 簡単に環境セットアップができる!!

• 簡単にアプリを動かせる!!

13年10月21日月曜日

Page 32: Osc2013 tokyo-fall-slideshare

MOGOKについて• MOGOKを考える時のポイント

• PaaSの本質

• セキュリティ

• IIJのインフラ

• 日本語

13年10月21日月曜日

Page 33: Osc2013 tokyo-fall-slideshare

PaaSの本質

13年10月21日月曜日

Page 34: Osc2013 tokyo-fall-slideshare

なぜPaaSか?

• アプリ開発を楽に!!• 開発者が開発に専念• 運用からの解放

13年10月21日月曜日

Page 35: Osc2013 tokyo-fall-slideshare

なぜPaaSか?• 開発者が開発に専念• コード記述に集中できる• お手軽なデプロイ方法を利用できる

• 運用からの解放• 環境(VM、ハードウェア)の調達/運用

• ソフトウェアの管理(Webサーバ、DBなど)

• セキュリティ対策

13年10月21日月曜日

Page 36: Osc2013 tokyo-fall-slideshare

PaaSの本質

• ユーザ建前

• 「開発に専念させて下さい」

13年10月21日月曜日

Page 37: Osc2013 tokyo-fall-slideshare

PaaSの本質

• ユーザ本音

• 「開発に専念させて下さい」

• 「運用を肩代わりして下さい」

13年10月21日月曜日

Page 38: Osc2013 tokyo-fall-slideshare

PaaSの本質

• 運用をPaaS事業者へとアウトソース

• 運用コストを払って開発に専念

13年10月21日月曜日

Page 39: Osc2013 tokyo-fall-slideshare

アプリ開発を楽に!!

• コードを書いて必要なコマンドを打つと...

$ cd hogehoge$ git init$ git add .$ git commit -m ‘first commit’$ mogok create fugafuga$ git push mogok master$ mogok build$ mogok start

13年10月21日月曜日

Page 40: Osc2013 tokyo-fall-slideshare

アプリ開発を楽に!!

• アプリが起動する

13年10月21日月曜日

Page 41: Osc2013 tokyo-fall-slideshare

アプリ開発を楽に!!

• ソースコードはgitサーバで管理

• buildの自動化

• Webサーバも提供される

• DBサーバも提供される

• 処理が重くなったらスケールアップ/スケールアウトできる

13年10月21日月曜日

Page 42: Osc2013 tokyo-fall-slideshare

アプリ開発を楽に!!

• 運用はIIJにお任せ

• 24時間/365日のアプリケーション動作保証

• サーバ/アプリケーションのセキュリティ対策もIIJにお任せ

• 年に数回から数十回の対応

13年10月21日月曜日

Page 43: Osc2013 tokyo-fall-slideshare

MOGOK

本音と建前の実現• MOGOK = PaaSの本質を実現する環境

• PaaSの本質=本音と建前の両方の実現

建前

本音

開発に専念する

運用のアウトソース

13年10月21日月曜日

Page 44: Osc2013 tokyo-fall-slideshare

セキュリティ

13年10月21日月曜日

Page 45: Osc2013 tokyo-fall-slideshare

セキュリティインシデント

• JPCERT/CCの脆弱性情報

13年10月21日月曜日

Page 46: Osc2013 tokyo-fall-slideshare

セキュリティインシデント• CVE-2012-5371(ruby 1.9 におけるハッシュ飽和攻撃による

DoS 脆弱性)

• CVE-2012-5134(libxml2 の脆弱性)

• CVE-2013-0155(YAML解析系の脆弱性)

• CVE-2013-0156(YAML解析系の脆弱性)

• CVE-2013-0184(Rackの脆弱性)

• CVE-2012-6109(Rackの脆弱性)

• CVE-2013-0183(Rackの脆弱性)

• CVE-2012-5612(MySQLの脆弱性)

• CVE-2013-0333(Railsの脆弱性)

• CVE-2013-0262(Rackの脆弱性)

• CVE-2013-0263(Rackの脆弱性)

• ...

13年10月21日月曜日

Page 47: Osc2013 tokyo-fall-slideshare

セキュリティ対策• 昨年の12月から2月まででこれくらい

• 結構Ruby関係に絡む部分で脆弱性多発

• 2月以降もぼこぼこと...

• MOGOKはどうなの?

• 全部対策済み• ユーザアプリの動作環境とか大丈夫?• LXCを利用して環境を保全する

13年10月21日月曜日

Page 48: Osc2013 tokyo-fall-slideshare

LXCを利用した動作環境

• LXCについて

• Linux Container

• 完全仮想化ではなく一部リソースの共有

• cgroupとnamespace

• リソース管理、リソース隔離

13年10月21日月曜日

Page 49: Osc2013 tokyo-fall-slideshare

LXCを利用した動作環境• ユーザのアプリを隔離する• 他のユーザへと悪さをさせない• 動作するサーバ自体への悪さをさせない

• bundleインストールの悪さを防ぐ

• gitサーバにソースコードを保存できるので、悪意のあるバイナリプログラムが動作しても悪影響の無い環境を作る

13年10月21日月曜日

Page 50: Osc2013 tokyo-fall-slideshare

LXCを利用した動作環境

app serverbundle server

bundle1

bundle2

bundleN

app1 app2 app3 appN

MySQL

コンテナ コンテナ コンテナ コンテナ コンテナ コンテナ コンテナ

bundle installは個々のLXCコンテナで行われる。コンテナ間の通信は禁止。

ユーザアプリは個々のLXCコンテナで実行される。コンテナ間の通信は禁止。

DBサーバは共用だがアクセスはフィルタでガチガチに固める

X

XX X

X

13年10月21日月曜日

Page 51: Osc2013 tokyo-fall-slideshare

セキュリティの担保

• セキュリティ確保から導きださせるもの

• 運用の安定性

• 動作環境の安心感

13年10月21日月曜日

Page 52: Osc2013 tokyo-fall-slideshare

IIJのインフラ

13年10月21日月曜日

Page 53: Osc2013 tokyo-fall-slideshare

クラウドへの不安

• 自社で設備を保持していない事への不安

• 複数事業者が共有していることへの不安

• インフラ自身の安定度への不安

13年10月21日月曜日

Page 54: Osc2013 tokyo-fall-slideshare

クラウドへの不安の解消• 自社で設備を保持していない事への不安

• 提供される運用サービスの利用

• 利用するリソース分だけへの投資

• 複数事業者が共有していることへの不安

• IIJのクラウド基盤は、約1000社が問題なく利用している

• IIJのクラウド基盤では、約1800のシステムが稼働中

• インフラ自身の安定度への不安

• IIJサービス全体で8500社を超える顧客基盤を安定運用

13年10月21日月曜日

Page 55: Osc2013 tokyo-fall-slideshare

IIJのインフラ• 自社設備としてデータセンタ、インターネット回線、IaaS、PaaS、SaaSを管理• 下位レイヤから上位レイヤまで自分たちで把握して安定運用

13年10月21日月曜日

Page 56: Osc2013 tokyo-fall-slideshare

IIJのインフラ• 安定したPaaSをサービスとして提供可能• IIJは安定したサービスを第一に考える会社です

13年10月21日月曜日

Page 57: Osc2013 tokyo-fall-slideshare

IIJのインフラ• MOGOKはIIJ GIOの上に構築• IIJ GIOはIIJのバックボーンへ直結• つまり「早い」です!!

13年10月21日月曜日

Page 58: Osc2013 tokyo-fall-slideshare

日本語

13年10月21日月曜日

Page 59: Osc2013 tokyo-fall-slideshare

Ruby on Rails

13年10月21日月曜日

Page 60: Osc2013 tokyo-fall-slideshare

日本語

• エンジニアは英語ができて当たり前?

• できるにこしたことは無い

• が、全ての人が英語を学ぶ時間が作れるとは限らない

13年10月21日月曜日

Page 61: Osc2013 tokyo-fall-slideshare

日本語サポート• Railsを学び始める時に、Rails以外の障壁は可能な限り取り除いてあげたい

13年10月21日月曜日

Page 62: Osc2013 tokyo-fall-slideshare

日本語サポート• Railsを学び始める時に、Rails以外の障壁は可能な限り取り除いてあげたい

• 日本語マニュアルを完備

• インストールマニュアルももちろん日本語• サポートももちろん日本語

13年10月21日月曜日

Page 63: Osc2013 tokyo-fall-slideshare

事例

13年10月21日月曜日

Page 64: Osc2013 tokyo-fall-slideshare

教育事例

• 島根県

• 徳島県

• IT系勉強会

• 法人

13年10月21日月曜日

Page 65: Osc2013 tokyo-fall-slideshare

島根県• 公益財団法人しまね産業振興財団「Railsアプリケーション運用講座」

13年10月21日月曜日

Page 66: Osc2013 tokyo-fall-slideshare

徳島県• 公益財団法人とくしま産業振興機構 「デジタルコンテンツビジネス入門セミナー 」

13年10月21日月曜日

Page 67: Osc2013 tokyo-fall-slideshare

Rails Girlsの環境として

13年10月21日月曜日

Page 68: Osc2013 tokyo-fall-slideshare

有料講座

13年10月21日月曜日

Page 69: Osc2013 tokyo-fall-slideshare

教育への使命• IIJはRubyアソシエーションに加盟している

• Rubyの普及・発達のために賛同/支援する

• mrubyも応援

• IIJはRubyアソシエーション認定クラウドサービス事業者GOLD

• クラウド(MOGOK)を利用してRuby(Rails)を普及/支援させるのもIIJの使命

13年10月21日月曜日

Page 70: Osc2013 tokyo-fall-slideshare

教育への使命• MOGOKの教育での利用普及

• 学校教育でのRuby

• 国産のプログラミング言語の国内への普及• Webサイトを自前で作り、世界へと公開する体験の一貫性

• 教育機関の方がいらっしゃったら一声かけてください :-)

13年10月21日月曜日

Page 71: Osc2013 tokyo-fall-slideshare

MOGOKの今後

13年10月21日月曜日

Page 72: Osc2013 tokyo-fall-slideshare

MOGOKの今後

• 有償版

• 無償版

13年10月21日月曜日

Page 73: Osc2013 tokyo-fall-slideshare

有償版

• 法人向けサービス

• 11月末にリリース予定

• オンラインサインアップ等準備中

13年10月21日月曜日

Page 74: Osc2013 tokyo-fall-slideshare

有償版• 複数アプリケーション(最大20アプリ)

• 複数インスタンス対応(1アプリあたり5インスタンスまで)

• Worker(非同期実行ジョブ)

• Job(cronの様な物)

• 専用DBサーバ

• DB容量20GB(オプションで300GBまで増加可)

• DBサーバ占有型

13年10月21日月曜日

Page 75: Osc2013 tokyo-fall-slideshare

無償版• 無償版も継続します!!• 1Webインスタンスを無料で提供

• 有償版は法人向けだから個人で契約できない?• 今の所できないが救済処置あり• 使い込んでくれた方/宣伝してくれた方等には無料(契約無しで)で有償機能を利用していただけるように調整しています :-)

FREE!!

13年10月21日月曜日

Page 76: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• 開発中(有償版と同時にリリース)

13年10月21日月曜日

Page 77: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• コードを書いて必要なコマンドを打つと...

$ cd hogehoge$ git init$ git add .$ git commit -m ‘first commit’$ mogok create fugafuga$ git push mogok master$ mogok build$ mogok start

13年10月21日月曜日

Page 78: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• アプリが起動する

13年10月21日月曜日

Page 79: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• アプリケーションを選択して

13年10月21日月曜日

Page 80: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• 最低限のconfigを入力すれば

13年10月21日月曜日

Page 81: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• 自動的にmogok buildが走って

13年10月21日月曜日

Page 82: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• 終わるまで待って...

13年10月21日月曜日

Page 83: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• 終わるまで待って...

13年10月21日月曜日

Page 84: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• 終わるまで待って...

13年10月21日月曜日

Page 85: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• デプロイできます!!

13年10月21日月曜日

Page 86: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• アプリケーションが一発でReadyに!!

13年10月21日月曜日

Page 87: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• ボタン一発で起動するのでSaaSっぽい?

• SaaSとの違い

• ユーザリポジトリにソースコードが配置される• ソースコードの書き換えが可能• プラグインの導入やモジュールの追加が可能

• 一連のコマンド動作を自動化しただけ

13年10月21日月曜日

Page 88: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ

• 誰向けの機能?

• とりあえずMOGOKを使ってみたい方

• gitを触った事がないけどRedmineやPublifyを動かしたみたい方

13年10月21日月曜日

Page 89: Osc2013 tokyo-fall-slideshare

アプリケーションカタログ• 初期提供予定アプリ• Redmine

• Publify

• Joruri CMS

• アプリ求む• 公開したいアプリ• カタログに登録して欲しいアプリ

13年10月21日月曜日

Page 90: Osc2013 tokyo-fall-slideshare

おまけ• マスコットがいたりします

• 本日のIIJブースにいるのでモフモフしに来て下さい :-)

13年10月21日月曜日

Page 91: Osc2013 tokyo-fall-slideshare

まとめ• 会社紹介

• MOGOKについて

• PaaSの本質

• 事例

• MOGOKの今後

13年10月21日月曜日

Page 92: Osc2013 tokyo-fall-slideshare

Q&A

13年10月21日月曜日