cloud driven development: a better workflow, less worries, and more power
DESCRIPTION
Platform-as-a-service (PaaS) solutions have recently sprung up for Drupal, with Pantheon and Acquia Dev Cloud leading the race. The advantages are plentiful: zero set-up costs, instant upscaling, the use of powerful services such as Apache Solr, Varnish, Redis/Memcached, automated Drupal core updates, site profiling tools, etc. In this session, I’ll make Drupal developers familiar with PaaS, and show the concepts of “Cloud-driven development” to speed up development and deployment processes. I will show how to use your local, development, test and production environments to organize your Drupal development, and push changes back and forth using Git, Features and Drush, eliminating the need to share the database and pushing changes exclusively via code. Finally, Drush will make your deployment a breeze. With the free developer subscription of Pantheon and a series of Drush commands and scripts, you will be able to start developing and deploying your own Drupal projects in the cloud, and never again worry about your server. After all, you are a Drupal Developer, not a System Administrator!TRANSCRIPT
![Page 1: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/1.jpg)
Cloud Driven Development
Peter Vanhee20th October 2012 - DrupalCamp Spain
a better workflow, less worries, and more power
![Page 2: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/2.jpg)
‣ Consumer and contributor to Drupal for over 6 years @pvhee
‣ Co-founder Marzee Labs @marzeelabs, a web shop from Barcelona
‣ http://marzeelabs.org
Who am I?
![Page 3: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/3.jpg)
The Cloud
“The cloud has given has us the ability to provide nearly limitless, on-demand resources to speed up our web development and deployment processes”
![Page 4: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/4.jpg)
For me?
Photo from Flickr by Abode of Chaos
![Page 5: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/5.jpg)
The Cloud
![Page 6: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/6.jpg)
Is that enough?
![Page 7: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/7.jpg)
Enter PaaS
‣ “Platform-as-a-service”
‣ Yet another service built on top of the cloud
‣ Provides a computing platform and a solution stack
Source: Wikipedia
![Page 8: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/8.jpg)
Know any?
![Page 9: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/9.jpg)
Paas for Drupal
![Page 10: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/10.jpg)
In general, Drupal PaaS offer
‣ Different environments. Typically a development, staging and production environment
‣ Code repository, e.g. git
‣ On-demand resources
‣ Specialty services for search, caching, performance optimization, etc.
‣ A lot of automation of the tools you typically use (or want to) when building Drupal sites
![Page 11: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/11.jpg)
More good stuff
‣ one-click installs of Drupal distributions
‣ they teach you awesome developer processes
![Page 12: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/12.jpg)
Disadvantages?
‣ Difficult to break away from the standard setup
‣ Not always shell access - and shell in generally very limited
‣ Cannot install just anything
![Page 13: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/13.jpg)
Cuts most of the deals
![Page 14: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/14.jpg)
Enter Cloud Driven Development
“Cloud Driven Development puts the fun back into your Drupal development and deployment”
![Page 15: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/15.jpg)
Cloud Driven Development Model
adev btest clive
u local
![Page 16: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/16.jpg)
Cloud Driven Development Modelfor your Team
adev
u local u local
![Page 17: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/17.jpg)
Cloud Driven Development Modelwith the Client
btest clive
Revise new features Work on content
![Page 18: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/18.jpg)
Cloud Driven Development Modelfor Everyone Else
clive
![Page 19: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/19.jpg)
Cloud Driven Development Model
adev btest clive
u local
gngn
gn
g files and n database move from right to left t code moves from left to right
t t
t
![Page 20: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/20.jpg)
The Ingredients
Drush+
“exportables”
for Cloud DD
![Page 21: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/21.jpg)
Demo using Pantheon
Free developer tier at http://getpantheon.com
![Page 22: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/22.jpg)
Spinning up a new site
![Page 23: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/23.jpg)
![Page 24: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/24.jpg)
Go
> git clone git@* drupalcamp_spain
u local
![Page 25: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/25.jpg)
At Marzee Labs we maintain our own Drupal distribution
‣ contains modules and sandboxes we always use
‣ has some features we always need
‣ has smart settings preconfigured
mz/mz.makemz/mz.profilemz/mz.installmz/mz.info
![Page 26: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/26.jpg)
Make our site
> drush make --no-core profiles/mz/mz.make .
![Page 27: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/27.jpg)
From to
> git add -A .> git commit -m "Built site from MZ"> git push origin master
u local adev
![Page 28: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/28.jpg)
Install your site on adev
![Page 29: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/29.jpg)
Install your site (2)
![Page 31: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/31.jpg)
A typical development flow
‣ pull the database from the dev/test/live environment *
‣ drush dl awesome_module
‣ configure and export
‣ enable the module, in our site feature
* if you follow a real database-free development flow, you should do this only once at the beginning
![Page 32: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/32.jpg)
First: get your drush aliases
adev
btest
clive
ulocal
> drush @pantheon.dcspain.dev
> drush @pantheon.dcspain.test
> drush @pantheon.dcspain.live
from to
![Page 33: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/33.jpg)
Deploy on
> git push origin master
> drush @pantheon.dcspain.dev updatedb
> drush @pantheon.dcspain.dev fra
> drush @pantheon.dcspain.dev cc all
adev
![Page 34: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/34.jpg)
Deploy on btest
![Page 35: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/35.jpg)
Hello Pandarus
‣ A drupal sandbox* by wodenx
‣ For command-line freaks
‣ Deploy via command-line
‣ Syncronize databases and files
* http://drupal.org/sandbox/wodenx/1512788 soon to be a full d.o. project
![Page 36: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/36.jpg)
Deploy faster with Pandarus
> drush pan-deploy test
![Page 37: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/37.jpg)
Syncing database and files never was easier
> drush pan-sql-sync @pantheon.dcspain.dev @self
> drush rsync @pantheon.dcspain.dev:%files @self:%files
![Page 38: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/38.jpg)
Pre-launch dev cycle
adev btest
u local
gn
t
t gn
![Page 39: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/39.jpg)
Going Live
btest clive
t
gn
![Page 40: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/40.jpg)
Searching like a pro
![Page 41: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/41.jpg)
Caching like a boss
‣ varnish / nginx - for anonymous users
‣ redis - for authenticated users
![Page 43: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/43.jpg)
Site Profiling
![Page 44: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/44.jpg)
Ou Yeah.. there is more
‣ Drupal core updates
‣ On-server development - hot fixes directly on the server
![Page 45: Cloud Driven Development: a better workflow, less worries, and more power](https://reader034.vdocuments.net/reader034/viewer/2022051323/54b73f064a795987518b47c3/html5/thumbnails/45.jpg)
Things to look out for
‣ Drupal 8 and the CMI: will make exportables much better (think: bye-bye Features)
‣ More command-line magic
‣ More automation
‣ Cloud Driven Development: the future for Drupal?