Cloud Deployment Toolkits
Mitch Pirtle

International PHP Conference, Berlin 2014
–Some Poor Sucker, circa 2000-2010
“I’m off to the cloud.”
What this talk is about
Cloud deployment scenarios
Overview of tools available
52 slides, 45 minutes
Sorry, no time for many demos!
What about you?
I’m here to learn about specific tools
I’d like to actually see this whole cloud thing
Free coffee!
Did you miss these talks?
“From SQL to NoSQL” by Derick Rethans
“Build Smart. Scalable Infrastructure with AWS and
Puppet” by Ben Waine
In the beginning…
Life in the datacenter
Safe job
Everything takes forever
All is done by hand
Pretty drafty, but ok
Then the web happened.
Web-sized problems
Where did all these people come from?
Why is everyone using a different device?
Nobody has any patience!
IE7? OMGWTFROFLBBQ!!1!
Web-sized consequences
No longer “one app, one machine”
Relational databases primary source of pain
Architecture needs scalable design
…which increases complexity
…which adds to deployment requirements
…and your budget, well that was the mushroom cloud
Speaking of deployment…
Not enough time to cover composer, phing, and all the
other awesome deployment tools available
But there’s enough time to complain about how
manual it STILL IS to set all this up
And not all is bad news
Hello, AngularJS!
Suddenly PHP is no longer used for formatting markup,
serving javascript and a bunch of non-PHP stuff

(hint hint Wordpress, Drupal and Joomla!)
PHP developers are freed to build simple, smart, fast
RESTful backend services
Cloud approaches
Self-hosted machines and appliances
Virtualized machines and appliances
Virtualized services
Do It Yourself.
Text
Metal As A Service (MAAS)
http://maas.ubuntu.com
Do It Somewhere Else.
Text
Amazon Web Services
http://aws.amazon.com
AdBlock+ FTW!
Text
Digital Ocean
https://www.digitalocean.com
This is still complicated. Is
there an easier way to do this?
Text
Ubuntu Juju
https://juju.ubuntu.com
Text
OpenShift
https://www.openshift.com
Text
PHP Cloud
http://www.phpcloud.com
Text
Jelastic
http://jelastic.com
Let Someone Else Do It.
Text
dotCloud
https://www.dotcloud.com
Text
PagodaBox
https://pagodabox.com
Text
MongoHQ
http://www.mongohq.com
Text
MongoLab
https://mongolab.com/welcome/
Hang on, how do we
deploy?
First, there’s dependency
management.
Text
Composer
https://getcomposer.org
How about build tools?
Text
Phing
http://www.phing.info
Text
Phing, Composer and namespaced Task classes
http://blog.riff.org/
2014_02_15_tip_of_the_day_phing_composer_and_namespaced
_task_classes
Text
Grunt
http://gruntjs.com
Text
Using Grunt for PHP
https://chrsm.org/post/using-grunt-for-php/
What about the front end?
Text
Bower
http://bower.io
Text
Bower in PHP
https://github.com/Bee-Lab/bowerphp
Text
Yeoman
http://yeoman.io
Text
Yeoman Generator for PHP
https://github.com/Bradleycorn/generator-php
Continuous Integration?
Text
Travis
https://travis-ci.org/
Text
Travis and PHP Projects
http://docs.travis-ci.com/user/languages/php/
Text
Jenkins
http://jenkins-ci.org
Text
Jenkins for PHP Projects
http://jenkins-php.org
So Where Are We In 2014?
Text
Current State of PHP Cloud
http://blog.fortrabbit.com/cloudscapes-revisited-
php-cloud-overview/
Q & A
Thanks!
AboutMe
@mitchitized - Twitter
spacemonkey - GitHub
LinkedIn - I’M
AVAILABLE!

PHP Cloud Deployment Toolkits