Ruby PaaS MOGOK <abe@iij.ad.jp> 2013/11/19 1
IIJ PaaS MOGOK MOGOK PaaS 2
IIJ PaaS MOGOK PaaS MOGOK MOGOK 3
IIJ PaaS 4
IIJ Internet, Backbone, Mobile IIJ GIO 5
IIJ IaaS IIJ GIO SaaS PaaS 6
PaaS Platform as a Service IaaS 7
PaaS IDC PaaS PaaS (2012 ) 63.4% 263 2016 1,070 IaaS...(2012 ) 49.6% 316 2016 1,035 8
PaaS IDC PaaS PaaS (2012 ) 63.4% 263 2016 1,070 IaaS...(2012 ) 49.6% 316 2016 1,035 9
MOGOK 10
MOGOK http://mogok.jp/ FREE!! :-) 11
12
MOGOK Ruby on Rails Web DB PaaS 13
14
mogok 20 15
... $ cd hogehoge $ git init $ git add. $ git commit -m first commit $ mogok create fugafuga $ git push mogok master $ mogok build $ mogok start 16
17
MOGOK git $ cd hogehoge $ git init $ git add. $ git commit -m first commit $ mogok create fugafuga $ git push mogok master $ mogok build $ mogok start 18
MOGOK 19
PaaS 20
PaaS 21
PaaS VM Web DB 22
PaaS 23
PaaS 24
PaaS PaaS 25
git build Web DB 26
IIJ 24 /365 IIJ 27
MOGOK = PaaS PaaS MOGOK 28
MOGOK 29
mogok command Git Client HTTP Request The Internet mogok build Git Push HTTP Request command proxy git repository request router bundle install Request Routing bundle 1 bundle 2 bundle XXXX bundle N app1 app2 XXXX appy bundle server package create package deploy & lxc execute app server Database Access pkg Server MySQL 30
3 bundle install LXC 31
32
mogok command Git Client HTTP Request The Internet mogok build Git Push HTTP Request command proxy git repository request router bundle install Request Routing bundle 1 bundle 2 bundle XXXX bundle N app1 app2 XXXX appy bundle server package create package deploy & lxc execute app server Database Access pkg Server MySQL 33
HTTP/HTTPS Nginx Nginx http://xxxx.ruby.iijgio.com/ XXXX 34
Nginx HTTP Request URL ( ) 35
http://xxxx.ruby.iijgio.com/ Nginx Nginx request router request router XXXX app1 app2 XXXX appy app server appb apps app7 app9 app server 36
http://xxxx.ruby.iijgio.com/ Nginx Nginx request router request router XXXX app1 app2 XXXX appy app server XXXX appb XXXX app7 app9 app server 37
bundle install 38
bundle install mogok command Git Client HTTP Request The Internet mogok build Git Push HTTP Request command proxy git repository request router bundle install Request Routing bundle 1 bundle 2 bundle XXXX bundle N app1 app2 XXXX appy bundle server package create package deploy & lxc execute app server Database Access pkg Server MySQL 39
bundle install Gem Ruby RubyGems Gem gem install XXX rubygems.org Bundler Bundler RubyGems bundle install 40
MOGOK bundle install mogok bundle install mogok build bundle install Gemfile source 'https://rubygems.org' Gemfile git push # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '4.0.0' # Use sqlite3 as the database for Active Record gem 'sqlite3'... Gemfile 41
mogok build 1. git 2. bundle install 3. Gemfile mogok start build MOGOK 42
LXC 43
LXC mogok command Git Client HTTP Request The Internet mogok build Git Push HTTP Request command proxy git repository request router bundle install Request Routing bundle 1 bundle 2 bundle XXXX bundle N app1 app2 XXXX appy bundle server package create package deploy & lxc execute app server Database Access pkg Server MySQL 44
LXC bundle install git 45
LXC Linux Container cgroup namespace 46
LXC LXC OS VM MOGOK Ruby on Rails 47
LXC bundle install LXC LXC bundle 1 bundle server X bundle 2 bundle N X X app server app1 app2 app3 appn X X DB MySQL 48
MOGOK 49
MOGOK 50
20 5 Worker Job cron DB DB 20GB 300GB 51
FREE!! Web :-) 52
IIJ PaaS MOGOK PaaS MOGOK MOGOK 53
Q&A 54