dbops, devops and ops
TRANSCRIPT
![Page 1: DbOps, DevOps and Ops](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/1.jpg)
DBOPS, DEVOPS & OPSEduardo Piairo
Agile Thoughts
![Page 2: DbOps, DevOps and Ops](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/2.jpg)
DBOPS, DEVOPS & OPS
• Eduardo Piairo
• @ Celfinet
• DBA (DbOps)
• DevOps
About me
@EdPiairo
https://pt.linkedin.com/in/jesuspiairo
http://www.eduardopiairo.com/
![Page 3: DbOps, DevOps and Ops](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/3.jpg)
DBOPS, DEVOPS & OPS
1.Before Scrum
2.Scrum
3.Kanban
4.Scrum + Kanban
Time line
![Page 4: DbOps, DevOps and Ops](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/4.jpg)
DBOPS, DEVOPS & OPS
1.Before Scrum
2.Scrum
3.Kanban
4.Scrum + Kanban
Time line
![Page 5: DbOps, DevOps and Ops](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/7.jpg)
DBOPS, DEVOPS & OPS
1.Before Scrum
2.Scrum
3.Kanban
4.Scrum + Kanban
Time line
![Page 8: DbOps, DevOps and Ops](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/10.jpg)
DBOPS, DEVOPS & OPSDbOps – Building a process
Source
ControlContinuous
Integration
Continuous
Delivery
Database
+Application
![Page 11: DbOps, DevOps and Ops](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/11.jpg)
DBOPS, DEVOPS & OPS
What’s so special about databases?
DbOps – Building a process
![Page 12: DbOps, DevOps and Ops](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/14.jpg)
DBOPS, DEVOPS & OPSDbOps – Building a process
Source
ControlContinuous
Integration
Continuous
Delivery
Automation
+Change control
![Page 15: DbOps, DevOps and Ops](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/20.jpg)
DBOPS, DEVOPS & OPS
1.Before Scrum
2.Scrum
3.Kanban
4.Scrum + Kanban
Time line
![Page 21: DbOps, DevOps and Ops](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/23.jpg)
DBOPS, DEVOPS & OPS
1.Before Scrum
2.Scrum
3.Kanban
4.Scrum + Kanban
Time line
![Page 24: DbOps, DevOps and Ops](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/25.jpg)
DBOPS, DEVOPS & OPSDbOps - Communicating through a contract
• Extending the Contract – change communication management tool
• Applications
• Databases
• Infrastructure
![Page 26: DbOps, DevOps and Ops](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/28.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/30.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022021423/5881db9f1a28ab331a8b7817/html5/thumbnails/31.jpg)
DBOPS, DEVOPS & OPSQ&A
@EdPiairo
https://pt.linkedin.com/in/jesuspiairo
http://www.eduardopiairo.com/