continuous delivery in the uk public sector

25
Continuous Delivery in the UK public sector Nuno Marques @nfma

Upload: nuno-marques

Post on 17-Aug-2015

61 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Continuous Delivery in the UK public sector

Continuous Delivery in the UK public sector

Nuno Marques @nfma

Page 2: Continuous Delivery in the UK public sector

Summary

• what?

• how?

• benefits

• public sector

• our journey

Page 3: Continuous Delivery in the UK public sector

What?Continuous delivery is a pattern language used in software development to automate and improve the process of software delivery !

wikipedia!

Pattern language is a method of describing good design practices within a field of expertise!

Christopher Alexander, “Pattern Language”

Page 4: Continuous Delivery in the UK public sector

What?

Continuous delivery is a collection of good design practices in software development to

automate and improve the process of software delivery !

Page 5: Continuous Delivery in the UK public sector

How?

Page 6: Continuous Delivery in the UK public sector

Benefits• time to market

• users benefit from application/features earlier

• smaller feedback loops

• better ability to react to change in a timely manner

• better efficiency

• improved reliability and stability

• no rollbacks

Page 7: Continuous Delivery in the UK public sector

Public sector challenges

• previous failures

• security

• mentality

Page 8: Continuous Delivery in the UK public sector

Public sector failures

• NHS IT Programme

• £10bn overrun (2002-2011) parts used

• BBC Digital Media Initiative

• £98m (2008-2013) cancelled

• Universal Credit

• £10bn (2013- ) 75% cancelled

Page 9: Continuous Delivery in the UK public sector

Public sector addressing failures

• GDS (gov.uk)

• small(er) companies

• free and open source

• be agile

Page 10: Continuous Delivery in the UK public sector

Public sector security challenges

• data leaks

• being hacked

• required CTC, SC and background checks

• restricted access everywhere

• public humiliation in general

Page 11: Continuous Delivery in the UK public sector

• own computers

• disk encryption

• locked with strong passwords

• security clearances and background checks

• no access to organisation’s systems

• shared systems don’t contain sensitive data

Public sector addressing security

Page 12: Continuous Delivery in the UK public sector

Public sector organisation’s mentality

• conservative

• change avoidance

• waterfall

Page 13: Continuous Delivery in the UK public sector

Public sector addressing organisations mentality

• GDS paving the way

• informal coaching

• reassurance through data

• making change the norm

• being agile as opposed to doing agile

Page 14: Continuous Delivery in the UK public sector

Journey goal

• replace a system that had been delivered the year before

Page 15: Continuous Delivery in the UK public sector

Journey tech stack, architecture & tools

• scala, play, dropwizard, mongodb, etc…

• microservices architecture

• environments (dev, test, preview, live, …)

• gitlabs, pivotal, jenkins

• GDS cloud

Page 16: Continuous Delivery in the UK public sector

Journey till alpha

• prototypes

• UX getting feedback from prototypes

• people at Starbucks

• going to centres

• jenkin’s build

• automating deployment with puppet

Page 17: Continuous Delivery in the UK public sector

Journey alpha till beta

• one devop person joined

• basic monitoring

• pingdom

• sensu

• releasing every week (negotiated)

Page 18: Continuous Delivery in the UK public sector

Journey release challenges

• parked for a week because of approvals

• required going through every commit

• required explicit request to production environment

• gathered crowd

Page 19: Continuous Delivery in the UK public sector

Journey addressing release challenges

• flawless and boring releases

• speeding up the approval process

• automating release notes

• improved commit messages

Page 20: Continuous Delivery in the UK public sector

Journey more challenges

• tight and rigid deadline

• improving live products

• law changes

Page 21: Continuous Delivery in the UK public sector

Journey addressing deadline

• scope control

• working extra

Page 22: Continuous Delivery in the UK public sector

Journey addressing improvement of live products

and law changes• feature switches

• bug fixing release candidates

• sanitising data migrations

• improved monitoring

• logstash & kibana

• zabbix

Page 23: Continuous Delivery in the UK public sector

Journey notes on feature switches

• quicker integration (compared to feature branches)

• configuration per environment

• intrusive

• requires testing even when off

• requires work after activation

Page 24: Continuous Delivery in the UK public sector

Journey backlog

• moving towards the final infrastructure (still being designed)

• helping the organisation take over support

Page 25: Continuous Delivery in the UK public sector

Q&A