SlideShare une entreprise Scribd logo
1  sur  56
Deploying Web Apps 
with PaaS 
and Docker Tools 
Docker Global Hacking Weekend 
Eddie Lau (3dd13@42la.bs)
Me 
Founder of 42 Labs (http://www.42la.bs) 
Software Consultancy for Tech Startups 
Online Portfolio 
https://www.linkedin.com/in/3dd13 
http://github.com/3dd13 
http://3dd13.me
instead of telling what Docker is, 
I will show you 
why / when do we use it
Agenda 
• Web Application Architecture 
• Deploying Rails apps on Heroku.com 
• Deploying Rails apps with Dokku 
• Other Docker tools
Problem
publish my awesome Rails app
Solution
upload to a server
install libraries
EASY ?
Consideration
Q1: Where to deploy ?
Q1: Where to deploy ? 
• a machine at your home / office ? 
• a machine in Data Center ?
NO !!
use Cloud
Q2: How to deploy ?
we usually have 
several 3-month-size projects 
at the same time
a 3-month-size MVP project 
can be like …
Web App Components 
Web Application 
(Ruby on Rails) 
Web Frontend 
(AngularJs) 
Push Server 
(Node.js) 
Database 
(PostgreSQL) 
Search Engine 
(Elastic Search) 
Object Cache 
(Redis) 
Static Asset 
Files 
Application 
Log 
Server 
Monitoring 
Performance 
Monitoring
On a Ubuntu server, 
you may have to …
sudo apt-get update 
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 
libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libgdbm-dev libncurses5-dev automake 
libtool bison libffi-dev ……. 
# install ruby 
… 
# install rails 
… 
# install nodejs 
… 
# setup postgresql 
… 
# init postgresql DB 
… 
# setup user account 
… 
# setup environment variables 
… 
# setup web server 
… 
# setup app server 
…
If we have to do this 
12+ times a year …
NO !!
use Automation
Q3: Who ? 
Q4: What ? 
Q5: When ?
if your team 
is still setting up server manually
Change your company or 
Change your company
Cloudify 
to enhance 
automation
Web App Components 
Web Application 
(Ruby on Rails) 
Web Frontend 
(AngularJs) 
Push Server 
(Node.js) 
Database 
(PostgreSQL) 
Search Engine 
(Elastic Search) 
Object Cache 
(Redis) 
Static Asset 
Files 
Application 
Log 
Server 
Monitoring 
Performance 
Monitoring
I don’t want to bother with 
OTHER STUFF
Web App Components 
Web Application 
(Ruby on Rails) 
Web Frontend 
(AngularJs) 
Push Server 
(Node.js) 
Database 
(PostgreSQL) 
Search Engine 
(Elastic Search) 
Object Cache 
(Redis) 
Static Asset 
Files 
Application 
Log 
Server 
Monitoring 
Performance 
Monitoring
there are 
Freemium Cloud services 
out there
Web App Components 
Web Application 
(Ruby on Rails) 
Web Frontend 
(AngularJs) 
Push Server 
(Node.js) 
Database 
(PostgreSQL) 
Search Engine 
(Elastic Search) 
Object Cache 
(Redis) 
Static Asset 
Files 
Application 
Log 
Server 
Monitoring 
Performance 
Monitoring
Web App Components 
Web Application 
(Ruby on Rails) 
Web Frontend 
(AngularJs) 
Push Server 
(Node.js) 
Database 
(PostgreSQL) 
Search Engine 
(Elastic Search) 
RDS 
Object Cache 
Redis To Go 
(Redis) 
Search Box 
Static Asset 
s3 
Files 
Application 
Log Entries 
Log 
Server 
Monitoring 
Performance 
New Relic 
Pusher Monitoring 
UptimeRobot
How about 
coding runtime environment 
setup?
PaaS
Demo: Heroku
• Generate new rails app 
rails new docker-hk-meetup —database=postgresql 
cd docker-hk-meetup 
rails generate controller home index 
• initialize git 
git init 
git add -A 
git commit -m “initial commit” 
• create a heroku app 
heroku create docker-hk-meetup 
• publish 
git push heroku master 
• available online ! 
heroku open
Heroku is awesome
BUT
you will grow to a point …
Expensive 
Lost control 
Slow
so How ?
Office 
Machine 
Data 
Center 
Cloud 
Server 
Heroku ?
I want my own server 
with total control 
but less hassle
Office 
Machine 
Data 
Center 
Cloud 
Server 
? Heroku 
total control 
but less hassle ?
Docker
Demo: Dokku
There are other advantages 
than just automation too: 
https://www.docker.com/whatisdocker/
We still use heroku heavily. 
but for some growing projects, 
we start using Docker
Docker Tools
PaaS 
Dokku - private heroku 
• https://github.com/progrium/dokku 
Octohost - private heroku 
• http://octohost.io/ 
Deis - like Dokku for server cluster 
• https://github.com/deis/deis 
Flynn - like Dokku for server cluster 
• https://github.com/flynn/flynn
Dev Tools 
Fig - Isolated development environment 
• http://www.fig.sh/rails.html 
• https://github.com/docker/fig
Docker Management 
Interface 
Panamax - Web interface 
• http://panamax.io/
Manage Cluster 
Serf - cluster membership by gossip notification 
• https://www.serfdom.io/ 
• https://github.com/hashicorp/serf 
Shipyard - Multi-host cluster Docker management 
• http://shipyard-project.com/ 
• https://github.com/shipyard/shipyard
Questions ? 
mailto:3dd13@42la.bs 
https://www.linkedin.com/in/3dd13 
http://github.com/3dd13 
http://3dd13.me

Contenu connexe

Tendances

JAX 2013: Introducing Eclipse Orion
JAX 2013: Introducing Eclipse OrionJAX 2013: Introducing Eclipse Orion
JAX 2013: Introducing Eclipse Orion
martinlippert
 

Tendances (20)

Github in Action
Github in ActionGithub in Action
Github in Action
 
GitHub Actions - Melbourne UG
GitHub Actions - Melbourne UGGitHub Actions - Melbourne UG
GitHub Actions - Melbourne UG
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github Actions
 
What's Coming in Apache Airflow 2.0 - PyDataWarsaw 2019
What's Coming in Apache Airflow 2.0 - PyDataWarsaw 2019What's Coming in Apache Airflow 2.0 - PyDataWarsaw 2019
What's Coming in Apache Airflow 2.0 - PyDataWarsaw 2019
 
CI/CD with GitHub Actions
CI/CD with GitHub ActionsCI/CD with GitHub Actions
CI/CD with GitHub Actions
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
 
Container based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsContainer based CI/CD on GitHub Actions
Container based CI/CD on GitHub Actions
 
GitHub Actions with Node.js
GitHub Actions with Node.jsGitHub Actions with Node.js
GitHub Actions with Node.js
 
Java 8
Java 8Java 8
Java 8
 
GitHub Actions demo with mabl
GitHub Actions demo with mablGitHub Actions demo with mabl
GitHub Actions demo with mabl
 
Spring Tooling: What's new and what's coming
Spring Tooling: What's new and what's comingSpring Tooling: What's new and what's coming
Spring Tooling: What's new and what's coming
 
Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...
Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...
Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...
 
Intro to Github Actions @likecoin
Intro to Github Actions @likecoinIntro to Github Actions @likecoin
Intro to Github Actions @likecoin
 
JAX 2013: Introducing Eclipse Orion
JAX 2013: Introducing Eclipse OrionJAX 2013: Introducing Eclipse Orion
JAX 2013: Introducing Eclipse Orion
 
Azure Web Jobs
Azure Web JobsAzure Web Jobs
Azure Web Jobs
 
Gradle - From minutes to seconds: minimizing build times
Gradle - From minutes to seconds: minimizing build timesGradle - From minutes to seconds: minimizing build times
Gradle - From minutes to seconds: minimizing build times
 
Gradle
GradleGradle
Gradle
 
End-to-end test automation with Endtest.dev
End-to-end test automation with Endtest.devEnd-to-end test automation with Endtest.dev
End-to-end test automation with Endtest.dev
 
DevOps Fest 2020. Alexey Golub. GitHub Actions in action
DevOps Fest 2020. Alexey Golub. GitHub Actions in actionDevOps Fest 2020. Alexey Golub. GitHub Actions in action
DevOps Fest 2020. Alexey Golub. GitHub Actions in action
 
O365Con18 - Implementing Automated UI Testing for SharePoint Solutions - Elio...
O365Con18 - Implementing Automated UI Testing for SharePoint Solutions - Elio...O365Con18 - Implementing Automated UI Testing for SharePoint Solutions - Elio...
O365Con18 - Implementing Automated UI Testing for SharePoint Solutions - Elio...
 

En vedette

Loadays 2013 OpenNebula Fundamentals
Loadays 2013 OpenNebula FundamentalsLoadays 2013 OpenNebula Fundamentals
Loadays 2013 OpenNebula Fundamentals
OpenNebula Project
 
PaaS on Openstack
PaaS on OpenstackPaaS on Openstack
PaaS on Openstack
Open Stack
 

En vedette (7)

Loadays 2013 OpenNebula Fundamentals
Loadays 2013 OpenNebula FundamentalsLoadays 2013 OpenNebula Fundamentals
Loadays 2013 OpenNebula Fundamentals
 
PaaS on Openstack
PaaS on OpenstackPaaS on Openstack
PaaS on Openstack
 
Cordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ CodeaholicsCordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ Codeaholics
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaSOpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
 
Introduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud FoundryIntroduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud Foundry
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic Framework
 

Similaire à Deploying Web Apps with PaaS and Docker Tools

Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Jonas Rosland
 

Similaire à Deploying Web Apps with PaaS and Docker Tools (20)

Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupIs Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
 
DevOps for Databricks
DevOps for DatabricksDevOps for Databricks
DevOps for Databricks
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
 
How (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSHow (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaS
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:Invent
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Confoo - Javascript Server Side : How to start
Confoo - Javascript Server Side : How to startConfoo - Javascript Server Side : How to start
Confoo - Javascript Server Side : How to start
 
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
Automating Workflows for Analytics Pipelines
Automating Workflows for Analytics PipelinesAutomating Workflows for Analytics Pipelines
Automating Workflows for Analytics Pipelines
 
CloudFormation Dark Arts
CloudFormation Dark ArtsCloudFormation Dark Arts
CloudFormation Dark Arts
 
Cloud computing overview & running your code on Google Cloud
Cloud computing overview & running your code on Google CloudCloud computing overview & running your code on Google Cloud
Cloud computing overview & running your code on Google Cloud
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
Web app job and functions - TUGAIT 2017
Web app job and functions  - TUGAIT 2017Web app job and functions  - TUGAIT 2017
Web app job and functions - TUGAIT 2017
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
 

Dernier

FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
rknatarajan
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Dr.Costas Sachpazis
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Dernier (20)

Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 

Deploying Web Apps with PaaS and Docker Tools

  • 1. Deploying Web Apps with PaaS and Docker Tools Docker Global Hacking Weekend Eddie Lau (3dd13@42la.bs)
  • 2. Me Founder of 42 Labs (http://www.42la.bs) Software Consultancy for Tech Startups Online Portfolio https://www.linkedin.com/in/3dd13 http://github.com/3dd13 http://3dd13.me
  • 3. instead of telling what Docker is, I will show you why / when do we use it
  • 4. Agenda • Web Application Architecture • Deploying Rails apps on Heroku.com • Deploying Rails apps with Dokku • Other Docker tools
  • 6. publish my awesome Rails app
  • 8. upload to a server
  • 12. Q1: Where to deploy ?
  • 13. Q1: Where to deploy ? • a machine at your home / office ? • a machine in Data Center ?
  • 14. NO !!
  • 16. Q2: How to deploy ?
  • 17. we usually have several 3-month-size projects at the same time
  • 18. a 3-month-size MVP project can be like …
  • 19. Web App Components Web Application (Ruby on Rails) Web Frontend (AngularJs) Push Server (Node.js) Database (PostgreSQL) Search Engine (Elastic Search) Object Cache (Redis) Static Asset Files Application Log Server Monitoring Performance Monitoring
  • 20. On a Ubuntu server, you may have to …
  • 21. sudo apt-get update sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libgdbm-dev libncurses5-dev automake libtool bison libffi-dev ……. # install ruby … # install rails … # install nodejs … # setup postgresql … # init postgresql DB … # setup user account … # setup environment variables … # setup web server … # setup app server …
  • 22. If we have to do this 12+ times a year …
  • 23. NO !!
  • 25. Q3: Who ? Q4: What ? Q5: When ?
  • 26. if your team is still setting up server manually
  • 27. Change your company or Change your company
  • 28. Cloudify to enhance automation
  • 29. Web App Components Web Application (Ruby on Rails) Web Frontend (AngularJs) Push Server (Node.js) Database (PostgreSQL) Search Engine (Elastic Search) Object Cache (Redis) Static Asset Files Application Log Server Monitoring Performance Monitoring
  • 30. I don’t want to bother with OTHER STUFF
  • 31. Web App Components Web Application (Ruby on Rails) Web Frontend (AngularJs) Push Server (Node.js) Database (PostgreSQL) Search Engine (Elastic Search) Object Cache (Redis) Static Asset Files Application Log Server Monitoring Performance Monitoring
  • 32. there are Freemium Cloud services out there
  • 33. Web App Components Web Application (Ruby on Rails) Web Frontend (AngularJs) Push Server (Node.js) Database (PostgreSQL) Search Engine (Elastic Search) Object Cache (Redis) Static Asset Files Application Log Server Monitoring Performance Monitoring
  • 34. Web App Components Web Application (Ruby on Rails) Web Frontend (AngularJs) Push Server (Node.js) Database (PostgreSQL) Search Engine (Elastic Search) RDS Object Cache Redis To Go (Redis) Search Box Static Asset s3 Files Application Log Entries Log Server Monitoring Performance New Relic Pusher Monitoring UptimeRobot
  • 35. How about coding runtime environment setup?
  • 36. PaaS
  • 38. • Generate new rails app rails new docker-hk-meetup —database=postgresql cd docker-hk-meetup rails generate controller home index • initialize git git init git add -A git commit -m “initial commit” • create a heroku app heroku create docker-hk-meetup • publish git push heroku master • available online ! heroku open
  • 40. BUT
  • 41. you will grow to a point …
  • 44. Office Machine Data Center Cloud Server Heroku ?
  • 45. I want my own server with total control but less hassle
  • 46. Office Machine Data Center Cloud Server ? Heroku total control but less hassle ?
  • 49. There are other advantages than just automation too: https://www.docker.com/whatisdocker/
  • 50. We still use heroku heavily. but for some growing projects, we start using Docker
  • 52. PaaS Dokku - private heroku • https://github.com/progrium/dokku Octohost - private heroku • http://octohost.io/ Deis - like Dokku for server cluster • https://github.com/deis/deis Flynn - like Dokku for server cluster • https://github.com/flynn/flynn
  • 53. Dev Tools Fig - Isolated development environment • http://www.fig.sh/rails.html • https://github.com/docker/fig
  • 54. Docker Management Interface Panamax - Web interface • http://panamax.io/
  • 55. Manage Cluster Serf - cluster membership by gossip notification • https://www.serfdom.io/ • https://github.com/hashicorp/serf Shipyard - Multi-host cluster Docker management • http://shipyard-project.com/ • https://github.com/shipyard/shipyard
  • 56. Questions ? mailto:3dd13@42la.bs https://www.linkedin.com/in/3dd13 http://github.com/3dd13 http://3dd13.me