Without applications, the main product of software developers, there really isn’t any need for for Infrastructure-as-a-Service (IaaS) nor is there a Software-as-a-Service (SaaS) layer. It’s all about the “apps,” so it seems fitting that there is a powerful NIST cloud layer, Platform-as-a-Service, or PaaS, defined for developers.
PaaS exists because developers just want to write and run code, not manage infrastructure (whether physical, virtual, or IaaS) nor manage middleware such web stacks, which are both certainly necessary, but are undifferentiated, resource consuming tasks that add no real competitive value and detract from a developer’s core function, which is to develop useful software that appeals to markets, customers, and investors or meets an enterprise’s internal needs. What developers really want is a rich set of API accessible, pre-integrated web services, that offer seeminly limitess capacity, offered and operated by someone else, but available to them at any time programattically – and that’s just want PaaS delivers!
This month, NASA is very fortunate to have Lucas Carlson, former founder and CEO of AppFog, one of the first public PaaS companies ( https://www.appfog.com/ ) provide the NASA Cloud Community of Interest with an overview of PaaS. In addition to starting and operating AppFog, Lucas has also authored a book for O’Reilly Media, titled Programming for PaaS ( http://shop.oreilly.com/product/0636920026235.do ), which provides an excellent description of PaaS that is a good resource for everybody, not just developers.
In his presentation, Lucas will cover why developers need PaaS, a brief history of PaaS, types and key components of the PaaS layer, and modern PaaS approaches. Additionally, he will cover PaaS enablers such as web services and APIs; key concepts such as DevOps, NoOps, RESTful web services, and Application Lifecycle Management; and significant drivers, such as mobile apps – all as they relate to the PaaS layer.
You do not need to be a developer to benfit from this month’s exciting topic, so please participate in the May NASA Cloud Community of Interest session to learn more about the exciting PaaS layer from someone who is clearly an authority on the topic.
More than Just Lines on a Map: Best Practices for U.S Bike Routes
NASA Talk- The Cloud Layer for Software Developers: An Overview of Platform-as-a-Service (PaaS)
1. The Cloud Layer for
Software Developers
by
Lucas Carlson
for NASA
May 7, 2015
A Brief Overview of
Programming for PaaS (Platform-as-a-Service)
2. Programmer
18 Years
Author
• Ruby Cookbook
• Programming for PaaS
Entrepreneur
• AppFog PaaS
• Mog Music Streaming Service
Current Role
• Chief Innovation Officer at
CenturyLink
Who Am I?
3. Structure
1
Who Am I?
2
What’s Wrong
The Developer’s
Plight
3
How the Cloud
Enables Innovation
4
A Brief History of Cloud
for Programmers
5
What is PaaS?
And How to Use It
6
Conclusions
5. What’s Wrong: The Developer’s Plight
If it ain’t broke, don’t fix it… right?
6. Scaling Web Applications is Hard
2b
5
Application
Server
AppThena
Web App
Other
Web App
Other
Web App
Other
Web App
53
Database
Server
4
Data
CSS
Images
Pages
Jason tried to do it once…
7. Scaling Web Applications is Hard
Web
Server
2b
5
Application
Server
AppThena
Web App
Other
Web App
Other
Web App
Other
Web App
53
Database
Server
4
Data
CSS
Images
Pages
2a
BROWSE
R
Started simple…
8. Scaling Web Applications is Hard
Web
Server
2b
5
Application
Server
AppThena
Web App
Other
Web App
Other
Web App
Other
Web App
53
Database
Server
4
Data
CSS
Images
Pages
BROWSE
R
And then grew…
10. Scaling Web Applications is Hard
Web
Server
Application
Server
AppThena
Web App
Other
Web App
Other
Web App
Other
Web App
53
Database
Server
4
Data
CSS
Images
Pages
BROWSE
R
And grew more…
11. Scaling Web Applications is Hard
Web
Server
Application
Server
AppThena
Web App
Other
Web App
Other
Web App
Other
Web App
53
Database
Server
4
Data
CSS
Images
Pages
BROWSE
R
And more…
12. Scaling Web Applications is Hard
Browser
6
Web
Server
Application
Server
AppThena
Web App
Other
Web App
Other
Web App
Other
Web App
53
Database
Server
4
Data
CSS
Images
Pages
Limited
Scale
Error 500
And broke more…
13. Limited
Scale
Scaling Web Applications is Hard
1
5
Browser
6
Web
Server
5
2b
5
Application
Server
AppThena
Web App
Other
Web App
Other
Web App
Other
Web App
53
Database
Server
4
Data
CSS
Images
Pages
2a
Error 500
14. Scaling Web Applications is Hard
3-Tier
Systems
Scale…
Up to a Point
Databases are
limited
by disk size and
IO rates
Applications
are limited
by RAM and CPU
As they get
more complex,
they end up
breaking
29. In The Beginning There Were Datacenters
Ordering Servers Could Take
Weeks
Maintaining Them Was Up To You
Very Expensive Up Front Costs
30. And Then There Was IaaS
On-Demand API-Driven Servers
Billed Hourly, No Up Front Cost
Scale Up and Down as You Want
You Still Have to Manage and Run
Your Code on the Servers
31. And SaaS
Pre-Packaged Hosted Programming Services
Sending bulk email, accepting credit cards, etc.
Write Less Code
32. PaaS Manages YOUR Code on IaaS Servers
No Longer Manage Operating
Systems
Take Out Operational Headaches
Enable Standardized Best
Practices
37. Automatically Deploys Your Apps
App App App App
Load
Balancer
DB DB
BROWSE
R
Worker Worker
Load
Balancer
PaaS (Platform-as-a-Service) Runs Your Apps For You
43. Conclusions
1. Scaling Web Applications is Hard
2.
PaaS Does It For You
3.
What Parts of Your Application
Lifecycles Can You Outsource to
Automated Platforms?
1
2
3