Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

7.
The Key Beneﬁts of PaaS for Developers!
• There's no need to focus on provisioning, managing, or monitoring the
compute, storage, network and software
– Developers can create working prototypes in a matter of minutes.
– Developers can create new versions or deploy new code more rapidly
– Developers can self-assemble services to create integrated applications.
– Developers can scale applications more elastically by starting more
instances.
– Developers don’t have to worry about underlying operating system and
middleware security patches.
– Developers can mitigate backup and recovery strategies, assuming the
PaaS takes care of this.
2/24/15
Austin Cloud Foundry PaaS Meetup
7

8.
The Key Disadvantages of PaaS for Developers!
• Applications require a different architecture mindset
– This requires developer skill and awareness of best practices and web app
limitations.
– Don’t have as much control over the underlying infrastructure. Security,
versioning, performance considerations
2/24/15
Austin Cloud Foundry PaaS Meetup
8

10.
Cloud Foundry is the industry’s Open PaaS and provides a choice of
clouds, frameworks, and application services. Its unique vision is to
foster contributions from a broad community of developers, users,
customers, partners, and ISVs while advancing development of the
platform at extreme velocity.
cloudfoundry.org
2/24/15
Austin Cloud Foundry PaaS Meetup
10

11.
The Cloud Foundry Foundation!
• The Cloud Foundry Foundation's mission is to establish and sustain Cloud
Foundry as the global industry standard open source PaaS technology with a
thriving ecosystem.
• To deliver continuous quality, value and innovation to users, operators
and providers of Cloud Foundry technology.
• To provide a vibrant agile experience for the community's contributors that
delivers the highest quality cloud-native applications and software, at high
velocity with global scale.
• Its guiding principles are:
– Governance By Contribution - Inﬂuence within the Foundation is based on
contributions.
– IP Hygiene - IP cleanliness must be preserved at all times.
– Equal Opportunity To Participate - Everyone has an equal opportunity to
participate in projects.
– No Surprises - Planning processes and project status are open to all.
2/24/15
Austin Cloud Foundry PaaS Meetup
11

28.
Best Practices for Microservice Architectures!
The 12 factor app is a methodology for building apps
that:
• Use declarative formats for setup automation, to
minimize time and cost for new developers joining the
project.
• Have a clean contract with the underlying operating
system, offering maximum portability between
execution environments.
• Are suitable for deployment on modern cloud
platforms, obviating the need for servers and
systems administration.
• Minimize divergence between development and
production, enabling continuous deployment for
maximum agility.
• And can scale up without signiﬁcant changes to
tooling, architecture, or development practices.
The 12 factor methodology can be applied to apps
written in any programming language, and which use
any combination of backing services (database,
queue, memory cache, etc.)
1. Codebase
One codebase tracked in revision control, many deploys.
2. Dependencies
Explicitly declare and isolate dependencies.
3. Conﬁg
Store conﬁg in the environment.
4. Backing Services
Treat backing services as attached resources.
5. Build, Release, Run
Strictly separate build and run stages.
6. Port Binding
Export services via port binding.
7. Concurrency
Scale out via the process model.
8. Disposability
Maximize robustness with fat startup and graceful
shutdown.
9. Dev/Prod Parity
Keep development, staging, and production as similar as
possible.
10. Logs
Treat logs as event streams.
11. Admin Processes
Run admin/management tasks as one-off processes.
12factor.net
2/24/15
Austin Cloud Foundry PaaS Meetup
28

29.
Designing Apps for the Cloud: PaaS Best Practices!
Following these guidelines makes an application cloud-native, and facilitates deployment to Cloud
Foundry and other cloud platforms.
• Avoid writing to the local ﬁle system
– Local ﬁle system storage is short-lived "
Your application can write local ﬁles while it is running, the ﬁles will disappear after the application
restarts.
– Instances of the same application do not share a local ﬁle system"
Each application instance runs in its own isolated container. Thus a ﬁle written by one instance is not
visible to other instances of the same application.
• HTTP sessions are not persisted or replicated
Session data that must be available after an application crashes or stops, or that needs to be shared
by all instances of an application, should be stored in a Cloud Foundry service.
• Run multiple instances to increase availability
To avoid the risk of an application being unavailable during Cloud Foundry upgrade processes, you
should run more than one instance of an application.
• Design as if your application can be restarted, destroyed, started at any time!
http://bit.ly/cf-paas-bp
2/24/15
Austin Cloud Foundry PaaS Meetup
29