2. Agenda
● What is PaaS?
● The Contenders
● Sample App/Criteria
● Analysis/Scorecards
● Q/A
3. What is PaaS?
● Write, deploy, run.
● Self service
● Polygot
● Great for developers
● Great for Ops (STOP giving developers VMs!)
Code Deploy Run
Images courtesy of Red Hat
4. Cloud Service Models
STORAGE
HARDWARE
VIRTUALIZATION
OPERATING SYSTEM
APPLICATION PLATFORM
(App servers, PHP, RUBY, ETC)
APPLICATION
Automated and
Managed by the Public
or Private Cloud
Offering
Managed and Controlled
by Customer (IT, Dev, or
User)
IaaS PaaS SaaS
Increased Control
Increased Automation
Images courtesy of Red Hat
5. Streamlining App Dev with PaaS
With PaaS
How to Build an App:
1. Have Idea
2. Get Budget
3. Code
4. Test
5. Launch
6. Automatically Scale
How to Build an App:
1. Have Idea
2. Get Budget
3. Submit VM Request request
4. Wait
5. Deploy framework/appserver
6. Deploy testing tools
7. Code
8. Test
9. Configure Prod VMs
10. Push to Prod
11. Launch
12. Request More Prod VMs to
meet demand
13. Wait
14. Deploy app to new VMs
15. Etc.
Virtualised
How to Build an App:
1. Have Idea
2. Get Budget
3. Submit hardware acquisition request
4. Wait
5. Get Hardware
6. Rack and Stack Hardware
7. Install Operating System
8. Install Operating System
Patches/Fix-Packs
9. Create user Accounts
10. Deploy framework/appserver
11. Deploy testing tools
12. Code
13. Test
14. Configure Prod servers (and buy
them if needed)
15. Push to Prod
16. Launch
17. Order more servers to meet demand
18. Wait…
19. Deploy new servers
20. Etc.
Physical
“The use of Platform-as-a-Service technologies will
enable IT organizations to become more agile and
more responsive to the business needs.” –Gartner*
Images courtesy of Red Hat
8. Sample Apps
● Ticketmonster
● Example Ticketing
App
● Java EE6 - JSF 2,
JPA 2, CDI and JAX-
RS Along with
HTML5, jQuery
Mobile, JSF and
GWT, postgres
https://github.com/jbo
ss-jdf/ticket-monster
● Etherpad
● A really-real time
collaborative word
processor for the webg
● node.js, mongodb
https://github.com/ether/e
therpad-lite
OPEN SOURCE!!
9. Criteria
● Free Tier? Costs?
● Polygot? At least Java + node.js support
● Speed to live?
● Tooling?
● Does it scale?
● Lock-in?
● Is it Open Source?
● Can I go to Production?
● Where is my app running? Can I run the PaaS
somewhere else?
10. AWS – Elastic Beanstalk
● “Wizard for deploying apps to EC2”
● Is it really Paas?
● Fast, easy, and massively scalable though...
Free Tier? +
Polygot? +
Speed to live? +
Tooling? +
Does it scale? +
Lock-in? +
Is it Open Source? -
Can I go to prod? +
Run the PaaS somewhere else? -
Tally: 7 (out of 9)
11. CloudBees
● Phenomenal focus on CI+Devops features
● Java focused
● High density (many workloads per VM)
● Fast, easy, deployments. Plethora of tooling.
Free Tier? +
Polygot? - *
Speed to live? +
Tooling? +
Does it scale? +
Lock-in? +
Is it Open Source? - *
Can I go to prod? +
Run the PaaS somewhere else? -
Tally: 6-8 (out of 9)
12. Cloud Foundry (Pivotal Hosted)
● In Beta, no SLAs. Long queue for invite.
● Minimal documentation
● Open Source, can run anywhere!
Free Tier? +
Polygot? +
Speed to live? +
Tooling? +
Does it scale? +
Lock-in? +
Is it Open Source? +
Can I go to prod? -
Run the PaaS somewhere else? +
Tally: 8 (out of 9)
13. Heroku
● Mature
● High Density (many running Dynos on one VM)
● Supports many languages
● Large community of users
Free Tier? +
Polygot? +
Speed to live? +
Tooling? +
Does it scale? +
Lock-in? +
Is it Open Source? -
Can I go to prod? +
Run the PaaS somewhere else? -
Tally: 7 (out of 9)
14. OpenShift
● Open Source, many languages, DIY cartridges
● High Density (many running gears on one VM)
● OpenShift Enterprise = Run Anywhere
Free Tier? +
Polygot? +
Speed to live? +
Tooling? +
Does it scale? +
Lock-in? +
Is it Open Source? +
Can I go to prod? +
Run the PaaS somewhere else? +
Tally: 9 (out of 9)
15. Summary
All of contenders have a free tier + speed to live
Key Differentiators are:
● Community and Support
● Cost after free (depends on workload profile)
● Production readiness
All of these run on EC2 under the covers :-)
No more excuses... code. deploy. innovate.