SlideShare a Scribd company logo
1 of 44
Download to read offline
Cloud Foundry for PHP developers! 
Deploy apps built with the leading open source language 
to the leading open source Platform-as-a-Service 
‹#› 
Daniel Krook! 
Senior Certified IT Specialist, IBM" 
@DanielKrook
Agenda 
§ Cloud 101! 
! 
§ Introducing Cloud Foundry! 
! 
§ Demo: Simple PHP app push and MySQL bind! 
§ Services in Cloud Foundry! 
§ Buildpacks in Cloud Foundry! 
§ Demo: Scaling and zero downtime deploys! 
§ Considerations for designing PHP apps for the cloud! 
§ Demo: Cross-origin resource sharing in microservices! 
§ Where to go from here! 
! 
github.com/krook ! 
slideshare.net/danielkrook !
Agenda 
§ Cloud 101 
§ Introducing Cloud Foundry 
§ Demo: Simple PHP app push and MySQL bind 
§ Services in Cloud Foundry 
§ Buildpacks in Cloud Foundry 
§ Demo: Scaling and zero downtime deploys 
§ Considerations for designing PHP apps for the cloud 
§ Demo: Cross-origin resource sharing in microservices 
§ Where to go from here 
! 
Software defined environments! 
Cloud operating environment! 
API economy!
Software defined environments!Cloud operating environment!API economy! 
Infrastructure! Platform! Software! 
Applications! 
Data! 
Runtime! 
Middleware! 
O/S! 
Virtualization! 
Servers! 
Storage! 
Applications! 
Data! 
Runtime! 
Middleware! 
O/S! 
Virtualization! 
Servers! 
Storage! 
Sys admin (Ops)! App builder (Dev)! Business user (Biz)! 
Standardization; lower costs; faster time to value! 
Traditional ! 
on premise! 
Applications! 
Data! 
Runtime! 
Middleware! 
O/S! 
Virtualization! 
Servers! 
Storage! 
Networking! 
Networking! 
Networking! 
Applications! 
Data! 
Runtime! 
Middleware! 
O/S! 
Virtualization! 
Servers! 
Storage! 
Networking! 
Client manages!Vendor manages in cloud!
IaaS: the software defined data center 
Software defined environments! 
Infrastructure! 
Applications! 
Data! 
Runtime! 
Middleware! 
O/S! 
Virtualization! 
Servers! 
Storage! 
Networking! 
Ops!
PaaS: the cloud operating environment 
Cloud operating environment! 
Platform! 
Applications! 
Data! 
Runtime! 
Middleware! 
O/S! 
Virtualization! 
Servers! 
Storage! 
Networking! 
Dev!
SaaS: the API economy 
API economy! 
Software! 
Applications! 
Data! 
Runtime! 
Middleware! 
O/S! 
Virtualization! 
Servers! 
Storage! 
Networking! 
Biz! 
OAuth
The key benefits of Platform-as-a-Service 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. 
And the key disadvantages 
§ 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.
Agenda 
§ Cloud 101 
§ Introducing Cloud Foundry 
§ Demo: Simple PHP app push and MySQL bind 
§ Services in Cloud Foundry 
§ Buildpacks in Cloud Foundry 
§ Demo: Scaling and zero downtime deploys 
§ Considerations for designing PHP apps for the cloud 
§ Demo: Cross-origin resource sharing in microservices 
§ Where to go from here 
!
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
Frameworks and services lend Cloud Foundry its extensibility 
Buildpacks (implement frameworks for apps) 
detect 
compile 
release 
package 
The detect script is used to determine 
whether or not to apply the buildpack to an 
application. 
The compile script builds the droplet that 
will be run by the DEA and will therefore 
contain all the components necessary to 
run the application. 
The release script provides feedback 
metadata back to Cloud Foundry indicating 
how the application should be executed. 
The package script provides artifacts, which are 
provided to Cloud Foundry as system buildpacks. 
package is intended to provide a way for developers 
to package a buildpack with its dependencies. 
Brokered services (implement an API to provide services) 
fetch 
provision 
bind
Cloud Foundry is built on a highly scalable distributed architecture 
Routes incoming traffic to 
the appropriate component; 
generally the Cloud 
Controller or application 
Identity management service 
for the platform. Acts as an 
OAuth2 and SCIM provider. 
Monitors the state of 
applications and ensures 
that the correct number of 
instances are running 
Exposes a REST API to the 
system. Manages a 
database of apps, services, 
service instances, etc 
End user provided code 
that is “pushed” to the 
cloud and packaged to run 
in warden container 
Advertises service offerings 
to the Cloud Controller and 
handles requests to create, 
bind, unbind, and delete 
service instances. 
Managed by the service 
gateway, these nodes host 
service instances. 
A broker that can expose a 
service instance to a service 
managed outside of the 
cloud 
A collection of code that is 
responsible for transforming 
pushed app artifacts into a 
ready to run droplet 
A pub-sub message bus 
implemented with NATS 
that’s used for cross 
component communication 
Droplet Execution Agent – 
Advertises capacity to 
execute droplets created by 
a build pack 
A distributed deployment 
install and management tool 
that abstracts the details of 
the IaaS layer
Components collaborate via messaging and REST APIs
BOSH deploys and manages Cloud Foundry clusters on an IaaS 
Deployment Manifest 
• Release name/version 
• # VMs, Job params 
• Stemcells to use 
Stemcell 
• Base OS 
• BOSH Agent 
Release 
• Name 
Jobs 
• Software Packages 
• Config Templates 
• Scripts 
Deployed 
Environment 
irtual Machine 
• Configuration 
• Software Packages 
Virtual Machine 
• Configuration 
• Software Packages 
Virtual Machine 
• Configuration 
• Software Packages 
Virtual Machine 
• Configuration 
• Software Packages 
Stemcells 
In a cloud platform, VMs are usually cloned from a 
template. A stemcell is a VM template containing a 
standard Ubuntu distribution. A BOSH agent is also 
embedded in the template so that BOSH can take 
control of VMs cloned from the stemcell. 
Jobs 
A job is a collection of software which serves a 
particular purpose (e.g. MySQL or the Cloud 
Controller). At deployment time, each job will be 
install on its own stemcell VM. 
Releases 
A release contains a number of jobs which can be 
deployed into the target environment. A deployment 
can consist of more than one release and not every 
job in a release must be deployed.
The BOSH Cloud Provider Interface (CPI) manages the IaaS resources that Cloud Foundry needs 
Stemcells 
create_stemcell(image, cloud_properties) 
delete_stemcell(stemcell) 
Virtual Machines 
create_vm(agent_id, stemcell, resource_pool, networks, disk_locality, env) 
delete_vm(vm) 
reboot_vm(vm) 
configure_networks(vm, networks) 
Disks 
create_disk(size, vm_locality) 
delete_disk(disk) 
attach_disk(vm, disk) 
detach_disk(vm, disk)
Cloud Foundry distributions 
Hosted public 
§ IBM Bluemix 
http://bluemix.net 
§ Pivotal WS 
http://run.pivotal.io 
Self hosting 
§ “Try Cloud Foundry” on AWS 
https://trycf.starkandwayne.com 
§ BOSH bootstrap 
https://github.com/cloudfoundry-community/bosh-bootstrap 
§ Deploy your own to AWS 
http://www.slideshare.net/SpringCentral/build-yourowncf 
http://docs.cloudfoundry.org/deploying/ec2/ 
§ Install on on a laptop 
https://github.com/cloudfoundry/bosh-lite 
https://github.com/yudai/cf_nise_installer 
§ Stackato Micro Cloud 
http://www.activestate.com/stackato/get_stackato 
Private 
§ Pivotal CF 
http://run.pivotal.io
The Cloud Foundry Foundation
Cloud Foundry versus other Platforms-as-a-Service 
http://paasify.it 
http://bit.ly/pivotal-paas-compare ! 
http://bit.ly/altoros-paas-compare !
What about Docker? 
There are several projects underway to leverage Docker to host the Cloud 
Foundry PaaS, as well as the applications that run on it.
Agenda 
§ Cloud 101 
§ Introducing Cloud Foundry 
§ Demo: Simple PHP app push and MySQL bind 
§ Services in Cloud Foundry 
§ Buildpacks in Cloud Foundry 
§ Demo: Scaling and zero downtime deploys 
§ Considerations for designing PHP apps for the cloud 
§ Demo: Cross-origin resource sharing in microservices 
§ Where to go from here 
! 
$ cf push my-php-app
Demo 1: PHP app push and debug 
§ Download the Cloud Foundry CLI, log in and target your cloud 
§ Clone meetup-cf-php-1 from https://github.com/krook/meetup-cf-php-1.git 
§ Create index.php with syntax error 
§ cf push meetup-cf-php-1 -m 128M -b https://github.com/dmikusa-pivotal/cf-php-build-pack.git 
§ Load page in browser: http://meetup-cf-php-1.mybluemix.net 
§ cf logs meetup-cf-php-1 --recent 
§ Fix syntax error in index.php! 
§ cf push meetup-cf-php-1 
§ Load page in browser: http://meetup-cf-php-1.mybluemix.net
Demo 2: PHP app push and bind to MySQL 
§ Clone meetup-cf-php-2 from https://github.com/krook/meetup-cf-php-2.git 
§ cf push (uses the manifest.yml settings) 
§ Load page in browser: http://meetup-cf-php-2.mybluemix.net 
§ cf marketplace (view the services catalog) 
§ cf create-service mysql 100 meetup-cf-mysql (provision a MySQL service) 
§ cf services (view my service instances) 
§ cf bind-service meetup-cf-php-2 meetup-cf-mysql (bind the MySQL instance to my PHP app) 
§ cf restage meetup-cf-php-2 (make the service available in my VCAP_SERVICES env variable) 
§ Load page in browser: http://meetup-cf-php-2.mybluemix.net
Agenda 
§ Cloud 101 
§ Introducing Cloud Foundry 
§ Demo: Simple PHP app push and MySQL bind 
§ Services in Cloud Foundry 
§ Buildpacks in Cloud Foundry 
§ Demo: Scaling and zero downtime deploys 
§ Considerations for designing PHP apps for the cloud 
§ Demo: Cross-origin resource sharing in microservices 
§ Where to go from here 
! $ cf bind-service my-php-app mysql-srv
Cloud Foundry provides several community services
More services can be added with the Cloud Foundry service broker API
Cloud Foundry provides the framework to bind services to your apps
Sample service catalog from Cloud Foundry hosted providers 
IBM Bluemix (bluemix.net)! Pivotal WS (run.pivotal.io)! 
In addition to a catalog of data, queue, mail, log, push services, providers may offer auto-scaling and DevOps integration
Agenda 
§ Cloud 101 
§ Introducing Cloud Foundry 
§ Demo: Simple PHP app push and MySQL bind 
§ Services in Cloud Foundry 
§ Buildpacks in Cloud Foundry 
§ Demo: Scaling and zero downtime deploys 
§ Considerations for designing PHP apps for the cloud 
§ Demo: Cross-origin resource sharing in microservices 
§ Where to go from here 
! $ cf push my-php-app –b git://…my-bp.git
The Cloud Foundry Heroku buildpack model 
Buildpacks implement execution environments for apps. They can be either a raw 
language (Java), or with frameworks (Spring, servlet, standalone). 
When pushed, the entire application is encapsulated into a “droplet” and is run in an 
isolated Linux container on the pool of “droplet execution agents.” 
bin/detect 
The detect script is used to determine whether or not to apply the buildpack to an 
application. 
bin/compile 
The compile script builds the droplet that will be run by the DEA and will therefore 
contain all the components necessary to run the application. 
bin/release 
The release script provides feedback metadata back to Cloud Foundry indicating how 
the application should be executed. 
bin/package 
The package script provides artifacts, which are provided to Cloud Foundry as system 
buildpacks. package is intended to provide a way for developers to package a 
buildpack with its dependencies. 
Scripts can be written in a variety of languages (bash, Python, Ruby, etc.)
Comparing the popular PHP buildpacks 
Source 
PHP version 
(default) 
Web server 
(default) 
Extensions 
(default) 
Memory 
(minimum) 
Notes 
Pivotal 
(Dan Mikusa) 
5.4 
(Latest 5.5 and 
5.6 also 
supported) 
Apache 
(nginx and 
standalone apps 
also supported) 
Minimal set to 
start, lots of 
extensions 
supported and 
can be specified. 
96 MB 
• Created from the ground up for Cloud Foundry, no Heroku 
legacy code 
• Supports offline mode 
• Supports Composer, but doesn’t require it 
• Very configurable (options.json). 
• Very actively improved and kept up to date. 
• Optimized to download as little as possible 
• Supports a wider variety of Ubuntu stem cells 
• Supports latest stable PHP 5.4, 5.5, 5.6 
• Known to work with popular frameworks, such as 
CodeIgniter and Phalcon 
• Lots of samples 
• Supports other running processes 
• Apache 2 license 
Heroku 
(David Zuelke) 
5.5 
Apache 
(nginx also 
supported) 
Minimal 
128 MB 
• Forked from Heroku, still compatible with Heroku 
• Supports offline mode 
• Requires you use Composer (or fake it) for dependencies 
• MIT license 
• Known to work with popular projects like WordPress 
• Will be built in to future versions of Cloud Foundry 
Zend 
5.4 
(Long term 
support through 
Zend Server 7) 
Apache 
All the same 
available in Zend 
Server 7 
512 MB 
• Supported by Zend. 
• Provides the whole familiar Zend Server GUI. 
• Provides a consistent experience between CF and other 
cloud delivery models (IaaS, patterns) 
• Provides Zend value add: Z-Ray, monitoring, performance, 
audit trail, job queue 
• Requires MySQL
Pushing an app with a specific buildpack 
§ Pivotal 
§ cf push my-php-app -b https://github.com/dmikusa-pivotal/cf-php-build-pack.git 
§ Heroku 
§ cf push my-php-app -b https://github.com/cloudfoundry/php-buildpack.git 
§ Zend 
§ cf push my-php-app -b https://github.com/zendtech/zend-server-php-buildpack-bluemix.git 
§ All support configuration options, but you can also fork one of these and 
make your own!
Agenda 
§ Cloud 101 
§ Introducing Cloud Foundry 
§ Demo: Simple PHP app push and MySQL bind 
§ Services in Cloud Foundry 
§ Buildpacks in Cloud Foundry 
§ Demo: Scaling and zero downtime deploys 
§ Considerations for designing PHP apps for the cloud 
§ Demo: Cross-origin resource sharing in microservices 
§ Where to go from here 
! 
$ cf scale my-php-app –i 300
Demo 3: Scaling your PHP app up and down 
§ cf scale meetup-cf-php-1 -i 3 (scale our app up to 3 instances) 
§ cf app meetup-cf-php-1 (view the status of the new instances) 
§ Load page in browser: http://meetup-cf-php-1.mybluemix.net 
§ Reload several times and watch the hostname change (three will alternate) 
§ cf scale meetup-cf-php-1 -i 2 (scale our app down to 2 instances) 
§ cf app meetup-cf-php-1 (view the status of the new instances)
Demo 4: Zero downtime deploys 
§ Clone meetup-cf-php-3 from https://github.com/krook/meetup-cf-php-3.git 
§ cf push meetup-cf-php-blue 
§ Load page in browser: http://meetup-cf-php-blue.mybluemix.net 
§ cf apps (view the status of the one blue Version 1 instance) 
§ cf rename meetup-cf-php-blue meetup-cf-php-green 
§ cf apps (view the status of the one renamed green Version 1 instance) 
§ Update code to Version 2 
§ cf push 
§ cf apps (view the status of the blue instance (V2) and green instance (V1) mapped to same domain) 
§ Reload page in browser several times to see the alternating versions: http://meetup-cf-php-blue.mybluemix.net 
§ cf delete meetup-cf-php-green –f (delete the old green (v1) instance, routing all traffic to blue (V2)) 
§ Reload page in browser several times to see the new version only: http://meetup-cf-php-blue.mybluemix.net 
!
Agenda 
§ Cloud 101 
§ Introducing Cloud Foundry 
§ Demo: Simple PHP app push and MySQL bind 
§ Services in Cloud Foundry 
§ Buildpacks in Cloud Foundry 
§ Demo: Scaling and zero downtime deploys 
§ Considerations for designing PHP apps for the cloud 
§ Demo: Cross-origin resource sharing in microservices 
§ Where to go from here 
!
Best practices for microservices architectures 
12factor.net! 
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 significant 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).
Designing apps for the cloud: PaaS best practices 
Following these guidelines makes an application cloud-friendly, and facilitates deployment to Cloud Foundry and other cloud platforms. 
§ Avoid writing to the local filesystem 
§ Local file system storage is short-lived 
Your application can write local files while it is running, the files will disappear after the application restarts. 
§ Instances of the same application do not share a local file system 
Each application instance runs in its own isolated container. Thus a file 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 !
Pitfall: cross-origin resource sharing (CORS) 
As you break monolithic apps into discrete services that are aggregated by a JavaScript front-end, you’ll likely run into an issue with the 
sandbox environment of the browser. Standard HTTP headers provide a way to overcome this limitation (http://bit.ly/cf-cors). 
http://js-front-end.example.com 
http://service-1.example.com 
http://www.example.com/service-1 
http://www.example.com/service-2 
http://www.example.com/service-3 
http://service-2.example.com 
http://service-3.example.com
Agenda 
§ Cloud 101 
§ Introducing Cloud Foundry 
§ Demo: Simple PHP app push and MySQL bind 
§ Services in Cloud Foundry 
§ Buildpacks in Cloud Foundry 
§ Demo: Scaling and zero downtime deploys 
§ Considerations for designing PHP apps for the cloud 
§ Demo: Cross-origin resource sharing in microservices 
§ Where to go from here 
!
Demo 5: Breaking a monolithic app into microservices 
§ http://krook-service-consumer.mybluemix.net 
§ http://krook-service-provider.mybluemix.net/non-cors-provider! 
§ http://krook-service-provider.mybluemix.net/cors-provider! 
!
More complex PHP apps on Cloud Foundry 
. 
§ WordPress 
§ http://bit.ly/cf-wp-zend 
§ http://bit.ly/cf-wp-jstart 
§ Symfony 
§ http://bit.ly/cf-symfony 
§ Laravel 
§ http://bit.ly/cf-laravel 
§ RESTful web services 
§ http://bit.ly/cf-rest 
§ Piwik 
§ http://bit.ly/cf-piwik
Agenda 
§ Cloud 101 
§ Introducing Cloud Foundry 
§ Demo: Simple PHP app push and MySQL bind 
§ Services in Cloud Foundry 
§ Buildpacks in Cloud Foundry 
§ Demo: Scaling and zero downtime deploys 
§ Considerations for designing PHP apps for the cloud 
§ Demo: Cross-origin resource sharing in microservices 
§ Where to go from here 
!
Getting started with Cloud Foundry 
Basics 
§ Trial accounts with hosted providers 
http://bluemix.net 
http://run.pivotal.io 
§ Cloud Foundry documentation 
http://docs.cloudfoundry.org 
§ Cloud Foundry community 
http://cloudfoundry.org 
§ Cloud Foundry on GitHub 
https://github.com/cloudfoundry 
Advanced 
§ “Try Cloud Foundry” on AWS 
https://trycf.starkandwayne.com 
§ BOSH bootstrap 
https://github.com/cloudfoundry-community/bosh-bootstrap 
§ Deploy your own to AWS 
http://www.slideshare.net/SpringCentral/build-yourowncf 
http://docs.cloudfoundry.org/deploying/ec2/ 
§ Install on on a laptop 
https://github.com/cloudfoundry/bosh-lite 
https://github.com/yudai/cf_nise_installer 
§ Stackato Micro Cloud 
http://www.activestate.com/stackato/get_stackato
Cloud Foundry for PHP developers! 
Deploy apps built with the leading open source language 
to the leading open source Platform-as-a-Service 
‹#› 
Daniel Krook! 
Senior Certified IT Specialist, IBM" 
@danielkrook

More Related Content

What's hot

Cloud Foundry Introduction and Overview
Cloud Foundry Introduction and OverviewCloud Foundry Introduction and Overview
Cloud Foundry Introduction and OverviewAndy Piper
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipMatt Stine
 
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 FoundryManuel Silveyra
 
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsMonitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsNima Badiey
 
Cloud Foundry Diego, Lattice, Docker and more
Cloud Foundry Diego, Lattice, Docker and moreCloud Foundry Diego, Lattice, Docker and more
Cloud Foundry Diego, Lattice, Docker and morecornelia davis
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 
Automated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStackAutomated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStackAnimesh Singh
 
Cloud foundry presentation
Cloud foundry presentation Cloud foundry presentation
Cloud foundry presentation Vivek Parihar
 
Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209minseok kim
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateAnimesh Singh
 
Moving at the speed of startup with Pivotal Cloud Foundry 1.11
Moving at the speed of startup with Pivotal Cloud Foundry 1.11Moving at the speed of startup with Pivotal Cloud Foundry 1.11
Moving at the speed of startup with Pivotal Cloud Foundry 1.11VMware Tanzu
 
Multi-Cloud Micro-Services with CloudFoundry
Multi-Cloud Micro-Services with CloudFoundryMulti-Cloud Micro-Services with CloudFoundry
Multi-Cloud Micro-Services with CloudFoundrygeekclub888
 
Cloud Foundry a Developer's Perspective
Cloud Foundry a Developer's PerspectiveCloud Foundry a Developer's Perspective
Cloud Foundry a Developer's PerspectiveDave McCrory
 
Cloudfoundry architecture
Cloudfoundry architectureCloudfoundry architecture
Cloudfoundry architectureRamnivas Laddad
 
Running your Spring Apps in the Cloud Javaone 2014
Running your Spring Apps in the Cloud Javaone 2014Running your Spring Apps in the Cloud Javaone 2014
Running your Spring Apps in the Cloud Javaone 2014cornelia davis
 
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...cornelia davis
 
How to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCFHow to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCFVMware Tanzu
 
Cloud Foundry Introduction (w Demo) at Silicon Valley Code Camp
Cloud Foundry Introduction (w Demo) at Silicon Valley Code CampCloud Foundry Introduction (w Demo) at Silicon Valley Code Camp
Cloud Foundry Introduction (w Demo) at Silicon Valley Code Campcornelia davis
 

What's hot (20)

Cloud Foundry Introduction and Overview
Cloud Foundry Introduction and OverviewCloud Foundry Introduction and Overview
Cloud Foundry Introduction and Overview
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
 
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
 
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsMonitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
 
Cloud Foundry Diego, Lattice, Docker and more
Cloud Foundry Diego, Lattice, Docker and moreCloud Foundry Diego, Lattice, Docker and more
Cloud Foundry Diego, Lattice, Docker and more
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
Automated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStackAutomated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStack
 
Cloud foundry presentation
Cloud foundry presentation Cloud foundry presentation
Cloud foundry presentation
 
Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
 
Cloud foundry
Cloud foundryCloud foundry
Cloud foundry
 
Moving at the speed of startup with Pivotal Cloud Foundry 1.11
Moving at the speed of startup with Pivotal Cloud Foundry 1.11Moving at the speed of startup with Pivotal Cloud Foundry 1.11
Moving at the speed of startup with Pivotal Cloud Foundry 1.11
 
Multi-Cloud Micro-Services with CloudFoundry
Multi-Cloud Micro-Services with CloudFoundryMulti-Cloud Micro-Services with CloudFoundry
Multi-Cloud Micro-Services with CloudFoundry
 
Cloud Foundry a Developer's Perspective
Cloud Foundry a Developer's PerspectiveCloud Foundry a Developer's Perspective
Cloud Foundry a Developer's Perspective
 
An introduction to Cloud Foundry
An introduction to Cloud FoundryAn introduction to Cloud Foundry
An introduction to Cloud Foundry
 
Cloudfoundry architecture
Cloudfoundry architectureCloudfoundry architecture
Cloudfoundry architecture
 
Running your Spring Apps in the Cloud Javaone 2014
Running your Spring Apps in the Cloud Javaone 2014Running your Spring Apps in the Cloud Javaone 2014
Running your Spring Apps in the Cloud Javaone 2014
 
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...
 
How to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCFHow to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCF
 
Cloud Foundry Introduction (w Demo) at Silicon Valley Code Camp
Cloud Foundry Introduction (w Demo) at Silicon Valley Code CampCloud Foundry Introduction (w Demo) at Silicon Valley Code Camp
Cloud Foundry Introduction (w Demo) at Silicon Valley Code Camp
 

Viewers also liked

Introduction into Cloud Foundry and Bosh | anynines
Introduction into Cloud Foundry and Bosh | anyninesIntroduction into Cloud Foundry and Bosh | anynines
Introduction into Cloud Foundry and Bosh | anyninesanynines GmbH
 
Cloud Foundryは何故動くのか
Cloud Foundryは何故動くのかCloud Foundryは何故動くのか
Cloud Foundryは何故動くのかKazuto Kusama
 
Bluemix and DevOps workshop lab
Bluemix and DevOps workshop labBluemix and DevOps workshop lab
Bluemix and DevOps workshop labbenm4nn
 
How does the Cloud Foundry Diego Project Run at Scale?
How does the Cloud Foundry Diego Project Run at Scale?How does the Cloud Foundry Diego Project Run at Scale?
How does the Cloud Foundry Diego Project Run at Scale?VMware Tanzu
 
今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_k今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_kToshiaki Maki
 

Viewers also liked (6)

Introduction into Cloud Foundry and Bosh | anynines
Introduction into Cloud Foundry and Bosh | anyninesIntroduction into Cloud Foundry and Bosh | anynines
Introduction into Cloud Foundry and Bosh | anynines
 
Cloud Foundryは何故動くのか
Cloud Foundryは何故動くのかCloud Foundryは何故動くのか
Cloud Foundryは何故動くのか
 
Bluemix and DevOps workshop lab
Bluemix and DevOps workshop labBluemix and DevOps workshop lab
Bluemix and DevOps workshop lab
 
How does the Cloud Foundry Diego Project Run at Scale?
How does the Cloud Foundry Diego Project Run at Scale?How does the Cloud Foundry Diego Project Run at Scale?
How does the Cloud Foundry Diego Project Run at Scale?
 
GO-CFを試してみる
GO-CFを試してみるGO-CFを試してみる
GO-CFを試してみる
 
今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_k今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_k
 

Similar to Cloud Foundry for PHP developers

DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics sbbabu
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonVMware Tanzu
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native BootcampVMware Tanzu
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesPatrick Chanezon
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...Ludovic Piot
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixIBM
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los AngelesVMware Tanzu
 
Review: Cloud Foundry brings power and polish to PaaS
Review: Cloud Foundry brings power and polish to PaaSReview: Cloud Foundry brings power and polish to PaaS
Review: Cloud Foundry brings power and polish to PaaSVMware Tanzu
 
Open Stack Cloud Services
Open Stack Cloud ServicesOpen Stack Cloud Services
Open Stack Cloud ServicesSaurabh Gupta
 
quickguide-einnovator-4-cloudfoundry
quickguide-einnovator-4-cloudfoundryquickguide-einnovator-4-cloudfoundry
quickguide-einnovator-4-cloudfoundryjorgesimao71
 
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling CloudsElevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling CloudsMichael Elder
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Phil Estes
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudLauren Hayward Schaefer
 
Microservices approach for Websphere commerce
Microservices approach for Websphere commerceMicroservices approach for Websphere commerce
Microservices approach for Websphere commerceHARIHARAN ANANTHARAMAN
 
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment ToolkitBret Piatt
 
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 GovernmentAmazon Web Services
 
Developing Hybrid Cloud Applications
Developing Hybrid Cloud ApplicationsDeveloping Hybrid Cloud Applications
Developing Hybrid Cloud ApplicationsDaniel Berg
 

Similar to Cloud Foundry for PHP developers (20)

DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & Bluemix
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Review: Cloud Foundry brings power and polish to PaaS
Review: Cloud Foundry brings power and polish to PaaSReview: Cloud Foundry brings power and polish to PaaS
Review: Cloud Foundry brings power and polish to PaaS
 
Open Stack Cloud Services
Open Stack Cloud ServicesOpen Stack Cloud Services
Open Stack Cloud Services
 
quickguide-einnovator-4-cloudfoundry
quickguide-einnovator-4-cloudfoundryquickguide-einnovator-4-cloudfoundry
quickguide-einnovator-4-cloudfoundry
 
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling CloudsElevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?
 
PaaSVSContainerization
PaaSVSContainerizationPaaSVSContainerization
PaaSVSContainerization
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
 
Microservices approach for Websphere commerce
Microservices approach for Websphere commerceMicroservices approach for Websphere commerce
Microservices approach for Websphere commerce
 
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment Toolkit
 
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
 
App Service Web
App Service WebApp Service Web
App Service Web
 
Developing Hybrid Cloud Applications
Developing Hybrid Cloud ApplicationsDeveloping Hybrid Cloud Applications
Developing Hybrid Cloud Applications
 

More from Daniel Krook

Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...Daniel Krook
 
Engaging Open Source Developers to Develop Tech for Good through Code and Res...
Engaging Open Source Developers to Develop Tech for Good through Code and Res...Engaging Open Source Developers to Develop Tech for Good through Code and Res...
Engaging Open Source Developers to Develop Tech for Good through Code and Res...Daniel Krook
 
COVID-19 and Climate Change Action Through Open Source Technology
COVID-19 and Climate Change Action Through Open Source TechnologyCOVID-19 and Climate Change Action Through Open Source Technology
COVID-19 and Climate Change Action Through Open Source TechnologyDaniel Krook
 
Serverless APIs with Apache OpenWhisk
Serverless APIs with Apache OpenWhiskServerless APIs with Apache OpenWhisk
Serverless APIs with Apache OpenWhiskDaniel Krook
 
Workshop: Develop Serverless Applications with IBM Cloud Functions
Workshop: Develop Serverless Applications with IBM Cloud FunctionsWorkshop: Develop Serverless Applications with IBM Cloud Functions
Workshop: Develop Serverless Applications with IBM Cloud FunctionsDaniel Krook
 
Event specifications, state of the serverless landscape, and other news from ...
Event specifications, state of the serverless landscape, and other news from ...Event specifications, state of the serverless landscape, and other news from ...
Event specifications, state of the serverless landscape, and other news from ...Daniel Krook
 
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at SantanderServerless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at SantanderDaniel Krook
 
The CNCF on Serverless
The CNCF on ServerlessThe CNCF on Serverless
The CNCF on ServerlessDaniel Krook
 
Building serverless applications with Apache OpenWhisk and IBM Cloud Functions
Building serverless applications with Apache OpenWhisk and IBM Cloud FunctionsBuilding serverless applications with Apache OpenWhisk and IBM Cloud Functions
Building serverless applications with Apache OpenWhisk and IBM Cloud FunctionsDaniel Krook
 
Building serverless applications with Apache OpenWhisk
Building serverless applications with Apache OpenWhiskBuilding serverless applications with Apache OpenWhisk
Building serverless applications with Apache OpenWhiskDaniel Krook
 
Containers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment optionsContainers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment optionsDaniel Krook
 
Serverless architectures built on an open source platform
Serverless architectures built on an open source platformServerless architectures built on an open source platform
Serverless architectures built on an open source platformDaniel Krook
 
Build a cloud native app with OpenWhisk
Build a cloud native app with OpenWhiskBuild a cloud native app with OpenWhisk
Build a cloud native app with OpenWhiskDaniel Krook
 
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...Daniel Krook
 
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Daniel Krook
 
Serverless apps with OpenWhisk
Serverless apps with OpenWhiskServerless apps with OpenWhisk
Serverless apps with OpenWhiskDaniel Krook
 
OpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven appsOpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven appsDaniel Krook
 
Containers, OCI, CNCF, Magnum, Kuryr, and You!
Containers, OCI, CNCF, Magnum, Kuryr, and You!Containers, OCI, CNCF, Magnum, Kuryr, and You!
Containers, OCI, CNCF, Magnum, Kuryr, and You!Daniel Krook
 
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayerTaking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayerDaniel Krook
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...Daniel Krook
 

More from Daniel Krook (20)

Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
 
Engaging Open Source Developers to Develop Tech for Good through Code and Res...
Engaging Open Source Developers to Develop Tech for Good through Code and Res...Engaging Open Source Developers to Develop Tech for Good through Code and Res...
Engaging Open Source Developers to Develop Tech for Good through Code and Res...
 
COVID-19 and Climate Change Action Through Open Source Technology
COVID-19 and Climate Change Action Through Open Source TechnologyCOVID-19 and Climate Change Action Through Open Source Technology
COVID-19 and Climate Change Action Through Open Source Technology
 
Serverless APIs with Apache OpenWhisk
Serverless APIs with Apache OpenWhiskServerless APIs with Apache OpenWhisk
Serverless APIs with Apache OpenWhisk
 
Workshop: Develop Serverless Applications with IBM Cloud Functions
Workshop: Develop Serverless Applications with IBM Cloud FunctionsWorkshop: Develop Serverless Applications with IBM Cloud Functions
Workshop: Develop Serverless Applications with IBM Cloud Functions
 
Event specifications, state of the serverless landscape, and other news from ...
Event specifications, state of the serverless landscape, and other news from ...Event specifications, state of the serverless landscape, and other news from ...
Event specifications, state of the serverless landscape, and other news from ...
 
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at SantanderServerless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
 
The CNCF on Serverless
The CNCF on ServerlessThe CNCF on Serverless
The CNCF on Serverless
 
Building serverless applications with Apache OpenWhisk and IBM Cloud Functions
Building serverless applications with Apache OpenWhisk and IBM Cloud FunctionsBuilding serverless applications with Apache OpenWhisk and IBM Cloud Functions
Building serverless applications with Apache OpenWhisk and IBM Cloud Functions
 
Building serverless applications with Apache OpenWhisk
Building serverless applications with Apache OpenWhiskBuilding serverless applications with Apache OpenWhisk
Building serverless applications with Apache OpenWhisk
 
Containers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment optionsContainers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment options
 
Serverless architectures built on an open source platform
Serverless architectures built on an open source platformServerless architectures built on an open source platform
Serverless architectures built on an open source platform
 
Build a cloud native app with OpenWhisk
Build a cloud native app with OpenWhiskBuild a cloud native app with OpenWhisk
Build a cloud native app with OpenWhisk
 
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
 
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
 
Serverless apps with OpenWhisk
Serverless apps with OpenWhiskServerless apps with OpenWhisk
Serverless apps with OpenWhisk
 
OpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven appsOpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven apps
 
Containers, OCI, CNCF, Magnum, Kuryr, and You!
Containers, OCI, CNCF, Magnum, Kuryr, and You!Containers, OCI, CNCF, Magnum, Kuryr, and You!
Containers, OCI, CNCF, Magnum, Kuryr, and You!
 
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayerTaking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 

Recently uploaded

Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesSanjay Willie
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Recently uploaded (20)

Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Cloud Foundry for PHP developers

  • 1. Cloud Foundry for PHP developers! Deploy apps built with the leading open source language to the leading open source Platform-as-a-Service ‹#› Daniel Krook! Senior Certified IT Specialist, IBM" @DanielKrook
  • 2. Agenda § Cloud 101! ! § Introducing Cloud Foundry! ! § Demo: Simple PHP app push and MySQL bind! § Services in Cloud Foundry! § Buildpacks in Cloud Foundry! § Demo: Scaling and zero downtime deploys! § Considerations for designing PHP apps for the cloud! § Demo: Cross-origin resource sharing in microservices! § Where to go from here! ! github.com/krook ! slideshare.net/danielkrook !
  • 3. Agenda § Cloud 101 § Introducing Cloud Foundry § Demo: Simple PHP app push and MySQL bind § Services in Cloud Foundry § Buildpacks in Cloud Foundry § Demo: Scaling and zero downtime deploys § Considerations for designing PHP apps for the cloud § Demo: Cross-origin resource sharing in microservices § Where to go from here ! Software defined environments! Cloud operating environment! API economy!
  • 4. Software defined environments!Cloud operating environment!API economy! Infrastructure! Platform! Software! Applications! Data! Runtime! Middleware! O/S! Virtualization! Servers! Storage! Applications! Data! Runtime! Middleware! O/S! Virtualization! Servers! Storage! Sys admin (Ops)! App builder (Dev)! Business user (Biz)! Standardization; lower costs; faster time to value! Traditional ! on premise! Applications! Data! Runtime! Middleware! O/S! Virtualization! Servers! Storage! Networking! Networking! Networking! Applications! Data! Runtime! Middleware! O/S! Virtualization! Servers! Storage! Networking! Client manages!Vendor manages in cloud!
  • 5. IaaS: the software defined data center Software defined environments! Infrastructure! Applications! Data! Runtime! Middleware! O/S! Virtualization! Servers! Storage! Networking! Ops!
  • 6. PaaS: the cloud operating environment Cloud operating environment! Platform! Applications! Data! Runtime! Middleware! O/S! Virtualization! Servers! Storage! Networking! Dev!
  • 7. SaaS: the API economy API economy! Software! Applications! Data! Runtime! Middleware! O/S! Virtualization! Servers! Storage! Networking! Biz! OAuth
  • 8. The key benefits of Platform-as-a-Service 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. And the key disadvantages § 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.
  • 9. Agenda § Cloud 101 § Introducing Cloud Foundry § Demo: Simple PHP app push and MySQL bind § Services in Cloud Foundry § Buildpacks in Cloud Foundry § Demo: Scaling and zero downtime deploys § Considerations for designing PHP apps for the cloud § Demo: Cross-origin resource sharing in microservices § Where to go from here !
  • 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
  • 11. Frameworks and services lend Cloud Foundry its extensibility Buildpacks (implement frameworks for apps) detect compile release package The detect script is used to determine whether or not to apply the buildpack to an application. The compile script builds the droplet that will be run by the DEA and will therefore contain all the components necessary to run the application. The release script provides feedback metadata back to Cloud Foundry indicating how the application should be executed. The package script provides artifacts, which are provided to Cloud Foundry as system buildpacks. package is intended to provide a way for developers to package a buildpack with its dependencies. Brokered services (implement an API to provide services) fetch provision bind
  • 12. Cloud Foundry is built on a highly scalable distributed architecture Routes incoming traffic to the appropriate component; generally the Cloud Controller or application Identity management service for the platform. Acts as an OAuth2 and SCIM provider. Monitors the state of applications and ensures that the correct number of instances are running Exposes a REST API to the system. Manages a database of apps, services, service instances, etc End user provided code that is “pushed” to the cloud and packaged to run in warden container Advertises service offerings to the Cloud Controller and handles requests to create, bind, unbind, and delete service instances. Managed by the service gateway, these nodes host service instances. A broker that can expose a service instance to a service managed outside of the cloud A collection of code that is responsible for transforming pushed app artifacts into a ready to run droplet A pub-sub message bus implemented with NATS that’s used for cross component communication Droplet Execution Agent – Advertises capacity to execute droplets created by a build pack A distributed deployment install and management tool that abstracts the details of the IaaS layer
  • 13. Components collaborate via messaging and REST APIs
  • 14. BOSH deploys and manages Cloud Foundry clusters on an IaaS Deployment Manifest • Release name/version • # VMs, Job params • Stemcells to use Stemcell • Base OS • BOSH Agent Release • Name Jobs • Software Packages • Config Templates • Scripts Deployed Environment irtual Machine • Configuration • Software Packages Virtual Machine • Configuration • Software Packages Virtual Machine • Configuration • Software Packages Virtual Machine • Configuration • Software Packages Stemcells In a cloud platform, VMs are usually cloned from a template. A stemcell is a VM template containing a standard Ubuntu distribution. A BOSH agent is also embedded in the template so that BOSH can take control of VMs cloned from the stemcell. Jobs A job is a collection of software which serves a particular purpose (e.g. MySQL or the Cloud Controller). At deployment time, each job will be install on its own stemcell VM. Releases A release contains a number of jobs which can be deployed into the target environment. A deployment can consist of more than one release and not every job in a release must be deployed.
  • 15. The BOSH Cloud Provider Interface (CPI) manages the IaaS resources that Cloud Foundry needs Stemcells create_stemcell(image, cloud_properties) delete_stemcell(stemcell) Virtual Machines create_vm(agent_id, stemcell, resource_pool, networks, disk_locality, env) delete_vm(vm) reboot_vm(vm) configure_networks(vm, networks) Disks create_disk(size, vm_locality) delete_disk(disk) attach_disk(vm, disk) detach_disk(vm, disk)
  • 16. Cloud Foundry distributions Hosted public § IBM Bluemix http://bluemix.net § Pivotal WS http://run.pivotal.io Self hosting § “Try Cloud Foundry” on AWS https://trycf.starkandwayne.com § BOSH bootstrap https://github.com/cloudfoundry-community/bosh-bootstrap § Deploy your own to AWS http://www.slideshare.net/SpringCentral/build-yourowncf http://docs.cloudfoundry.org/deploying/ec2/ § Install on on a laptop https://github.com/cloudfoundry/bosh-lite https://github.com/yudai/cf_nise_installer § Stackato Micro Cloud http://www.activestate.com/stackato/get_stackato Private § Pivotal CF http://run.pivotal.io
  • 17. The Cloud Foundry Foundation
  • 18. Cloud Foundry versus other Platforms-as-a-Service http://paasify.it http://bit.ly/pivotal-paas-compare ! http://bit.ly/altoros-paas-compare !
  • 19. What about Docker? There are several projects underway to leverage Docker to host the Cloud Foundry PaaS, as well as the applications that run on it.
  • 20. Agenda § Cloud 101 § Introducing Cloud Foundry § Demo: Simple PHP app push and MySQL bind § Services in Cloud Foundry § Buildpacks in Cloud Foundry § Demo: Scaling and zero downtime deploys § Considerations for designing PHP apps for the cloud § Demo: Cross-origin resource sharing in microservices § Where to go from here ! $ cf push my-php-app
  • 21. Demo 1: PHP app push and debug § Download the Cloud Foundry CLI, log in and target your cloud § Clone meetup-cf-php-1 from https://github.com/krook/meetup-cf-php-1.git § Create index.php with syntax error § cf push meetup-cf-php-1 -m 128M -b https://github.com/dmikusa-pivotal/cf-php-build-pack.git § Load page in browser: http://meetup-cf-php-1.mybluemix.net § cf logs meetup-cf-php-1 --recent § Fix syntax error in index.php! § cf push meetup-cf-php-1 § Load page in browser: http://meetup-cf-php-1.mybluemix.net
  • 22. Demo 2: PHP app push and bind to MySQL § Clone meetup-cf-php-2 from https://github.com/krook/meetup-cf-php-2.git § cf push (uses the manifest.yml settings) § Load page in browser: http://meetup-cf-php-2.mybluemix.net § cf marketplace (view the services catalog) § cf create-service mysql 100 meetup-cf-mysql (provision a MySQL service) § cf services (view my service instances) § cf bind-service meetup-cf-php-2 meetup-cf-mysql (bind the MySQL instance to my PHP app) § cf restage meetup-cf-php-2 (make the service available in my VCAP_SERVICES env variable) § Load page in browser: http://meetup-cf-php-2.mybluemix.net
  • 23. Agenda § Cloud 101 § Introducing Cloud Foundry § Demo: Simple PHP app push and MySQL bind § Services in Cloud Foundry § Buildpacks in Cloud Foundry § Demo: Scaling and zero downtime deploys § Considerations for designing PHP apps for the cloud § Demo: Cross-origin resource sharing in microservices § Where to go from here ! $ cf bind-service my-php-app mysql-srv
  • 24. Cloud Foundry provides several community services
  • 25. More services can be added with the Cloud Foundry service broker API
  • 26. Cloud Foundry provides the framework to bind services to your apps
  • 27. Sample service catalog from Cloud Foundry hosted providers IBM Bluemix (bluemix.net)! Pivotal WS (run.pivotal.io)! In addition to a catalog of data, queue, mail, log, push services, providers may offer auto-scaling and DevOps integration
  • 28. Agenda § Cloud 101 § Introducing Cloud Foundry § Demo: Simple PHP app push and MySQL bind § Services in Cloud Foundry § Buildpacks in Cloud Foundry § Demo: Scaling and zero downtime deploys § Considerations for designing PHP apps for the cloud § Demo: Cross-origin resource sharing in microservices § Where to go from here ! $ cf push my-php-app –b git://…my-bp.git
  • 29. The Cloud Foundry Heroku buildpack model Buildpacks implement execution environments for apps. They can be either a raw language (Java), or with frameworks (Spring, servlet, standalone). When pushed, the entire application is encapsulated into a “droplet” and is run in an isolated Linux container on the pool of “droplet execution agents.” bin/detect The detect script is used to determine whether or not to apply the buildpack to an application. bin/compile The compile script builds the droplet that will be run by the DEA and will therefore contain all the components necessary to run the application. bin/release The release script provides feedback metadata back to Cloud Foundry indicating how the application should be executed. bin/package The package script provides artifacts, which are provided to Cloud Foundry as system buildpacks. package is intended to provide a way for developers to package a buildpack with its dependencies. Scripts can be written in a variety of languages (bash, Python, Ruby, etc.)
  • 30. Comparing the popular PHP buildpacks Source PHP version (default) Web server (default) Extensions (default) Memory (minimum) Notes Pivotal (Dan Mikusa) 5.4 (Latest 5.5 and 5.6 also supported) Apache (nginx and standalone apps also supported) Minimal set to start, lots of extensions supported and can be specified. 96 MB • Created from the ground up for Cloud Foundry, no Heroku legacy code • Supports offline mode • Supports Composer, but doesn’t require it • Very configurable (options.json). • Very actively improved and kept up to date. • Optimized to download as little as possible • Supports a wider variety of Ubuntu stem cells • Supports latest stable PHP 5.4, 5.5, 5.6 • Known to work with popular frameworks, such as CodeIgniter and Phalcon • Lots of samples • Supports other running processes • Apache 2 license Heroku (David Zuelke) 5.5 Apache (nginx also supported) Minimal 128 MB • Forked from Heroku, still compatible with Heroku • Supports offline mode • Requires you use Composer (or fake it) for dependencies • MIT license • Known to work with popular projects like WordPress • Will be built in to future versions of Cloud Foundry Zend 5.4 (Long term support through Zend Server 7) Apache All the same available in Zend Server 7 512 MB • Supported by Zend. • Provides the whole familiar Zend Server GUI. • Provides a consistent experience between CF and other cloud delivery models (IaaS, patterns) • Provides Zend value add: Z-Ray, monitoring, performance, audit trail, job queue • Requires MySQL
  • 31. Pushing an app with a specific buildpack § Pivotal § cf push my-php-app -b https://github.com/dmikusa-pivotal/cf-php-build-pack.git § Heroku § cf push my-php-app -b https://github.com/cloudfoundry/php-buildpack.git § Zend § cf push my-php-app -b https://github.com/zendtech/zend-server-php-buildpack-bluemix.git § All support configuration options, but you can also fork one of these and make your own!
  • 32. Agenda § Cloud 101 § Introducing Cloud Foundry § Demo: Simple PHP app push and MySQL bind § Services in Cloud Foundry § Buildpacks in Cloud Foundry § Demo: Scaling and zero downtime deploys § Considerations for designing PHP apps for the cloud § Demo: Cross-origin resource sharing in microservices § Where to go from here ! $ cf scale my-php-app –i 300
  • 33. Demo 3: Scaling your PHP app up and down § cf scale meetup-cf-php-1 -i 3 (scale our app up to 3 instances) § cf app meetup-cf-php-1 (view the status of the new instances) § Load page in browser: http://meetup-cf-php-1.mybluemix.net § Reload several times and watch the hostname change (three will alternate) § cf scale meetup-cf-php-1 -i 2 (scale our app down to 2 instances) § cf app meetup-cf-php-1 (view the status of the new instances)
  • 34. Demo 4: Zero downtime deploys § Clone meetup-cf-php-3 from https://github.com/krook/meetup-cf-php-3.git § cf push meetup-cf-php-blue § Load page in browser: http://meetup-cf-php-blue.mybluemix.net § cf apps (view the status of the one blue Version 1 instance) § cf rename meetup-cf-php-blue meetup-cf-php-green § cf apps (view the status of the one renamed green Version 1 instance) § Update code to Version 2 § cf push § cf apps (view the status of the blue instance (V2) and green instance (V1) mapped to same domain) § Reload page in browser several times to see the alternating versions: http://meetup-cf-php-blue.mybluemix.net § cf delete meetup-cf-php-green –f (delete the old green (v1) instance, routing all traffic to blue (V2)) § Reload page in browser several times to see the new version only: http://meetup-cf-php-blue.mybluemix.net !
  • 35. Agenda § Cloud 101 § Introducing Cloud Foundry § Demo: Simple PHP app push and MySQL bind § Services in Cloud Foundry § Buildpacks in Cloud Foundry § Demo: Scaling and zero downtime deploys § Considerations for designing PHP apps for the cloud § Demo: Cross-origin resource sharing in microservices § Where to go from here !
  • 36. Best practices for microservices architectures 12factor.net! 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 significant 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).
  • 37. Designing apps for the cloud: PaaS best practices Following these guidelines makes an application cloud-friendly, and facilitates deployment to Cloud Foundry and other cloud platforms. § Avoid writing to the local filesystem § Local file system storage is short-lived Your application can write local files while it is running, the files will disappear after the application restarts. § Instances of the same application do not share a local file system Each application instance runs in its own isolated container. Thus a file 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 !
  • 38. Pitfall: cross-origin resource sharing (CORS) As you break monolithic apps into discrete services that are aggregated by a JavaScript front-end, you’ll likely run into an issue with the sandbox environment of the browser. Standard HTTP headers provide a way to overcome this limitation (http://bit.ly/cf-cors). http://js-front-end.example.com http://service-1.example.com http://www.example.com/service-1 http://www.example.com/service-2 http://www.example.com/service-3 http://service-2.example.com http://service-3.example.com
  • 39. Agenda § Cloud 101 § Introducing Cloud Foundry § Demo: Simple PHP app push and MySQL bind § Services in Cloud Foundry § Buildpacks in Cloud Foundry § Demo: Scaling and zero downtime deploys § Considerations for designing PHP apps for the cloud § Demo: Cross-origin resource sharing in microservices § Where to go from here !
  • 40. Demo 5: Breaking a monolithic app into microservices § http://krook-service-consumer.mybluemix.net § http://krook-service-provider.mybluemix.net/non-cors-provider! § http://krook-service-provider.mybluemix.net/cors-provider! !
  • 41. More complex PHP apps on Cloud Foundry . § WordPress § http://bit.ly/cf-wp-zend § http://bit.ly/cf-wp-jstart § Symfony § http://bit.ly/cf-symfony § Laravel § http://bit.ly/cf-laravel § RESTful web services § http://bit.ly/cf-rest § Piwik § http://bit.ly/cf-piwik
  • 42. Agenda § Cloud 101 § Introducing Cloud Foundry § Demo: Simple PHP app push and MySQL bind § Services in Cloud Foundry § Buildpacks in Cloud Foundry § Demo: Scaling and zero downtime deploys § Considerations for designing PHP apps for the cloud § Demo: Cross-origin resource sharing in microservices § Where to go from here !
  • 43. Getting started with Cloud Foundry Basics § Trial accounts with hosted providers http://bluemix.net http://run.pivotal.io § Cloud Foundry documentation http://docs.cloudfoundry.org § Cloud Foundry community http://cloudfoundry.org § Cloud Foundry on GitHub https://github.com/cloudfoundry Advanced § “Try Cloud Foundry” on AWS https://trycf.starkandwayne.com § BOSH bootstrap https://github.com/cloudfoundry-community/bosh-bootstrap § Deploy your own to AWS http://www.slideshare.net/SpringCentral/build-yourowncf http://docs.cloudfoundry.org/deploying/ec2/ § Install on on a laptop https://github.com/cloudfoundry/bosh-lite https://github.com/yudai/cf_nise_installer § Stackato Micro Cloud http://www.activestate.com/stackato/get_stackato
  • 44. Cloud Foundry for PHP developers! Deploy apps built with the leading open source language to the leading open source Platform-as-a-Service ‹#› Daniel Krook! Senior Certified IT Specialist, IBM" @danielkrook

Editor's Notes

  1. 12factor.net (http://12factor.net) Martin Fowler on Microservices Architecture (http://martinfowler.com/articles/microservices.html) ActiveState blog (http://www.activestate.com/blog/2014/08/microservices-and-paas-part-i) Matt Stine’s CF Summit presentation (http://www.slideshare.net/mstine/microservices-cf-summit)
  2. http://docs.cloudfoundry.org/devguide/deploy-apps/prepare-to-deploy.html
  3. As you decompose monolithic applications and have them interact over REST APIs, you may run into an issue on PaaS which relies on subdomains. CORS. https://developer.ibm.com/bluemix/2014/07/17/cross-origin-resource-sharing-bluemix-apis/