dbops, devops and ops

31
DBOPS, DEVOPS & OPS Eduardo Piairo Agile Thoughts

Upload: eduardo-piairo

Post on 20-Jan-2017

223 views

Category:

Engineering


3 download

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/