SlideShare a Scribd company logo
STANDARDIZING
DRUPAL
DEVELOPMENT
ENVIRONMENTS
Using Containers
JUNE/2017Innovation center, Washington, D.C.
PAIN POINTS WITH CURRENT DEVELOPMENT ENVIRONMENTS
1This document is confidential and intended solely for the client to whom it is addressed.
The Windows Conundrum
 Initial development environments were created in Windows Workspaces using WAMP
 Speed / responsiveness within workspaces is limited
 Sometimes difficult to replicate problems happening in the Linux Environment
No access to non-Drupal Services
 Varnish
 SOLR
 Bash / Shell scripting
Difficult to implement automation as well as checks and balances
 Performance monitoring is non-existent
 There are zero automated tests currently
 Bugs can quickly slip through the cracks unnoticed over time
WHAT ARE THE ALTERNATIVES?
2This document is confidential and intended solely for the client to whom it is addressed.
Native Supported OS Virtualized Native Supported OS Containerized Environments
MY DEVELOPMENT ENVIRONMENT JOURNEY
3This document is confidential and intended solely for the client to whom it is addressed.
 Scotchbox is basic & easy to setup!
 No-frills LAMP stack
 Easy to setup Bash Configurations
 Better than WAMP, MAMP, etc.
 Drupal Environment in 10 Minutes
 Offers more Drupal Goodness
 Varnish, SOLR out of the Box
 Ansible Support
 Highly supported via the Drupal
Community
 Can be more complex to setup
 Easy to setup on individual projects
 YAML based configuration
 Lots of Drupal supported services
 It’s Docker!
 Fast development environment
DOCKER VS VAGRANT
4This document is confidential and intended solely for the client to whom it is addressed.
Source: https://www.docker.com/what-docker
Containers are isolated, but share OS
and, where appropriate, bins,
libraries.
The result is significantly faster
deployment, much less overhead,
easier migration, faster restart.
https://insights.sei.cmu.edu/devops/2015/01/devops-
and-docker.html
Containersarecomplicated
DOCKSAL
6This document is confidential and intended solely for the client to whom it is addressed.
Docker is difficult to learn. Docksal makes it easy!
 Docksal abstracts much of the Docker services into a simple
command called ‘fin’
 Comes ‘out of the box’ with SOLR, Varnish, Behat, Blackfire,
Xdebug, Ngrok, Drush, Drupal Console and more!
 One line install command
 Zero configuration for basic LAMP stack with Varnish
 Project based – Run $ fin up within any project structure
 The .docksal directory can be published to VCS in order to
distribute baseline configuration for the development team
 Geared towards the Drupal Community and is Open Source!
http://docksal.readthedocs.io/
BUILT-IN HELPFUL SERVICES
7This document is confidential and intended solely for the client to whom it is addressed.
 Behavior Driven Development
 Write human-readable stories that describe the behavior of your application
 Tests can be run locally or via automated jobs in CI tools such as Jenkins
 http://docs.behat.org/en/v2.5/quick_intro.html
 A multiplatform tunnelling, reverse proxy software that establishes secure tunnels from a
public endpoint such as internet to a locally running network service while capturing all traffic
for detailed inspection and replay
 In otherwords, I can share my local development instance (with restrictions) with anyone!
 Control and test SOLR locally
 Version control configurations such as ’best bets’ and perform local indexing
 Direct integration (No Configuration) through SOLR service and Drupal Apache container
THE DREADED $ PROMPT FOR WINDOWS USERS
8This document is confidential and intended solely for the client to whom it is addressed.
Compiled Linux Libraries for Windows
 Cygwin
 Babun (babun.github.io)
 + Compatibility with many Linux applications and processes
 - Unable to run unmodified Linux binaries
 Windows Subsystem for Linux (WSL)
 Layer of the Windows kernel to provide compatibility with the Linux kernel
 Enables Windows developers to run tools and projects dependend on
Linux binaries
 + Packaged for Windows 10 and actively supported by Microsoft
 - Back end services (such as Docker) have compatibility issues
PROVISION DRUPAL IN 60ISH SECONDS
9This document is confidential and intended solely for the client to whom it is addressed.
Step 1 Step 2 Step 3 Step 4 Step 5
Download Drupal and
extract into a folder
called docroot Run $ fin up
Browse to your new site at
http://projectname.docksal/
Create a .docksal
directory in the project
directory
Enter Database /
Settings information
DEMO TIME
10This document is confidential and intended solely for the client to whom it is addressed.
THANK YOU FOR LISTENING
11This document is confidential and intended solely for the client to whom it is addressed.
Comments?
Questions?

More Related Content

What's hot (20)

PDF
DevOps: Cooking Drupal Deployment
Gerald Villorente
 
PDF
Intro to Docker (hands-on session)
Nilesh ☁ Londhe
 
PDF
Microservices: How loose is loosely coupled?
John Rofrano
 
PDF
Immutable infrastructure with Docker and containers (GlueCon 2015)
Jérôme Petazzoni
 
PDF
Making Developers Productive with Vagrant, VirtualBox, and Docker
John Rofrano
 
PDF
Sharding Containers: Make Go Apps Computer-Friendly Again by Andrey Sibiryov
Docker, Inc.
 
PPT
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
 
PDF
DockerCon SF 2015: Docker Security
Docker, Inc.
 
PDF
Dockerizing your applications - Docker workshop @Twitter
dotCloud
 
PDF
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
PDF
Qualitätssicherung von Container-Images
Nicholas Dille
 
PPTX
Windows server containers
Sri Kanth
 
PDF
Intro to Docker - London meetup oct. 2013
stevedomin
 
PDF
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Docker, Inc.
 
PDF
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Usersnap
 
PDF
Introduction to Docker
James Turnbull
 
PDF
PaaSTA: Running applications at Yelp
Nathan Handler
 
PDF
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
Docker, Inc.
 
PDF
Securing the Container Pipeline at Salesforce by Cem Gurkok
Docker, Inc.
 
PDF
Docker: Testing to Production
Edwin Fuquen
 
DevOps: Cooking Drupal Deployment
Gerald Villorente
 
Intro to Docker (hands-on session)
Nilesh ☁ Londhe
 
Microservices: How loose is loosely coupled?
John Rofrano
 
Immutable infrastructure with Docker and containers (GlueCon 2015)
Jérôme Petazzoni
 
Making Developers Productive with Vagrant, VirtualBox, and Docker
John Rofrano
 
Sharding Containers: Make Go Apps Computer-Friendly Again by Andrey Sibiryov
Docker, Inc.
 
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
 
DockerCon SF 2015: Docker Security
Docker, Inc.
 
Dockerizing your applications - Docker workshop @Twitter
dotCloud
 
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
Qualitätssicherung von Container-Images
Nicholas Dille
 
Windows server containers
Sri Kanth
 
Intro to Docker - London meetup oct. 2013
stevedomin
 
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Docker, Inc.
 
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Usersnap
 
Introduction to Docker
James Turnbull
 
PaaSTA: Running applications at Yelp
Nathan Handler
 
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
Docker, Inc.
 
Securing the Container Pipeline at Salesforce by Cem Gurkok
Docker, Inc.
 
Docker: Testing to Production
Edwin Fuquen
 

Similar to Standardizing Drupal Development Environments using Containers (20)

PPTX
ma-formation-en-Docker-jlklk,nknkjn.pptx
imenhamada17
 
PDF
Building a Docker Container for Laravel.pdf
Shiv Technolabs
 
PDF
Docker
Neeraj Wadhwa
 
PDF
The Docker Ecosystem
Dmitry Skaredov
 
PPTX
Webinar Docker Tri Series
Newt Global Consulting LLC
 
PDF
Michigan IT Symposium 2017 - Container BOF
Jeffrey Sica
 
PDF
Docker, Cloud Foundry, Bosh & Bluemix
IBM
 
PDF
Oracle WebLogic Server 12c with Docker
Guatemala User Group
 
PDF
Dockerize WordPress on Mac/Windows
Kite Koga
 
PPTX
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Van Phuc
 
PPTX
8 good reasons to learn docker
prabhasathya
 
PDF
Introduction to Docker by Adrian Mouat
Container Solutions
 
PPTX
Docker - A curtain raiser to the Container world
zekeLabs Technologies
 
PPTX
Docker-Intro
Sujai Sivasamy
 
PPTX
Docker In Brief
Ritu Kamthan
 
PPTX
Docker and Microservice
Samuel Chow
 
PDF
Docker Dhahran Nov 2016 meetup
Walid Shaari
 
PPTX
Accelerate your development with Docker
Andrey Hristov
 
PDF
Accelerate your software development with Docker
Andrey Hristov
 
PDF
Docker - Frank Maounis
Frank Maounis
 
ma-formation-en-Docker-jlklk,nknkjn.pptx
imenhamada17
 
Building a Docker Container for Laravel.pdf
Shiv Technolabs
 
The Docker Ecosystem
Dmitry Skaredov
 
Webinar Docker Tri Series
Newt Global Consulting LLC
 
Michigan IT Symposium 2017 - Container BOF
Jeffrey Sica
 
Docker, Cloud Foundry, Bosh & Bluemix
IBM
 
Oracle WebLogic Server 12c with Docker
Guatemala User Group
 
Dockerize WordPress on Mac/Windows
Kite Koga
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Van Phuc
 
8 good reasons to learn docker
prabhasathya
 
Introduction to Docker by Adrian Mouat
Container Solutions
 
Docker - A curtain raiser to the Container world
zekeLabs Technologies
 
Docker-Intro
Sujai Sivasamy
 
Docker In Brief
Ritu Kamthan
 
Docker and Microservice
Samuel Chow
 
Docker Dhahran Nov 2016 meetup
Walid Shaari
 
Accelerate your development with Docker
Andrey Hristov
 
Accelerate your software development with Docker
Andrey Hristov
 
Docker - Frank Maounis
Frank Maounis
 
Ad

More from Ian Carnaghan (15)

PPTX
Drupal Site Building for Developers
Ian Carnaghan
 
PPTX
Drupal Theming for Developers
Ian Carnaghan
 
PDF
Doctoral Defense
Ian Carnaghan
 
PPTX
Exploratory Eye Tracking Research with Curriculum Mapping
Ian Carnaghan
 
PPTX
Programming is Fun with ASP.NET MVC
Ian Carnaghan
 
PPTX
Drupal at ICF International
Ian Carnaghan
 
PPTX
Curriculum Mapping
Ian Carnaghan
 
PPTX
Information Culture Wrapup
Ian Carnaghan
 
PPTX
Usability
Ian Carnaghan
 
PPTX
Future Careers
Ian Carnaghan
 
PPTX
Motion Graphics
Ian Carnaghan
 
PPTX
Gamification
Ian Carnaghan
 
PPTX
Drupal
Ian Carnaghan
 
PPTX
History of Online Education
Ian Carnaghan
 
PPTX
Social Media
Ian Carnaghan
 
Drupal Site Building for Developers
Ian Carnaghan
 
Drupal Theming for Developers
Ian Carnaghan
 
Doctoral Defense
Ian Carnaghan
 
Exploratory Eye Tracking Research with Curriculum Mapping
Ian Carnaghan
 
Programming is Fun with ASP.NET MVC
Ian Carnaghan
 
Drupal at ICF International
Ian Carnaghan
 
Curriculum Mapping
Ian Carnaghan
 
Information Culture Wrapup
Ian Carnaghan
 
Usability
Ian Carnaghan
 
Future Careers
Ian Carnaghan
 
Motion Graphics
Ian Carnaghan
 
Gamification
Ian Carnaghan
 
History of Online Education
Ian Carnaghan
 
Social Media
Ian Carnaghan
 
Ad

Recently uploaded (20)

PPT
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
PDF
Web Hosting for Shopify WooCommerce etc.
Harry_Phoneix Harry_Phoneix
 
PPTX
Optimization_Techniques_ML_Presentation.pptx
farispalayi
 
PPTX
一比一原版(LaTech毕业证)路易斯安那理工大学毕业证如何办理
Taqyea
 
PPT
introduction to networking with basics coverage
RamananMuthukrishnan
 
PDF
Apple_Environmental_Progress_Report_2025.pdf
yiukwong
 
PPTX
L1A Season 1 Guide made by A hegy Eng Grammar fixed
toszolder91
 
PDF
The-Hidden-Dangers-of-Skipping-Penetration-Testing.pdf.pdf
naksh4thra
 
PPTX
unit 2_2 copy right fdrgfdgfai and sm.pptx
nepmithibai2024
 
PPTX
sajflsajfljsdfljslfjslfsdfas;fdsfksadfjlsdflkjslgfs;lfjlsajfl;sajfasfd.pptx
theknightme
 
PPTX
一比一原版(SUNY-Albany毕业证)纽约州立大学奥尔巴尼分校毕业证如何办理
Taqyea
 
PPTX
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
PPTX
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
PPT
introductio to computers by arthur janry
RamananMuthukrishnan
 
PPTX
西班牙武康大学毕业证书{UCAMOfferUCAM成绩单水印}原版制作
Taqyea
 
PDF
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
PDF
Azure_DevOps introduction for CI/CD and Agile
henrymails
 
PPTX
Orchestrating things in Angular application
Peter Abraham
 
PDF
Build Fast, Scale Faster: Milvus vs. Zilliz Cloud for Production-Ready AI
Zilliz
 
PPTX
Cost_of_Quality_Presentation_Software_Engineering.pptx
farispalayi
 
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
Web Hosting for Shopify WooCommerce etc.
Harry_Phoneix Harry_Phoneix
 
Optimization_Techniques_ML_Presentation.pptx
farispalayi
 
一比一原版(LaTech毕业证)路易斯安那理工大学毕业证如何办理
Taqyea
 
introduction to networking with basics coverage
RamananMuthukrishnan
 
Apple_Environmental_Progress_Report_2025.pdf
yiukwong
 
L1A Season 1 Guide made by A hegy Eng Grammar fixed
toszolder91
 
The-Hidden-Dangers-of-Skipping-Penetration-Testing.pdf.pdf
naksh4thra
 
unit 2_2 copy right fdrgfdgfai and sm.pptx
nepmithibai2024
 
sajflsajfljsdfljslfjslfsdfas;fdsfksadfjlsdflkjslgfs;lfjlsajfl;sajfasfd.pptx
theknightme
 
一比一原版(SUNY-Albany毕业证)纽约州立大学奥尔巴尼分校毕业证如何办理
Taqyea
 
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
introductio to computers by arthur janry
RamananMuthukrishnan
 
西班牙武康大学毕业证书{UCAMOfferUCAM成绩单水印}原版制作
Taqyea
 
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
Azure_DevOps introduction for CI/CD and Agile
henrymails
 
Orchestrating things in Angular application
Peter Abraham
 
Build Fast, Scale Faster: Milvus vs. Zilliz Cloud for Production-Ready AI
Zilliz
 
Cost_of_Quality_Presentation_Software_Engineering.pptx
farispalayi
 

Standardizing Drupal Development Environments using Containers

  • 2. PAIN POINTS WITH CURRENT DEVELOPMENT ENVIRONMENTS 1This document is confidential and intended solely for the client to whom it is addressed. The Windows Conundrum  Initial development environments were created in Windows Workspaces using WAMP  Speed / responsiveness within workspaces is limited  Sometimes difficult to replicate problems happening in the Linux Environment No access to non-Drupal Services  Varnish  SOLR  Bash / Shell scripting Difficult to implement automation as well as checks and balances  Performance monitoring is non-existent  There are zero automated tests currently  Bugs can quickly slip through the cracks unnoticed over time
  • 3. WHAT ARE THE ALTERNATIVES? 2This document is confidential and intended solely for the client to whom it is addressed. Native Supported OS Virtualized Native Supported OS Containerized Environments
  • 4. MY DEVELOPMENT ENVIRONMENT JOURNEY 3This document is confidential and intended solely for the client to whom it is addressed.  Scotchbox is basic & easy to setup!  No-frills LAMP stack  Easy to setup Bash Configurations  Better than WAMP, MAMP, etc.  Drupal Environment in 10 Minutes  Offers more Drupal Goodness  Varnish, SOLR out of the Box  Ansible Support  Highly supported via the Drupal Community  Can be more complex to setup  Easy to setup on individual projects  YAML based configuration  Lots of Drupal supported services  It’s Docker!  Fast development environment
  • 5. DOCKER VS VAGRANT 4This document is confidential and intended solely for the client to whom it is addressed. Source: https://www.docker.com/what-docker Containers are isolated, but share OS and, where appropriate, bins, libraries. The result is significantly faster deployment, much less overhead, easier migration, faster restart. https://insights.sei.cmu.edu/devops/2015/01/devops- and-docker.html
  • 7. DOCKSAL 6This document is confidential and intended solely for the client to whom it is addressed. Docker is difficult to learn. Docksal makes it easy!  Docksal abstracts much of the Docker services into a simple command called ‘fin’  Comes ‘out of the box’ with SOLR, Varnish, Behat, Blackfire, Xdebug, Ngrok, Drush, Drupal Console and more!  One line install command  Zero configuration for basic LAMP stack with Varnish  Project based – Run $ fin up within any project structure  The .docksal directory can be published to VCS in order to distribute baseline configuration for the development team  Geared towards the Drupal Community and is Open Source! http://docksal.readthedocs.io/
  • 8. BUILT-IN HELPFUL SERVICES 7This document is confidential and intended solely for the client to whom it is addressed.  Behavior Driven Development  Write human-readable stories that describe the behavior of your application  Tests can be run locally or via automated jobs in CI tools such as Jenkins  http://docs.behat.org/en/v2.5/quick_intro.html  A multiplatform tunnelling, reverse proxy software that establishes secure tunnels from a public endpoint such as internet to a locally running network service while capturing all traffic for detailed inspection and replay  In otherwords, I can share my local development instance (with restrictions) with anyone!  Control and test SOLR locally  Version control configurations such as ’best bets’ and perform local indexing  Direct integration (No Configuration) through SOLR service and Drupal Apache container
  • 9. THE DREADED $ PROMPT FOR WINDOWS USERS 8This document is confidential and intended solely for the client to whom it is addressed. Compiled Linux Libraries for Windows  Cygwin  Babun (babun.github.io)  + Compatibility with many Linux applications and processes  - Unable to run unmodified Linux binaries  Windows Subsystem for Linux (WSL)  Layer of the Windows kernel to provide compatibility with the Linux kernel  Enables Windows developers to run tools and projects dependend on Linux binaries  + Packaged for Windows 10 and actively supported by Microsoft  - Back end services (such as Docker) have compatibility issues
  • 10. PROVISION DRUPAL IN 60ISH SECONDS 9This document is confidential and intended solely for the client to whom it is addressed. Step 1 Step 2 Step 3 Step 4 Step 5 Download Drupal and extract into a folder called docroot Run $ fin up Browse to your new site at http://projectname.docksal/ Create a .docksal directory in the project directory Enter Database / Settings information
  • 11. DEMO TIME 10This document is confidential and intended solely for the client to whom it is addressed.
  • 12. THANK YOU FOR LISTENING 11This document is confidential and intended solely for the client to whom it is addressed. Comments? Questions?