SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Drupal Integrated
DevOps Workflow
          make yr shit right, son


                                                    Craig McEldowney
   crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
About The Presenters
Steve Rifkin
  Site Architect, Consultant, leans toward front end UI / UX
  But not afraid of the backend?...ahem...can whip up some mean php when called upon)
  7+ years building sites and data modeling (RoR)
  LA Drupal User Group Organizer
  Nicer than Craig



Craig McEldowney
   Backend ninja, SOLR maven, Level 36 lawful evil Drupal mage
   14 years building content management systems, 7+ years Drupal
   Baby's got back-end development. not so keen on UI / UX
   Crankier than Steve




                                                                                 Craig McEldowney
               crifkin.com    @crifkin   SandCAMP 2013 1/25/12                          Steve Rifkin
About Crifkin
      Craig McEldowney + Steve Rifkin = crifkin
            Craig gets less namespace, but more clout



● Virtual CTO/CIO Services
● Cloud architecture / turnkey HA/HP solutions
● Developers looking for interesting problems to solve




                                                          Craig McEldowney
         crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Agenda
● Framing the Problem
● Playing the DevOps workflow game
  ○ Vagrant
  ○ Chef Server
● "The Cloud Mentality" -- HA/HP from local dev to
  production




                                                            Craig McEldowney
           crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
In the beginning
               YOU build sites.
             YOU do quality work.
            More people hire YOU.
                       ...
  YOU become the limiting factor in this equation.

YOU need to scale yourself, your process, your team,
                   your clients.



                                                           Craig McEldowney
          crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Framing the Problem
              Developer/Process side

      How do I support Client K who is running in
 infrastructure Y while still supporting Client 4 who is
             running in infrastructure 11.

How do I ingest new clients, yet still be able to support
    older ongoing clients without getting cranky?


                                                             Craig McEldowney
            crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Framing the Problem
                           Team side

  I need to hand off some coding/theming/support
        responsibilities to another resource...

What's the fastest/cheapest/most effective way to get
 them up and running so I can scale development
                       efforts?


                                                           Craig McEldowney
          crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Framing the Problem
                         Client side

I need to be able to handle configuration changes,
    scale for traffic, address and balance High
 Performance/High Availability requirements, and
    provide a platform to grow with the client.




                                                          Craig McEldowney
         crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Playing the DevOps
        workflow game
  Let's flip the problem on its head. If we
 know where we're headed, we can make
some smart choices on the way to solving
                    them.




                                                         Craig McEldowney
        crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
In a perfect world...
 How do we meet the client's needs for
           HA/HP/scaling?

Configuration management and a supporting cloud
                   platform.

    Crifkin spells this Chef + AWS = ChAWS.



                                                         Craig McEldowney
        crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Huh?




                                                 Craig McEldowney
crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Huh? (Chef Server)
● Chef = Configuration Management System
● Written in Ruby
● Idempotent execution -- e.g. running recipe(s)
  multiple times will result in the same outcome
● Track stack architecture and allow servers to
  register with the stack and query for specific
  resources
● Other options: Puppet, Ansible, bash scripts and/or
  hating your life
                                                            Craig McEldowney
           crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
How does this help me?
 I wrote all this cool chef stuff (recipes, roles). How
does this help me with my process/team and my own
         efforts working for multiple clients?

          The answer rhymes with Ragrant




                                                            Craig McEldowney
           crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Huh? (Vagrant)
● Ruby command-line toolset for managing VirtualBox
   VMs
● Already built to pull configuration from Chef,
   Puppet, Bash, and other scripting methodologies
● Package Virtual Environments
● Multi-VM Host Environments-- e.g. run a scaled out
   production-like stack on your local environment



                                                            Craig McEldowney
           crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
How does it fit together?
Why spend a bunch of time putting together a stack
and methodology for your production environment,
without giving yourself options and tools to manage
your local development efforts?

Let's talk about environments...




                                                            Craig McEldowney
           crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Chef: Environments
Chef allows you to create and assign nodes/servers to
environments. Environments allow you to override
server attributes/metadata, configuration parameters,
recipe run lists, etc.

So what if...

We break up our deployment into environments, with
resources to match each environment's needs.

                                                             Craig McEldowney
            crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Chef: Environments
But instead of doing it in a stupid and boring way

● Lovingly handcraft servers and back them up
   hourly, daily, weekly, never?
● Rats nest of client environment on local machine
● Steve doesn't understand what I do. I don't
   understand what he does...custom scripting.

Let's use the "Cloud Mentality"


                                                            Craig McEldowney
           crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
The Cloud Mentality
Some hard realities of cloud computing...

● Your servers are not beautiful and unique
   snowflakes
● Things will break and you will cry
● Steve is nicer about these things than I am




                                                              Craig McEldowney
             crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
The Cloud Mentality
The most important thing about your server is its
configuration. Chef takes care of this.

Chef has recipes and roles to define what a Webhead is, what
a Reverse Proxy is, what a BananaFarm is.

So crunch all you want, we'll make more.




                                                              Craig McEldowney
             crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
The Cloud Mentality
The difference between production and staging is the
number of servers. The difference between staging
and dev is the number of servers. The difference
between dev and your local machine is....

The number of Virtual Machines!




                                                             Craig McEldowney
            crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Prod/Live




                                                 Craig McEldowney
crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Staging




                                                 Craig McEldowney
crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Local Dev




                                                 Craig McEldowney
crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Chef Server is the glue




                                                    Craig McEldowney
   crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Huh? (Howzit fit together?)
Local Dev Setup:
Install VirtualBox
Install Vagrant
Edit Vagrantfile and point it at your chef server
Spin up virtual machine(s)
Download DB/file assets from S3 or local-- use drush aliases to take DB dumps
from DB slaves where possible

Edit code on local machine IDE by either mounting WebDAV drive, or setting up nfs
share into Vagrant

Extra credit for running this all from a bash script and/or through a recipe in Chef!
Double credit for writing a homebrew...you Mac nerds


                                                                           Craig McEldowney
                  crifkin.com   @crifkin   SandCAMP 2013 1/25/12                Steve Rifkin
Um...right, this is Drupal
Gotchas and considerations when using templated
configuration for Drupal:
1. DB credentials/discovery
2. Other resources:
     i. memcached
     ii. SOLR
     iii. Reverse Proxy
     iv. etc...
3. Providing options for environment specific overrides -- e.g. no preprocess css in
Dev, etc.




                                                                         Craig McEldowney
                  crifkin.com   @crifkin   SandCAMP 2013 1/25/12              Steve Rifkin
More advanced use-cases
Set up Continuous Integration
   Use Jenkins or other post commit hooks to automagically
spin up a stack in a dedicated testing environment, and run
load, smoke, other tests

Dashboard controls for controlling environments-- a la Aegir,
but with Chef Server controlling the system configuration, and
manage scaling parameters (autoscale), scheduling scaling,
etc.


                                                              Craig McEldowney
             crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
In a less perfect world...
                Client is committed to existing
              resources/deployment strategies?
●   If this doesn't pose a business risk over an acceptable time frame,
    then save that fight for another day...
●   Migrate some portion of their stack to new environment-- e.g. dev
    server/staging server?
    OR
●   Use smart DevOps magic for you and your developer(s) to your side
    of this part of the process tight and efficient. Build up
    recipes/configurations so that they can be used in prod later on



                                                                Craig McEldowney
               crifkin.com   @crifkin   SandCAMP 2013 1/25/12        Steve Rifkin
Questions/Demo

Más contenido relacionado

La actualidad más candente

Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with PuppetKris Buytaert
 
DevOps overview and tech interview tips
DevOps overview and tech interview tipsDevOps overview and tech interview tips
DevOps overview and tech interview tipsDaniel Bezerra
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
Comparing JVM Web Frameworks - Spring I/O 2012
Comparing JVM Web Frameworks - Spring I/O 2012Comparing JVM Web Frameworks - Spring I/O 2012
Comparing JVM Web Frameworks - Spring I/O 2012Matt Raible
 
11 Tools for your Open Source devops stack
11 Tools for your Open Source devops stack 11 Tools for your Open Source devops stack
11 Tools for your Open Source devops stack Kris Buytaert
 
Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?Kris Buytaert
 
Run stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 EditionRun stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 EditionKris Buytaert
 
Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015Daniel Woods
 
Moby is killing your devops efforts
Moby is killing your devops effortsMoby is killing your devops efforts
Moby is killing your devops effortsKris Buytaert
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
Help , My Datacenter is on fire
Help , My Datacenter is on fireHelp , My Datacenter is on fire
Help , My Datacenter is on fireKris Buytaert
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerKris Buytaert
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devopsKris Buytaert
 
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...Taller Negócio Digitais
 
Devops is dead, Long Live Devops
Devops is dead, Long Live DevopsDevops is dead, Long Live Devops
Devops is dead, Long Live DevopsKris Buytaert
 
Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security RequirementKris Buytaert
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Puppet
 
How I hack on puppet modules
How I hack on puppet modulesHow I hack on puppet modules
How I hack on puppet modulesKris Buytaert
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertMykola Marzhan
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
 

La actualidad más candente (20)

Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with Puppet
 
DevOps overview and tech interview tips
DevOps overview and tech interview tipsDevOps overview and tech interview tips
DevOps overview and tech interview tips
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
Comparing JVM Web Frameworks - Spring I/O 2012
Comparing JVM Web Frameworks - Spring I/O 2012Comparing JVM Web Frameworks - Spring I/O 2012
Comparing JVM Web Frameworks - Spring I/O 2012
 
11 Tools for your Open Source devops stack
11 Tools for your Open Source devops stack 11 Tools for your Open Source devops stack
11 Tools for your Open Source devops stack
 
Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?
 
Run stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 EditionRun stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 Edition
 
Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015
 
Moby is killing your devops efforts
Moby is killing your devops effortsMoby is killing your devops efforts
Moby is killing your devops efforts
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
Help , My Datacenter is on fire
Help , My Datacenter is on fireHelp , My Datacenter is on fire
Help , My Datacenter is on fire
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack Engineer
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devops
 
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
 
Devops is dead, Long Live Devops
Devops is dead, Long Live DevopsDevops is dead, Long Live Devops
Devops is dead, Long Live Devops
 
Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security Requirement
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
 
How I hack on puppet modules
How I hack on puppet modulesHow I hack on puppet modules
How I hack on puppet modules
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 

Similar a Drupal Integrated DevOps Workflow

DrupalCamp LA 2012: COOK UP SOME STACKS OF DRUPAL GOODNESS WITH CHEF
DrupalCamp LA 2012: COOK UP SOME STACKS OF DRUPAL GOODNESS WITH CHEFDrupalCamp LA 2012: COOK UP SOME STACKS OF DRUPAL GOODNESS WITH CHEF
DrupalCamp LA 2012: COOK UP SOME STACKS OF DRUPAL GOODNESS WITH CHEFccmcnerdy
 
Thinking after that disaster in cloud
Thinking after that disaster in cloudThinking after that disaster in cloud
Thinking after that disaster in cloudAmazon Web Services
 
Show an Open Source Project Some Love and Start Using Travis-CI
Show an Open Source Project Some Love and Start Using Travis-CIShow an Open Source Project Some Love and Start Using Travis-CI
Show an Open Source Project Some Love and Start Using Travis-CIJoel Byler
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable productJulian Simpson
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Edureka!
 
Devs are from Mars, Ops are from Venus
Devs are from Mars, Ops are from VenusDevs are from Mars, Ops are from Venus
Devs are from Mars, Ops are from VenusMaish Saidel-Keesing
 
Devs are from Mars, Ops are from Venus, Maish Saidel-Keesing, Cisco
Devs are from Mars, Ops are from Venus, Maish Saidel-Keesing, CiscoDevs are from Mars, Ops are from Venus, Maish Saidel-Keesing, Cisco
Devs are from Mars, Ops are from Venus, Maish Saidel-Keesing, CiscoDevOpsDays Tel Aviv
 
Are you ready for cloud-native Java?
Are you ready for cloud-native Java?Are you ready for cloud-native Java?
Are you ready for cloud-native Java?Graham Charters
 
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015Steve Hoffman
 
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy EnvironmentsDOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy EnvironmentsGene Kim
 
deep learning in production cff 2017
deep learning in production cff 2017deep learning in production cff 2017
deep learning in production cff 2017Ari Kamlani
 
From naive to agile - software engineering approach
From naive to agile - software engineering approachFrom naive to agile - software engineering approach
From naive to agile - software engineering approachStayman Hou
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Microsoft Azure Cloud Services
Microsoft Azure Cloud ServicesMicrosoft Azure Cloud Services
Microsoft Azure Cloud ServicesRodrigo Kono
 
Implementing an Enterprise Design System the Red Hat Way
Implementing an Enterprise Design System the Red Hat WayImplementing an Enterprise Design System the Red Hat Way
Implementing an Enterprise Design System the Red Hat WayDerek Reese
 
CI/CD patterns for dbt Projects
CI/CD patterns for dbt ProjectsCI/CD patterns for dbt Projects
CI/CD patterns for dbt ProjectsHostedbyConfluent
 
Java Day Minsk 2016 Keynote about Microservices in real world
Java Day Minsk 2016 Keynote about Microservices in real worldJava Day Minsk 2016 Keynote about Microservices in real world
Java Day Minsk 2016 Keynote about Microservices in real worldКирилл Толкачёв
 
Customer Presentation: Digital Globe's road to Continuous Delivery
Customer Presentation: Digital Globe's road to Continuous DeliveryCustomer Presentation: Digital Globe's road to Continuous Delivery
Customer Presentation: Digital Globe's road to Continuous DeliveryXebiaLabs
 
Rebooting Software Development - OWASP AppSecUSA
Rebooting Software Development - OWASP AppSecUSA Rebooting Software Development - OWASP AppSecUSA
Rebooting Software Development - OWASP AppSecUSA Nick Galbreath
 

Similar a Drupal Integrated DevOps Workflow (20)

DrupalCamp LA 2012: COOK UP SOME STACKS OF DRUPAL GOODNESS WITH CHEF
DrupalCamp LA 2012: COOK UP SOME STACKS OF DRUPAL GOODNESS WITH CHEFDrupalCamp LA 2012: COOK UP SOME STACKS OF DRUPAL GOODNESS WITH CHEF
DrupalCamp LA 2012: COOK UP SOME STACKS OF DRUPAL GOODNESS WITH CHEF
 
Drupal DOMinate
Drupal DOMinateDrupal DOMinate
Drupal DOMinate
 
Thinking after that disaster in cloud
Thinking after that disaster in cloudThinking after that disaster in cloud
Thinking after that disaster in cloud
 
Show an Open Source Project Some Love and Start Using Travis-CI
Show an Open Source Project Some Love and Start Using Travis-CIShow an Open Source Project Some Love and Start Using Travis-CI
Show an Open Source Project Some Love and Start Using Travis-CI
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
 
Devs are from Mars, Ops are from Venus
Devs are from Mars, Ops are from VenusDevs are from Mars, Ops are from Venus
Devs are from Mars, Ops are from Venus
 
Devs are from Mars, Ops are from Venus, Maish Saidel-Keesing, Cisco
Devs are from Mars, Ops are from Venus, Maish Saidel-Keesing, CiscoDevs are from Mars, Ops are from Venus, Maish Saidel-Keesing, Cisco
Devs are from Mars, Ops are from Venus, Maish Saidel-Keesing, Cisco
 
Are you ready for cloud-native Java?
Are you ready for cloud-native Java?Are you ready for cloud-native Java?
Are you ready for cloud-native Java?
 
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
 
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy EnvironmentsDOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
 
deep learning in production cff 2017
deep learning in production cff 2017deep learning in production cff 2017
deep learning in production cff 2017
 
From naive to agile - software engineering approach
From naive to agile - software engineering approachFrom naive to agile - software engineering approach
From naive to agile - software engineering approach
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Microsoft Azure Cloud Services
Microsoft Azure Cloud ServicesMicrosoft Azure Cloud Services
Microsoft Azure Cloud Services
 
Implementing an Enterprise Design System the Red Hat Way
Implementing an Enterprise Design System the Red Hat WayImplementing an Enterprise Design System the Red Hat Way
Implementing an Enterprise Design System the Red Hat Way
 
CI/CD patterns for dbt Projects
CI/CD patterns for dbt ProjectsCI/CD patterns for dbt Projects
CI/CD patterns for dbt Projects
 
Java Day Minsk 2016 Keynote about Microservices in real world
Java Day Minsk 2016 Keynote about Microservices in real worldJava Day Minsk 2016 Keynote about Microservices in real world
Java Day Minsk 2016 Keynote about Microservices in real world
 
Customer Presentation: Digital Globe's road to Continuous Delivery
Customer Presentation: Digital Globe's road to Continuous DeliveryCustomer Presentation: Digital Globe's road to Continuous Delivery
Customer Presentation: Digital Globe's road to Continuous Delivery
 
Rebooting Software Development - OWASP AppSecUSA
Rebooting Software Development - OWASP AppSecUSA Rebooting Software Development - OWASP AppSecUSA
Rebooting Software Development - OWASP AppSecUSA
 

Último

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Drupal Integrated DevOps Workflow

  • 1. Drupal Integrated DevOps Workflow make yr shit right, son Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 2. About The Presenters Steve Rifkin Site Architect, Consultant, leans toward front end UI / UX But not afraid of the backend?...ahem...can whip up some mean php when called upon) 7+ years building sites and data modeling (RoR) LA Drupal User Group Organizer Nicer than Craig Craig McEldowney Backend ninja, SOLR maven, Level 36 lawful evil Drupal mage 14 years building content management systems, 7+ years Drupal Baby's got back-end development. not so keen on UI / UX Crankier than Steve Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 3. About Crifkin Craig McEldowney + Steve Rifkin = crifkin Craig gets less namespace, but more clout ● Virtual CTO/CIO Services ● Cloud architecture / turnkey HA/HP solutions ● Developers looking for interesting problems to solve Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 4. Agenda ● Framing the Problem ● Playing the DevOps workflow game ○ Vagrant ○ Chef Server ● "The Cloud Mentality" -- HA/HP from local dev to production Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 5. In the beginning YOU build sites. YOU do quality work. More people hire YOU. ... YOU become the limiting factor in this equation. YOU need to scale yourself, your process, your team, your clients. Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 6. Framing the Problem Developer/Process side How do I support Client K who is running in infrastructure Y while still supporting Client 4 who is running in infrastructure 11. How do I ingest new clients, yet still be able to support older ongoing clients without getting cranky? Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 7. Framing the Problem Team side I need to hand off some coding/theming/support responsibilities to another resource... What's the fastest/cheapest/most effective way to get them up and running so I can scale development efforts? Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 8. Framing the Problem Client side I need to be able to handle configuration changes, scale for traffic, address and balance High Performance/High Availability requirements, and provide a platform to grow with the client. Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 9. Playing the DevOps workflow game Let's flip the problem on its head. If we know where we're headed, we can make some smart choices on the way to solving them. Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 10. In a perfect world... How do we meet the client's needs for HA/HP/scaling? Configuration management and a supporting cloud platform. Crifkin spells this Chef + AWS = ChAWS. Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 11. Huh? Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 12. Huh? (Chef Server) ● Chef = Configuration Management System ● Written in Ruby ● Idempotent execution -- e.g. running recipe(s) multiple times will result in the same outcome ● Track stack architecture and allow servers to register with the stack and query for specific resources ● Other options: Puppet, Ansible, bash scripts and/or hating your life Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 13. How does this help me? I wrote all this cool chef stuff (recipes, roles). How does this help me with my process/team and my own efforts working for multiple clients? The answer rhymes with Ragrant Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 14. Huh? (Vagrant) ● Ruby command-line toolset for managing VirtualBox VMs ● Already built to pull configuration from Chef, Puppet, Bash, and other scripting methodologies ● Package Virtual Environments ● Multi-VM Host Environments-- e.g. run a scaled out production-like stack on your local environment Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 15. How does it fit together? Why spend a bunch of time putting together a stack and methodology for your production environment, without giving yourself options and tools to manage your local development efforts? Let's talk about environments... Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 16. Chef: Environments Chef allows you to create and assign nodes/servers to environments. Environments allow you to override server attributes/metadata, configuration parameters, recipe run lists, etc. So what if... We break up our deployment into environments, with resources to match each environment's needs. Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 17. Chef: Environments But instead of doing it in a stupid and boring way ● Lovingly handcraft servers and back them up hourly, daily, weekly, never? ● Rats nest of client environment on local machine ● Steve doesn't understand what I do. I don't understand what he does...custom scripting. Let's use the "Cloud Mentality" Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 18. The Cloud Mentality Some hard realities of cloud computing... ● Your servers are not beautiful and unique snowflakes ● Things will break and you will cry ● Steve is nicer about these things than I am Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 19. The Cloud Mentality The most important thing about your server is its configuration. Chef takes care of this. Chef has recipes and roles to define what a Webhead is, what a Reverse Proxy is, what a BananaFarm is. So crunch all you want, we'll make more. Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 20. The Cloud Mentality The difference between production and staging is the number of servers. The difference between staging and dev is the number of servers. The difference between dev and your local machine is.... The number of Virtual Machines! Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 21. Prod/Live Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 22. Staging Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 23. Local Dev Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 24. Chef Server is the glue Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 25. Huh? (Howzit fit together?) Local Dev Setup: Install VirtualBox Install Vagrant Edit Vagrantfile and point it at your chef server Spin up virtual machine(s) Download DB/file assets from S3 or local-- use drush aliases to take DB dumps from DB slaves where possible Edit code on local machine IDE by either mounting WebDAV drive, or setting up nfs share into Vagrant Extra credit for running this all from a bash script and/or through a recipe in Chef! Double credit for writing a homebrew...you Mac nerds Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 26. Um...right, this is Drupal Gotchas and considerations when using templated configuration for Drupal: 1. DB credentials/discovery 2. Other resources: i. memcached ii. SOLR iii. Reverse Proxy iv. etc... 3. Providing options for environment specific overrides -- e.g. no preprocess css in Dev, etc. Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 27. More advanced use-cases Set up Continuous Integration Use Jenkins or other post commit hooks to automagically spin up a stack in a dedicated testing environment, and run load, smoke, other tests Dashboard controls for controlling environments-- a la Aegir, but with Chef Server controlling the system configuration, and manage scaling parameters (autoscale), scheduling scaling, etc. Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin
  • 28. In a less perfect world... Client is committed to existing resources/deployment strategies? ● If this doesn't pose a business risk over an acceptable time frame, then save that fight for another day... ● Migrate some portion of their stack to new environment-- e.g. dev server/staging server? OR ● Use smart DevOps magic for you and your developer(s) to your side of this part of the process tight and efficient. Build up recipes/configurations so that they can be used in prod later on Craig McEldowney crifkin.com @crifkin SandCAMP 2013 1/25/12 Steve Rifkin