Date post: | 21-Jan-2018 |
Category: |
Technology |
Upload: | acquia |
View: | 339 times |
Download: | 1 times |
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
“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 DeploySupport &
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...
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
©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
infrastructureWhich all means...
– Faster time to solution and value
©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, BehatCoder, 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
01101000011001010110110001101100011011110010000001110111011011110111001001101100011
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
©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