30
1 Rising Above the Noise: Continuous Integration, C. Delivery, DevOps and What They Mean to You

Rising Above the Noise: Continuous Integration, Delivery and DevOps

Embed Size (px)

Citation preview

Page 1: Rising Above the Noise: Continuous Integration, Delivery and DevOps

1

Rising Above the Noise: Continuous Integration, C. Delivery, DevOps

and What They Mean to You

Page 2: Rising Above the Noise: Continuous Integration, Delivery and DevOps

2

Maciej Zawadzki

• Cofounder and CEO of Urbancode

• Original author of AnthillPro. Architect of Urbancode’s DevOps Platform.

• Blog: http://blogs.urbancode.com• Twitter: @devl_in_details

Page 3: Rising Above the Noise: Continuous Integration, Delivery and DevOps

3

Eric Minick

• Lead Consultant• Worked as a dev, tester, and

release guy• Dozens of enterprise rollouts • Blog: http://blogs.urbancode.com• Twitter: @EricMinick

Page 4: Rising Above the Noise: Continuous Integration, Delivery and DevOps

4

Agenda

• Continuous Integration• Continuous Delivery• DevOps• The Future• Resources

Page 5: Rising Above the Noise: Continuous Integration, Delivery and DevOps

5

CI: it’s about Quality Determination

• Integrating frequently is less painful than infrequently.– But, If we commit frequently blindly, we have a

broken code base

• Implied condition: each integration will not decrease the code quality. – This is the key to CI – The rest is implementation details.

http://blogs.urbancode.com/continuous-integration/continuous-integration-why-you-dont-really-get-it/

Page 6: Rising Above the Noise: Continuous Integration, Delivery and DevOps

6

CI: the Implemention

• How do we determine code quality? We test it• How do we test code? We build it and run

tests against it• CI requires fast feedback, so what tests do we

run? Unit tests• This is how we get from CI to CI servers and

software builds

Page 7: Rising Above the Noise: Continuous Integration, Delivery and DevOps

7

CI: the Disruption of Build Management

• Paradigm change: similar to structure of scientific revolutions – Thomas Kuhn

• Before CI, build engineers would:– Manually perform the build

• After the paradigm change, build engineers would:– Design the build process for projects. The actual

build execution is handled by a tool.

Page 8: Rising Above the Noise: Continuous Integration, Delivery and DevOps

8

CI: the Bumps

• CI Builds– Purpose: determine

quality of latest changes– Audience: development

team– Source: Build is traceable

to latest changes and “latest” source

– Artifacts: Throw away builds, tests are important

• Build Management Builds– Purpose: produce artifacts

for 3rd parties– Audience: 3rd parties

outside development– Source: Build is traceable

to source

– Artifacts: Important builds, artifacts are important and primary

Page 9: Rising Above the Noise: Continuous Integration, Delivery and DevOps

9

CI: the Innovation of Automation

• Invention: proven to work in the laboratory• Innovation: it can be replicated reliably on a

meaningful scale at practical costs.• For an idea to move from invention to

innovation requires an ensemble of critical components. Peter M. Senge, The Fifth Discipline

• CI brings together “critical” factors:– Automation– Self-service– Transparency/Visibility

Page 10: Rising Above the Noise: Continuous Integration, Delivery and DevOps

10

CI: Summary

• CI requires the determination of code quality• CI disrupted Build Management• CI represents the Innovation of Automation

Page 11: Rising Above the Noise: Continuous Integration, Delivery and DevOps

11

Agenda

• Continuous Integration• Continuous Delivery• DevOps• The Future• Resources

Page 12: Rising Above the Noise: Continuous Integration, Delivery and DevOps

12

Continuous Delivery: What is it?

• Continuation of the Quality Determination that CI started.

• Functional tests require deployment.• Progression through environments on a march

to production, with “the build” subjected to more exhaustive tests in each environment.

Page 13: Rising Above the Noise: Continuous Integration, Delivery and DevOps

13

Continuous Delivery: The Drivers

• Quality Determination: – CI left unfinished business on the table.– Further tests require deployments.

• Agile: keeping up with the pace. • Innovation of Automation: self-service and

visibility have a powerful attraction

Page 14: Rising Above the Noise: Continuous Integration, Delivery and DevOps

14

Continuous Delivery: the Details

• Deploying multi-tiered applications is not trivial. – Application model– Component (tier) model– Mapping of components to servers in each Env.

• Multiple Tiers– Database changes– Middleware code changes– Middleware config changes– Flat file changes

• Multi-environment deployments– Handle different environment topologies– Handle different environment configurations

Page 15: Rising Above the Noise: Continuous Integration, Delivery and DevOps

15

Continuous Delivery & Mountain Bikes

• How many people own a mountain bike?• How many people ever took it down a

mountain?• The guys that deploy to production 50 times a

day drive their mountain bike down the mountain.

• The rest of us benefit from the technology as we have a comfortable ride on the park trails with our kids.

Page 16: Rising Above the Noise: Continuous Integration, Delivery and DevOps

16

Continuous Delivery: Theory & Reality

• The reality is that:– Dev and Ops are in different silos– Dev and Ops use different tools– Dev produces change, Ops seeks to control change– 50 page Word doc is the standard hand-off

between Dev and Ops

Page 17: Rising Above the Noise: Continuous Integration, Delivery and DevOps

17

Continuous Delivery: Summary

• CD follows through on what CI started, the quality determination

• CD works for basic deployments, but struggles in the complex

• CD reality is that most organizations use it in lower environments only

Page 18: Rising Above the Noise: Continuous Integration, Delivery and DevOps

18

Agenda

• Continuous Integration• Continuous Delivery• DevOps• The Future• Resources

Page 19: Rising Above the Noise: Continuous Integration, Delivery and DevOps

19

DevOps: the Drivers

• The Cloud (Iaas / PaaS): – Has all the “critical” factors for Innovation– Self-service is a radical shift in the SLA

• Hand-off document leads to errors• Agile & Business leads to faster pace

Page 20: Rising Above the Noise: Continuous Integration, Delivery and DevOps

20

DevOps: the Disruption

• Cloud offers an alternative to Enterprise IT• Enterprise IT will need to match the SLA• Private cloud is a way to remain competitive• Adopting cloud automation is a paradigm shift• Paradigm shift opens the flood gates for

deployment automation

Page 21: Rising Above the Noise: Continuous Integration, Delivery and DevOps

21

DevOps: the Implementation, Convergence

• Virtualization as a base• PaaS is utilized:

– Application teams may request environments for their applications.

– Environments are configured with OS / DB / Middleware / etc. (System Config Tools)

• Application Deployment to provisioned environments. (ARA tools)

Page 22: Rising Above the Noise: Continuous Integration, Delivery and DevOps

22

DevOps: the Bumps Ahead

Dev

• Very High Tempo

• Can rebuild database / app from scratch– No need for Rollbacks

• Audit is nice to have– Security, traceability,

separation of duties.

• New Environments are common

Ops

• Slower Tempo

• Incremental updates to Database and App– Rollbacks are huge

• Audit Critical– Security, traceability,

separation of duties.

• New environments are rare

Page 23: Rising Above the Noise: Continuous Integration, Delivery and DevOps

23

The Summary

• CI represents Innovation of Automation• CI got us started down the road towards PROD• CD continued the work that CI started • CD provides basic deploy hooked into CI• ARA provides complex deployments for Ops• DevOps will disrupt Ops the same way CI

disrupted Build Management• DevOps opens the door for the convergence

with Dev practices such as CD

Page 24: Rising Above the Noise: Continuous Integration, Delivery and DevOps

24

Agenda

• Continuous Integration• Continuous Delivery• DevOps• The Future• Resources

Page 25: Rising Above the Noise: Continuous Integration, Delivery and DevOps

25

Where are we headed?

• Private clouds (or public/private)• Platform as a service

– Servers with middleware, properly configured, managed, and available self-service.

• Application deployment onto the platform• Release Management

– Tracks builds through the (PaaS) environments from CI to Production.

– Same deployment process for all environments

Page 26: Rising Above the Noise: Continuous Integration, Delivery and DevOps

26

Where are the tools headed?

• Pre-2006: Just CI tools

• 2006-2010: CI becomes Continuous Delivery – First end-to-end tool is AnthillPro in 2006.

• Now: DevOps– CI is commodity.– CD tools moving towards CI + ARA – Expanding integrations with private cloud

Page 27: Rising Above the Noise: Continuous Integration, Delivery and DevOps

27

Agenda

• Continuous Integration• Continuous Delivery• DevOps• The Future• Resources

Page 28: Rising Above the Noise: Continuous Integration, Delivery and DevOps

28

More on CI, CD, and DevOps

Webinars and more: http://urbancode.com/resources• Death to Manual Deployments!• Build & Deployment Automation for the Lean Economy• Enterprise DevOps: Scaling Build, Deploy, Test, Release

You should follow us:Blogs.urbancode.com Twitter.com/UrbanCodeSoftFacebook.com/UrbanCodeSoft

Page 29: Rising Above the Noise: Continuous Integration, Delivery and DevOps

29

Yes, UrbanCode has tools that help

• DevOps Platform– uBuild: Continuous Integration and Build

Management– uDeploy: Model driven deployment automation– uCloud: Environment provisioning integrated with

existing virtualization (coming soon)