28
Pavithra Raman - Solution Architect Ron Northcutt - Senior Solution Architect What is Continuous Delivery and Why it’s important Drupal 8 Lessons From the Field

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

  • Upload
    acquia

  • View
    338

  • Download
    1

Embed Size (px)

Citation preview

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 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...

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

infrastructureWhich 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, 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

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