Building Software for a Continuous Delivery...

Post on 03-Jun-2020

5 views 0 download

Transcript of Building Software for a Continuous Delivery...

Building Software for a Continuous Delivery ModelStephen Mulcahy

November 2016

Agenda

• HPE Helion Openstack

• DevOps

• Development workflow

• CI/CD system

• Benefits of a DevOps approach

• How you can start

2

HPE Helion Engineering

• Global team

• France

• India

• Ireland

• UK

• USA

• History

• Digital, Compaq HPC

• HP Storage

• HP Public Cloud (OpenStack)

• Helion OpenStack 1.0 (TripleO based, inflexible, upgrade problems)

• Helion OpenStack 2.0 and beyond (Helion Lifecycle Manager - Ansible, Extensible, Flexible, Dev == CI/CD)

3

OpenStack

4

HPE Helion OpenStackEnterprise-grade OpenStack private cloud

5

HPE Helion OpenStack ReleasesAccelerating with Automation

6

2015 2016 2017

Mar

2.1.2

Dec

2.1

Feb

1.1

Oct

2.0

May

3.0

May

2.1.5

Jun

2.1.6

Feb

2.1.1

Mar

2.1.3

Jun

3.0.1

May

1.1.1

Nov

1.1.2

Nov

2.0.1

Mar

1.1.3

Apr

2.1.4

May

1.1.4

Jun

2.0.2

• 106 projects/git repos in each build

• Build on every change

• Nightly sync of 58 upstream open source projects/git repos (average over 400 commits/day)

• Building 9 HOS streams/3 hours

• Customer-specific hotfix capability for any release

Jun

2.0.3

Aug

3.0.2

CS10

Oct

4.0

HCG 4.0

7

What is DevOps?CAMS

8

Culture

Measurement

Sharing

Automation

DevOps Culture

• Collaboration (breaking down silos)

• It’s about delivery

• Optimisation

• Feedback (Systems and Process)

• Continuous change

• Continuous improvement (“Kaizen”)

• Not just Dev and Ops

9

DevOps Practices

• Continuous Integration

• Canary builds

• Continuous delivery (versus continuous deployment)

• Developers On-call

• Configuration management

• Infrastructure as Code

• Metrics and monitoring

10

DevOps Tools

11

DevOps Tools

12

Development workflow

13

CI/CD system

14

Benefits of a DevOps approach

• Reduce fear of change

• Increase confidence in deployments

• Build every day (not every few weeks or months)

• Fail fast (fix fast)

• Faster Feedback

• Reduced time to Market

• No surprises for QA at the end of dev cycle

• Information sharing

• Removes need for heroics

• Automation frees time to spend on design and on that things that matter

15

How you can start

• You may be doing it already

• Pick a small project and make it work

• Pick a problem area where there is real pain

• Small steps

• Collaboration (Respect and Trust)

• No manual changes to production (or test) environments

• Automate, automate, automate

• Measure what matters

• “If you have a DevOps team you’re doing it wrong”

16

Thank youstephen.mulcahy@hpe.com

17

Reading

o http://www.jedi.be/blog/2010/02/12/what-is-this-devops-thing-anyway/

o http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr/

o http://radar.oreilly.com/2012/06/what-is-devops.html

o http://www.slideshare.net/jedi4ever/devopsdays-downundervfinal

o http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/

o https://en.wikipedia.org/wiki/DevOps

o http://www.10factor.ci/

oDuvall, P., Matyas, S., & Glover, A. (2007). Continuous integration (1st ed.). Upper Saddle River, NJ: Addison-Wesley. (ISBN: 9780321336385)

oHumble, J. & Farley, D. (2011). Continuous delivery (1st ed.). Upper Saddle River, NJ: Addison-Wesley. (ISBN: 9780321601919)

18

19

20

21

22

23