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!
2. Who am I?
‣ Consumer and contributor to Drupal for over 6 years
@pvhee
‣ Co-founder Marzee Labs @marzeelabs, a web shop
from Barcelona
‣ http://marzeelabs.org
3. 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”
7. 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
10. 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
11. More good stuff
‣ one-click installs of Drupal distributions
‣ they teach you awesome developer processes
12. Disadvantages?
‣ Difficult to break away from the standard setup
‣ Not always shell access - and shell in generally
very limited
‣ Cannot install just anything
19. Cloud Driven Development Model
t t
a dev
gn
b test
gn
c live
t
gn
u local
t code moves from left to right
g files and n database move from right to left
25. 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.make
mz/mz.profile
mz/mz.install
mz/mz.info
31. 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
32. First: get your drush aliases
from ulocal to
> drush @pantheon.dcspain.dev a dev
> drush @pantheon.dcspain.test
b test
> drush @pantheon.dcspain.live
c live
33. Deploy on adev
> git push origin master
> drush @pantheon.dcspain.dev updatedb
> drush @pantheon.dcspain.dev fra
> drush @pantheon.dcspain.dev cc all
35. 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
44. Ou Yeah.. there is more
‣ Drupal core updates
‣ On-server development - hot fixes directly on the
server
45. 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?