Continuous delivery for databases - Bristol DevOps Edition
-
Upload
james-smith -
Category
Technology
-
view
275 -
download
0
Transcript of Continuous delivery for databases - Bristol DevOps Edition
ABOUT ME
Co-founder @ DevOpsGuys
Two decades building & delivering enterprise web systems
Helped many, many companies implement Continuous Delivery practices
Found High Quality Belgian Beer in late nineties!
Who is this guy?
DEPLOYMENT RATES
8
300 Deployments / Year
50-60 Deployments / Day
10+ Deployments / Day
Every 11.6 seconds
HIGH PERFORMERS
HIGH PERFORMING IT ORGANISATIONS DEPLOY 30
TIMES MORE FREQUENTLY, WITH 50% FEWER FAILURES WITH
8000X FASTER LEAD TIMES THAN THEIR PEERS.
9
HIGH PERFORMERS
THEY ARE ALSO TWO TIMES MORE LIKELY TO EXCEED PROFITABILITY, MARKET SHARE &
PRODUCTIVITY GOALS
THEY EXPERIENCE 50% HIGHER MARKET CAPITALIZATION GROWTH OVER 3 YEARS
10
REGULAR, RAPID, RELIABLE AND CONTROLLED DELIVERY OF WORKING SOFTWARE SYSTEMS INTO PRODUCTION
Matthew Skelton
DEVOPS CALMS MODEL
Culture Hearts & Minds, Embrace Change
Automation Of all the things; testing, deployment, infrastructure
Lean Small batch sizes, value for end-users
Measurement Of all the things; show the improvement
Sharing Open, transparent collaboration
WWW.DEVOPSGUYS.COM - @DEVOPSGUYS 15
Plan Code Build Test Release Deploy Operate
CONTINUOUS ?
16
Continuous Integration
Continuous Delivery
Continuous Deployment
DevOps
Nhan Ngo, a QA engineer at Spotify
CONTINUOUS DELIVERY
1. Build Management & CI
2. Environments & Deployment
3. Release Management & Compliance
4. Testing
5. Data Management
18
Your systems are under pinned by data and in most organisations data is the hardest and most expensive item to manage.
Data is needed by developers and testers to ensure that software products are high quality. Its needed by support teams to
troubleshoot and resolve issue effectively.
20
BUT DATABASE CHANGE IS SCARY
21Photo Credit: http://cache.lego.com/r/www/r/movie/-/media/franchises/the%20lego%20movie/explore/downloads/wallpapers/lego_wps_1600_emmet.jpg?l.r=-1410608028
WE DEFEND THE THREAT
Photo Credit: "Rumrunner" via Compfight cc
WE STOP CHANGE
25Photo Credit: s.kosoris via Compfight cc
CUSTOMERS GET SAD
26Photo Credit: Kalexanderson via Compfight cc
THE BUSINESS GETS ANGRY
27Photo Credit: powerpig builds via Compfight cc
AND IT GET THE BLAME!
28Photo Credit: bobsfever via Compfight cc
LEGO = DEVOPS
Rapid proto-typing & experimentation
Building blocks no right or wrong way
Promotes collaboration
Strong cultural appeal
Small batch sizes
Visibly measureable
Manufacturing
Zenon
Mindstorms
Danish phrase leg godt, which means "play well".
!= CTRL C, CTRL V
Database deployment is not copying and replacing.
It is the transformation from a previous version to the next version while preserving data integrity.
Deploying database change is hard
Deploying database change frequently is even harder
#1: VERSION CONTROL
Photo Credit: ntr23 via Compfight cc
#2: AGAINST THE FLOW
37
Photo Credit: slang589 via Compfight cc
Photo Credit: slang589 via Compfight cc
#3: COMPLEXITY
39Photo Credit: L@go via Compfight cc
#4: DATA VOLUME
Photo Credit: http://www.calgaryherald.com/news/calgary/Gallery+LEGO+KidsFest/9848406/story.html
#5: CONWAY'S LAW
Photo Credit: kirk_arts via Compfight cc
CONWAY'S LAW
"Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a
design whose structure is a copy of the organization's communication structure
- Conway, 1968
44
CONWAY'S LAW
Is (was) a database really needed? 3 Tiers anyone?
Centralised vs Decentralised?
Formalised [change] control
#1: GET UNDER CONTROL
Photo Credit: RHiNO NEAL via Compfight cc
VERSION CONTROL
it should be in VCS!
it should be in VCS!
it should be in VCS!
Schema & Static/Reference Data
Reverse engineer existing schema & reference data
#2: INTEGRATE CONTINUOUSLY
49Photo Credit: ....Tim via Compfight cc
CONTINUOUS INTEGRATION
Automate your build steps (Full vs Incremental)
Build a library of manual tests
Automate your tests
50
#3: AUTOMATE TESTING
51Photo Credit: s3aphotography via Compfight cc
TEST, TEST, TEST
Select the right tests for each stage;Unit testing
Integration Testing
Deployment Validation
Behaviour Validation
Determine the right data for testingDo you need it all?
52
#4: AUTOMATION
53Photo Credit: pasukaru76 via Compfight cc
AUTOMATE ALL THE THINGS
Testing
Deployment
Back-up and more importantly restore
Archiving
Rollback
54
#6: CHANGE YOUR WAYS
58Photo Credit: Stéfan via Compfight cc
Technology is only half of the story
Management must think of operations as part of development
Deployment is part of development
Data retention is part of development
Fail faster, but fail safely
59
Customers see results and new features more quickly.
Shorter feedback cycles increases our ability to learn.
Improve the whole system.
Reduce firefighting.
Everyone wins!
67
EVERYBODY WINS!
68Photo Credit: Kalexanderson via Compfight cc
69Photo Credit: Walter Benson via Compfight cc