Osc2013 tokyo-fall-slideshare
description
Transcript of Osc2013 tokyo-fall-slideshare
アプリ開発を楽にするRuby PaaS「MOGOK」のご紹介
株式会社インターネットイニシアティブあべ ひろし2013/10/20
13年10月21日月曜日
自己紹介• 氏名
• あべ ひろし
• 主な業務• MOGOK、クラウド関係業務(IaaS, PaaS,
SDN)、次世代コンテナ型DC
• クラウドを作ったり壊したりしてます
13年10月21日月曜日
発表内容• 会社紹介
• MOGOKについて
• PaaSの本質
• 事例
• MOGOKの今後
13年10月21日月曜日
会社紹介
13年10月21日月曜日
インターネットイニシアティブ• or IIJ(Internet Initiative Japan)
• 事業内容• インターネット接続サービス• WAN及びネットワーク関連サービスの提供
• ネットワーク/システムの構築・運用保守• クラウド事業• 通信機器の開発、及び販売
13年10月21日月曜日
IIJのイメージ
13年10月21日月曜日
IIJのイメージ
13年10月21日月曜日
IIJの強み
• 自社回線(Internet, Backbone, Mobile)
• 自社データセンター
• 自社クラウド(IIJ GIO)
• セキュリティ
13年10月21日月曜日
IIJとPaaS
• IaaSは既にできている(それなりに売れている)
• IIJ GIO
• SaaSもそれなりに売れている
• 間を取ってPaaSは?
• そもそも日本に市場が余り存在しない• トライする価値あり(市場を作る意味でも)
13年10月21日月曜日
IIJとPaaS• IDCのPaaS市場規模予想
• 国内PaaS市場(2012年)
• 前年比63.4%増の263億円と予想
• 2016年の市場規模で1,070億円
• ちなみにIaaS市場は...(2012年)
• 前年比49.6%増の316億円と予想
• 2016年の市場規模で1,035億円
13年10月21日月曜日
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日月曜日
MOGOKについて
13年10月21日月曜日
MOGOKについて• http://mogok.jp/
FREE!!
お時間がある方はここをクリック:-)
13年10月21日月曜日
名前の由来
13年10月21日月曜日
MOGOKについて• サービス内容
• Ruby on Railsのアプリを動作させるWebインスタンスとDB、その他の機能/環境を提供(PaaS)
• 環境占有型ではなく共用型
13年10月21日月曜日
サインアップ
13年10月21日月曜日
サインアップ
13年10月21日月曜日
サインアップ
• 登録後最大5分程度待つとメールが飛びます
• メール本文のURLをクリックすると登録が完了
13年10月21日月曜日
ログイン
13年10月21日月曜日
ポータル
13年10月21日月曜日
ポータル
13年10月21日月曜日
ドキュメント
13年10月21日月曜日
ドキュメント• Windowsへのインストール方法
• Macでの環境構築方法
• WebUI, MOGOKコマンドの使い方
• 簡単なRuby on Railsアプリ作成のチュートリアル
13年10月21日月曜日
mogokコマンド
13年10月21日月曜日
mogokコマンド• 20個ほどのコマンドオプションがある
• 主に以下の3種類
• アプリケーションを管理するコマンド
• サーバの設定を行うコマンド• 開発・保守・調査のためのコマンド
13年10月21日月曜日
アプリの起動まで
• コードを書いて必要なコマンドを打つと...
$ 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日月曜日
アプリの起動まで
• アプリが起動する
13年10月21日月曜日
ソースコードの保存
• 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日月曜日
データベース
• MySQL Community Edition 5.5
• 1ユーザ1インスタンス
• 100MBまでのデータ書き込み可能
13年10月21日月曜日
MOGOKについて
• 簡単に登録できる!!
• 簡単に環境セットアップができる!!
• 簡単にアプリを動かせる!!
13年10月21日月曜日
MOGOKについて• MOGOKを考える時のポイント
• PaaSの本質
• セキュリティ
• IIJのインフラ
• 日本語
13年10月21日月曜日
PaaSの本質
13年10月21日月曜日
なぜPaaSか?
• アプリ開発を楽に!!• 開発者が開発に専念• 運用からの解放
13年10月21日月曜日
なぜPaaSか?• 開発者が開発に専念• コード記述に集中できる• お手軽なデプロイ方法を利用できる
• 運用からの解放• 環境(VM、ハードウェア)の調達/運用
• ソフトウェアの管理(Webサーバ、DBなど)
• セキュリティ対策
13年10月21日月曜日
PaaSの本質
• ユーザ建前
• 「開発に専念させて下さい」
13年10月21日月曜日
PaaSの本質
• ユーザ本音
• 「開発に専念させて下さい」
• 「運用を肩代わりして下さい」
13年10月21日月曜日
PaaSの本質
• 運用をPaaS事業者へとアウトソース
• 運用コストを払って開発に専念
13年10月21日月曜日
アプリ開発を楽に!!
• コードを書いて必要なコマンドを打つと...
$ 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日月曜日
アプリ開発を楽に!!
• アプリが起動する
13年10月21日月曜日
アプリ開発を楽に!!
• ソースコードはgitサーバで管理
• buildの自動化
• Webサーバも提供される
• DBサーバも提供される
• 処理が重くなったらスケールアップ/スケールアウトできる
13年10月21日月曜日
アプリ開発を楽に!!
• 運用はIIJにお任せ
• 24時間/365日のアプリケーション動作保証
• サーバ/アプリケーションのセキュリティ対策もIIJにお任せ
• 年に数回から数十回の対応
13年10月21日月曜日
MOGOK
本音と建前の実現• MOGOK = PaaSの本質を実現する環境
• PaaSの本質=本音と建前の両方の実現
建前
本音
開発に専念する
運用のアウトソース
13年10月21日月曜日
セキュリティ
13年10月21日月曜日
セキュリティインシデント
• JPCERT/CCの脆弱性情報
13年10月21日月曜日
セキュリティインシデント• 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日月曜日
セキュリティ対策• 昨年の12月から2月まででこれくらい
• 結構Ruby関係に絡む部分で脆弱性多発
• 2月以降もぼこぼこと...
• MOGOKはどうなの?
• 全部対策済み• ユーザアプリの動作環境とか大丈夫?• LXCを利用して環境を保全する
13年10月21日月曜日
LXCを利用した動作環境
• LXCについて
• Linux Container
• 完全仮想化ではなく一部リソースの共有
• cgroupとnamespace
• リソース管理、リソース隔離
13年10月21日月曜日
LXCを利用した動作環境• ユーザのアプリを隔離する• 他のユーザへと悪さをさせない• 動作するサーバ自体への悪さをさせない
• bundleインストールの悪さを防ぐ
• gitサーバにソースコードを保存できるので、悪意のあるバイナリプログラムが動作しても悪影響の無い環境を作る
13年10月21日月曜日
LXCを利用した動作環境
app serverbundle server
bundle1
bundle2
bundleN
app1 app2 app3 appN
MySQL
コンテナ コンテナ コンテナ コンテナ コンテナ コンテナ コンテナ
bundle installは個々のLXCコンテナで行われる。コンテナ間の通信は禁止。
ユーザアプリは個々のLXCコンテナで実行される。コンテナ間の通信は禁止。
DBサーバは共用だがアクセスはフィルタでガチガチに固める
X
XX X
X
13年10月21日月曜日
セキュリティの担保
• セキュリティ確保から導きださせるもの
• 運用の安定性
• 動作環境の安心感
13年10月21日月曜日
IIJのインフラ
13年10月21日月曜日
クラウドへの不安
• 自社で設備を保持していない事への不安
• 複数事業者が共有していることへの不安
• インフラ自身の安定度への不安
13年10月21日月曜日
クラウドへの不安の解消• 自社で設備を保持していない事への不安
• 提供される運用サービスの利用
• 利用するリソース分だけへの投資
• 複数事業者が共有していることへの不安
• IIJのクラウド基盤は、約1000社が問題なく利用している
• IIJのクラウド基盤では、約1800のシステムが稼働中
• インフラ自身の安定度への不安
• IIJサービス全体で8500社を超える顧客基盤を安定運用
13年10月21日月曜日
IIJのインフラ• 自社設備としてデータセンタ、インターネット回線、IaaS、PaaS、SaaSを管理• 下位レイヤから上位レイヤまで自分たちで把握して安定運用
13年10月21日月曜日
IIJのインフラ• 安定したPaaSをサービスとして提供可能• IIJは安定したサービスを第一に考える会社です
13年10月21日月曜日
IIJのインフラ• MOGOKはIIJ GIOの上に構築• IIJ GIOはIIJのバックボーンへ直結• つまり「早い」です!!
13年10月21日月曜日
日本語
13年10月21日月曜日
Ruby on Rails
13年10月21日月曜日
日本語
• エンジニアは英語ができて当たり前?
• できるにこしたことは無い
• が、全ての人が英語を学ぶ時間が作れるとは限らない
13年10月21日月曜日
日本語サポート• Railsを学び始める時に、Rails以外の障壁は可能な限り取り除いてあげたい
13年10月21日月曜日
日本語サポート• Railsを学び始める時に、Rails以外の障壁は可能な限り取り除いてあげたい
• 日本語マニュアルを完備
• インストールマニュアルももちろん日本語• サポートももちろん日本語
13年10月21日月曜日
事例
13年10月21日月曜日
教育事例
• 島根県
• 徳島県
• IT系勉強会
• 法人
13年10月21日月曜日
島根県• 公益財団法人しまね産業振興財団「Railsアプリケーション運用講座」
13年10月21日月曜日
徳島県• 公益財団法人とくしま産業振興機構 「デジタルコンテンツビジネス入門セミナー 」
13年10月21日月曜日
Rails Girlsの環境として
13年10月21日月曜日
有料講座
13年10月21日月曜日
教育への使命• IIJはRubyアソシエーションに加盟している
• Rubyの普及・発達のために賛同/支援する
• mrubyも応援
• IIJはRubyアソシエーション認定クラウドサービス事業者GOLD
• クラウド(MOGOK)を利用してRuby(Rails)を普及/支援させるのもIIJの使命
13年10月21日月曜日
教育への使命• MOGOKの教育での利用普及
• 学校教育でのRuby
• 国産のプログラミング言語の国内への普及• Webサイトを自前で作り、世界へと公開する体験の一貫性
• 教育機関の方がいらっしゃったら一声かけてください :-)
13年10月21日月曜日
MOGOKの今後
13年10月21日月曜日
MOGOKの今後
• 有償版
• 無償版
13年10月21日月曜日
有償版
• 法人向けサービス
• 11月末にリリース予定
• オンラインサインアップ等準備中
13年10月21日月曜日
有償版• 複数アプリケーション(最大20アプリ)
• 複数インスタンス対応(1アプリあたり5インスタンスまで)
• Worker(非同期実行ジョブ)
• Job(cronの様な物)
• 専用DBサーバ
• DB容量20GB(オプションで300GBまで増加可)
• DBサーバ占有型
13年10月21日月曜日
無償版• 無償版も継続します!!• 1Webインスタンスを無料で提供
• 有償版は法人向けだから個人で契約できない?• 今の所できないが救済処置あり• 使い込んでくれた方/宣伝してくれた方等には無料(契約無しで)で有償機能を利用していただけるように調整しています :-)
FREE!!
13年10月21日月曜日
アプリケーションカタログ
• 開発中(有償版と同時にリリース)
13年10月21日月曜日
アプリケーションカタログ
• コードを書いて必要なコマンドを打つと...
$ 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日月曜日
アプリケーションカタログ
• アプリが起動する
13年10月21日月曜日
アプリケーションカタログ
• アプリケーションを選択して
13年10月21日月曜日
アプリケーションカタログ
• 最低限のconfigを入力すれば
13年10月21日月曜日
アプリケーションカタログ
• 自動的にmogok buildが走って
13年10月21日月曜日
アプリケーションカタログ
• 終わるまで待って...
13年10月21日月曜日
アプリケーションカタログ
• 終わるまで待って...
13年10月21日月曜日
アプリケーションカタログ
• 終わるまで待って...
13年10月21日月曜日
アプリケーションカタログ
• デプロイできます!!
13年10月21日月曜日
アプリケーションカタログ
• アプリケーションが一発でReadyに!!
13年10月21日月曜日
アプリケーションカタログ
• ボタン一発で起動するのでSaaSっぽい?
• SaaSとの違い
• ユーザリポジトリにソースコードが配置される• ソースコードの書き換えが可能• プラグインの導入やモジュールの追加が可能
• 一連のコマンド動作を自動化しただけ
13年10月21日月曜日
アプリケーションカタログ
• 誰向けの機能?
• とりあえずMOGOKを使ってみたい方
• gitを触った事がないけどRedmineやPublifyを動かしたみたい方
13年10月21日月曜日
アプリケーションカタログ• 初期提供予定アプリ• Redmine
• Publify
• Joruri CMS
• アプリ求む• 公開したいアプリ• カタログに登録して欲しいアプリ
13年10月21日月曜日
おまけ• マスコットがいたりします
• 本日のIIJブースにいるのでモフモフしに来て下さい :-)
13年10月21日月曜日
まとめ• 会社紹介
• MOGOKについて
• PaaSの本質
• 事例
• MOGOKの今後
13年10月21日月曜日
Q&A
13年10月21日月曜日