Top Banner
DBOPS, DEVOPS & OPS Eduardo Piairo Agile Thoughts
31

DbOps, DevOps and Ops

Jan 20, 2017

Download

Engineering

Eduardo Piairo
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSEduardo Piairo

Agile Thoughts

Page 2: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPS

• Eduardo Piairo

• @ Celfinet

• DBA (DbOps)

• DevOps

About me

@EdPiairo

https://pt.linkedin.com/in/jesuspiairo

[email protected]

http://www.eduardopiairo.com/

Page 3: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPS

1.Before Scrum

2.Scrum

3.Kanban

4.Scrum + Kanban

Time line

Page 4: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPS

1.Before Scrum

2.Scrum

3.Kanban

4.Scrum + Kanban

Time line

Page 5: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSBefore Scrum

• Before Scrum - The “real agile” method

• Centralized decision mechanism

• Growing phase

• Size (5 to 15)

• Complexity (more and more components)

Page 6: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSBefore Scrum

Application #1

Application #2

Application #3Shared database(s)

“Team” #1

“Team” #2

“Team” #3

“Team” #T-SQL

Page 7: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPS

1.Before Scrum

2.Scrum

3.Kanban

4.Scrum + Kanban

Time line

Page 8: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSScrum

• Scrum - The “magic” scrum

• Scrum for the masses (>20)

• Pure Scrum approach – operations as development team

• 2 week sprint, sprint goal

• The team was “too reactive”

Page 9: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps – The beginning

Application #1

Application #2

Application #3Shared database(s)

Team #1

Team #2

Team #3

Team #T-SQL

Page 10: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps – Building a process

Source

ControlContinuous

Integration

Continuous

Delivery

Database

+Application

Page 11: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPS

What’s so special about databases?

DbOps – Building a process

Page 12: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps - Motivation

• Databases are out of pace with application development

• Need of synchronization between development and DBA teams

• No traceability of database changes (changes history)

• What changed? Who? When? Why?

• Manual databases processes prevent the CI and CD utilization in their full extent

• Your process has the strength of your weakest step

• Time consuming and error prone

• Releases are less frequent and risky

Page 13: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps - Motivation

• Bugs in production environment

• Database related bugs are only discovered after deployment to production

• Manual tests or inexistent tests

• Fixes and hotfixes have time cost, what can lead to delay a release

• Database setup time of a new environment

• Expensive process for new clients

• Databases become a bottleneck in agile delivery processes

• An easy target to blame

Page 14: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps – Building a process

Source

ControlContinuous

Integration

Continuous

Delivery

Automation

+Change control

Page 15: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps - The value of automation

• Enable control over database development

• Increase speed of response to change

• Keep a versioned “history” of database states

• Greater reliability of the release process

• Increase release frequency through repeatability of processes

• Reduce time spent fixing bugs - automated tests

• Remove/reduce human intervention in the release process

• The build step is automatic triggered by a “push” into source control repository

• The deploy step is automatic triggered by a successfully build process

Page 16: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps - The value of automation

• Without automation your are working in a amnesic state

• Learn and forget it vs Improve and forget it

• You do not want to depend on the “best of the best”

Page 17: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps - Communicating through a contract

• Contract – change communication management tool

• Set of rules and expectations

• Define responsibility frontiers

• Sets a common language

Application #1

Application #2

Application #3

Shared database(s)

Team #1

T-SQL Script

Team #2

Team #3

Team #T-SQL

Page 18: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps - Communicating through a contract

• Contract – change communication management tool

• Rule 1: Script version (timestamp)

• Rule 2: Operation type

• Rule 3: Object type

• Rule 4: Object name

Example:

V20160220.1100__Create_TB_MyTable.sql

Page 19: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps - Communicating through a contract

• Contract – change communication management tool

• Should be reflected in your development pipeline

• The better/clearer your pipeline, the less you need to document (your code is your documentation)

• Everything is negotiable in the contract, except its application

Page 20: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPS

1.Before Scrum

2.Scrum

3.Kanban

4.Scrum + Kanban

Time line

Page 21: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSKanban

• Kanban 101

• Focus on development teams necessities

• 4 week iterations

• A bad choice

• Different “language” from other teams

• Desynchronization between operations and development teams

Page 22: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps - Communicating through a contract

• Contract – change communication management tool

• Change description (Source Control)

• Change validation (Continuous Integration)

• Change implementation (Continuous Delivery)

Page 23: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPS

1.Before Scrum

2.Scrum

3.Kanban

4.Scrum + Kanban

Time line

Page 24: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSScrum + Kanban

• Scrum + Kanban – The best of two worlds

• 2 week sprint, sprint goal

• Task definition was based on teams necessities and our necessities

• Team capacity < 70% (enough bandwidth to react)

• Strong and disciplined team

• Integration in solutions design

Page 25: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps - Communicating through a contract

• Extending the Contract – change communication management tool

• Applications

• Databases

• Infrastructure

Page 26: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDbOps - Communicating through a contract

• Extending the Contract – change communication management tool

• Applications

Interaction points between apps and the others components of the system

Behavior definition (configuration)

• Databases

Minimal context definition (data security)

• Infrastructure

Every team should know/contribute to the infrastructure model (Infrastructure as code)

Page 27: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSWhy DevOps? (Definition)

• Developing software is not enough, you have to deliver it

• Communication framework for manage change

• You can not stop change, but you can control it

• Perspectives

• Need for speed (time-to- market) (management people)

• Need for control (error control) (operations people)

Page 28: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSOperations

• “Is the constellation of your org’s technical skills, practices, and cultural

values around designing, building and maintaining systems, shipping

software, and solving problems with technology.”

• “It is how you get shit done”

https://charity.wtf/2016/05/31/wtf-is-operations-serverless/

Page 29: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSOperations future

• #Insert_Here# … as Code

• Everything is code (Thank you virtualization!!)

• Automation (cost, speed and risk)

Leave the work to the machines and the thinking to you

• The road to continuous…

• App centered

• The automation focus the application

• Automation flies with the application

• Minimal images, immutable instances/behavior

Page 30: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSDevOps – Final thoughts

• Helps to manage your delivery pain

• In order to be fast you need to have control

• It´s a role

• It´s a role that everyone must have

• Your team is as strong as your weaker player

• Choose whatever devops model/approach you want

• You just need to hire competent people

Page 31: DbOps, DevOps and Ops

DBOPS, DEVOPS & OPSQ&A

@EdPiairo

https://pt.linkedin.com/in/jesuspiairo

[email protected]

http://www.eduardopiairo.com/