Pavithra Raman - Solution Architect
Ron Northcutt - Senior Solution Architect
What is Continuous Delivery
and Why it’s important
Drupal 8 Lessons From the Field
Agenda
– What continuous delivery means
– Why it matters
– How it impacts and improves your business
– Different terms, tools, and options
– Practical example
What is continuous delivery (CD)?
“Continuous Delivery is the ability to get
changes of all types—including new features,
configuration changes, bug fixes and
experiments—into production, or into the
hands of users, safely and quickly in a
sustainable way.”
- https://continuousdelivery.com/
CD/CI Best Practices
1. Maintain a code repository
2. Automate the build
3. Make the build self-testing
4. Every commit (to baseline) should be
built
5. Test in a clone of the production
environment
6. Automate deployment
Notes:
● Everyone commits to the
baseline every day
● Keep the build fast
● Make it easy to get the latest
deliverables
● Everyone can see the results of
the latest build
©2017 Acquia Inc. — Confidential and Proprietary
Develop Test Deploy
Support &
Scale
Gather
customer data
& feedback
CD reduces time spent here...
...so we can focus on adding value here.
https://devacquia..com/blog/what-is-devops/04/01/2017/17466
7 ©2016 Acquia Inc. — Confidential and Proprietary
– Helps you build your code
from scratch
– Helps you automate testing
– Helps you automate
deployment
In other words, CD is like a friendly robot that...
Why does CD matter?
What we hear from organizations
~20% of Acquia support tix directly related to bad releases!
→ Codebase not up to date with latest
software
→ Significant time to merge, compile,
& deploy
→ Code checks (static analysis) done
infrequently
→ Testing mostly manual & time consuming
→ Delayed & bad releases
Traditional development methodologies
Minimal or no automation: manual, inconsistent, error prone
→ Long release cycles, larger changesets,
problems harder to find & resolve
→ Creates resource dependencies
→ Erodes and impacts confidence
Robots and Humans - Living in Harmony
→ Automate what you can
→ Let robots do what they are good at
→ Focus on enabling your developers
on their highest value (and fun) tasks
→ Everybody wins
How does CD impact and improve
your business?
©2016 Acquia Inc. — Confidential and Proprietary
Benefits of Continuous Delivery
Improve Developer Productivity
Continuous delivery helps your
team be more productive by freeing
developers from manual tasks and
encouraging behaviors that help
reduce the number of errors and
bugs released to customers.
Find and Address Bugs Quicker
With more frequent testing, your team
can discover and address bugs earlier
before they grow into larger problems
later.
Deliver Updates Faster
Continuous delivery helps your team
deliver updates to their customers
faster and more frequently.
Benefits of CD & Automation
Increase quality, consistency & reliability of your software
Enforce
Best Practices
Repeatability
Reliability
Code Checks
Testing
Speed
©2016 Acquia Inc. — Confidential and Proprietary
Digital DevOpsDigital Developers
What life is like with continuous delivery
– Deliver new features, often
– Deliver quality code
– Focus on great features, not manual
process
15
– Continuous integration on one platform
– Self-service production-like environments
– No custom integration code between test,
stage and production
©2016 Acquia Inc. — Confidential and Proprietary
Positive Business Outcomes
– Fewer bugs, more tested code in Production
– Spend less money on maintenance and more on
innovation
– Reduced security risk with managed platform
– Reduced procurement and maintenance costs for
infrastructure
Which all means...
– Faster time to solution and value
Terms, tools, and options
Coder
Pipelines
ESLint
BLT
©2016 Acquia Inc. — Confidential and Proprietary
So, you need...
1.A way to script out your build tasks
– Composer, NPM, Gulp, Grunt, SASS, etc.
2.A way to test your codebase
– Unit test, Behat, etc.
– Ideally in a clone of the prod environment
3.A way to deploy your codebase to the cloud
CI, CD, CD?
phpunit, Behat
Coder, ESLint
Drupal.org core &
contribution modules
Assembled
source codebase
Assemble multiple projects
into a single codebase
GitHub and private
repos
Third party Symfony
components
Compile source code into
production code
Composer, Drush Make,
Node Package Manager (NPM)
Production
runtime
Continuous
Delivery (CD)
Testing
0110100001100101
0110110001101100
0110111100100000
0111011101101111011
1001001101100011
00100
Continuous
Deployment
(CD)
DevOps Environments
for Acquia Cloud
Phases:
Continuous Integration
(CI)
Building
Run automated tests &
static code analysis
Deploy to Cloud
Tools:
CSS: Sass, LESS, Compass, etc.
JS: NPM, Grunt, Typescript, etc.
Acquia Cloud
Practical example
©2016 Acquia Inc. — Confidential and Proprietary
BLT - Build, Launch, Test
– An Acquia-built tool for creating new projects from a
standardized template
– A common set of tools for building, testing, validating,
deploying, etc.
– A collection of commands for automating common project
tasks
– A repository and enforcer of best practices
Acquia Cloud CD
Acquia Cloud CD is the fastest way for
digital experience developers and
DevOps teams deliver higher quality
customer value.
©2016 Acquia Inc. — Confidential and Proprietary
Benefits of a complete, integrated service
24
• On-demand
availability
• Aligned to
production
Continuous
Development
Environments
• Integrated for build
and test
• Integrated into
Acquia Cloud
Continuous
development pipeline • Built on Acquia Cloud
• Includes industry-
leading Acquia
Support
• Complete SLA
Production Application
©2016 Acquia Inc. — Confidential and Proprietary
Realizing benefits
25
Improved
Productivity
Improved
Reliability
Improved
Engagement
• Improved site uptime
• Increased frequency of Dx updates
• Faster bug fixes
• Enforce best practices across all dev teams and resources
• Eliminate the complexity associated with implementing and maintaining
commonly used testing tools
• Control access based on internal and external roles
• Deliver your customers digital experiences that adjust to market
conditions
• Develop truly responsive sites across devices, languages and regions
“With self-service environments available through
Acquia Cloud CD, we test more often and move to
production faster. They allow our product
managers to test simultaneously in separate
environments so we can complete testing faster
and avoid collisions with our production site. It
helps instill good DevOps practices, even though
we don’t have a DevOps team”
Matthew Crist, Lead Developer, City of Boston
Questions
Thank You

Drupal 8 Lessons From the Field: What is Continuous Delivery and Why it’s important

  • 1.
    Pavithra Raman -Solution Architect Ron Northcutt - Senior Solution Architect What is Continuous Delivery and Why it’s important Drupal 8 Lessons From the Field
  • 2.
    Agenda – What continuousdelivery means – Why it matters – How it impacts and improves your business – Different terms, tools, and options – Practical example
  • 3.
    What is continuousdelivery (CD)?
  • 4.
    “Continuous Delivery isthe ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.” - https://continuousdelivery.com/
  • 5.
    CD/CI Best Practices 1.Maintain a code repository 2. Automate the build 3. Make the build self-testing 4. Every commit (to baseline) should be built 5. Test in a clone of the production environment 6. Automate deployment Notes: ● Everyone commits to the baseline every day ● Keep the build fast ● Make it easy to get the latest deliverables ● Everyone can see the results of the latest build
  • 6.
    ©2017 Acquia Inc.— Confidential and Proprietary Develop Test Deploy Support & Scale Gather customer data & feedback CD reduces time spent here... ...so we can focus on adding value here. https://devacquia..com/blog/what-is-devops/04/01/2017/17466
  • 7.
    7 ©2016 AcquiaInc. — Confidential and Proprietary – Helps you build your code from scratch – Helps you automate testing – Helps you automate deployment In other words, CD is like a friendly robot that...
  • 8.
    Why does CDmatter?
  • 9.
    What we hearfrom organizations ~20% of Acquia support tix directly related to bad releases! → Codebase not up to date with latest software → Significant time to merge, compile, & deploy → Code checks (static analysis) done infrequently → Testing mostly manual & time consuming → Delayed & bad releases
  • 10.
    Traditional development methodologies Minimalor no automation: manual, inconsistent, error prone → Long release cycles, larger changesets, problems harder to find & resolve → Creates resource dependencies → Erodes and impacts confidence
  • 11.
    Robots and Humans- Living in Harmony → Automate what you can → Let robots do what they are good at → Focus on enabling your developers on their highest value (and fun) tasks → Everybody wins
  • 12.
    How does CDimpact and improve your business?
  • 13.
    ©2016 Acquia Inc.— Confidential and Proprietary Benefits of Continuous Delivery Improve Developer Productivity Continuous delivery helps your team be more productive by freeing developers from manual tasks and encouraging behaviors that help reduce the number of errors and bugs released to customers. Find and Address Bugs Quicker With more frequent testing, your team can discover and address bugs earlier before they grow into larger problems later. Deliver Updates Faster Continuous delivery helps your team deliver updates to their customers faster and more frequently.
  • 14.
    Benefits of CD& Automation Increase quality, consistency & reliability of your software Enforce Best Practices Repeatability Reliability Code Checks Testing Speed
  • 15.
    ©2016 Acquia Inc.— Confidential and Proprietary Digital DevOpsDigital Developers What life is like with continuous delivery – Deliver new features, often – Deliver quality code – Focus on great features, not manual process 15 – Continuous integration on one platform – Self-service production-like environments – No custom integration code between test, stage and production
  • 16.
    ©2016 Acquia Inc.— Confidential and Proprietary Positive Business Outcomes – Fewer bugs, more tested code in Production – Spend less money on maintenance and more on innovation – Reduced security risk with managed platform – Reduced procurement and maintenance costs for infrastructure Which all means... – Faster time to solution and value
  • 17.
  • 18.
  • 19.
    ©2016 Acquia Inc.— Confidential and Proprietary So, you need... 1.A way to script out your build tasks – Composer, NPM, Gulp, Grunt, SASS, etc. 2.A way to test your codebase – Unit test, Behat, etc. – Ideally in a clone of the prod environment 3.A way to deploy your codebase to the cloud
  • 20.
    CI, CD, CD? phpunit,Behat Coder, ESLint Drupal.org core & contribution modules Assembled source codebase Assemble multiple projects into a single codebase GitHub and private repos Third party Symfony components Compile source code into production code Composer, Drush Make, Node Package Manager (NPM) Production runtime Continuous Delivery (CD) Testing 0110100001100101 0110110001101100 0110111100100000 0111011101101111011 1001001101100011 00100 Continuous Deployment (CD) DevOps Environments for Acquia Cloud Phases: Continuous Integration (CI) Building Run automated tests & static code analysis Deploy to Cloud Tools: CSS: Sass, LESS, Compass, etc. JS: NPM, Grunt, Typescript, etc. Acquia Cloud
  • 21.
  • 22.
    ©2016 Acquia Inc.— Confidential and Proprietary BLT - Build, Launch, Test – An Acquia-built tool for creating new projects from a standardized template – A common set of tools for building, testing, validating, deploying, etc. – A collection of commands for automating common project tasks – A repository and enforcer of best practices
  • 23.
    Acquia Cloud CD AcquiaCloud CD is the fastest way for digital experience developers and DevOps teams deliver higher quality customer value.
  • 24.
    ©2016 Acquia Inc.— Confidential and Proprietary Benefits of a complete, integrated service 24 • On-demand availability • Aligned to production Continuous Development Environments • Integrated for build and test • Integrated into Acquia Cloud Continuous development pipeline • Built on Acquia Cloud • Includes industry- leading Acquia Support • Complete SLA Production Application
  • 25.
    ©2016 Acquia Inc.— Confidential and Proprietary Realizing benefits 25 Improved Productivity Improved Reliability Improved Engagement • Improved site uptime • Increased frequency of Dx updates • Faster bug fixes • Enforce best practices across all dev teams and resources • Eliminate the complexity associated with implementing and maintaining commonly used testing tools • Control access based on internal and external roles • Deliver your customers digital experiences that adjust to market conditions • Develop truly responsive sites across devices, languages and regions
  • 26.
    “With self-service environmentsavailable through Acquia Cloud CD, we test more often and move to production faster. They allow our product managers to test simultaneously in separate environments so we can complete testing faster and avoid collisions with our production site. It helps instill good DevOps practices, even though we don’t have a DevOps team” Matthew Crist, Lead Developer, City of Boston
  • 27.
  • 28.