dbops, devops and ops
TRANSCRIPT
DBOPS, DEVOPS & OPSEduardo Piairo
Agile Thoughts
DBOPS, DEVOPS & OPS
• Eduardo Piairo
• @ Celfinet
• DBA (DbOps)
• DevOps
About me
@EdPiairo
https://pt.linkedin.com/in/jesuspiairo
http://www.eduardopiairo.com/
DBOPS, DEVOPS & OPS
1.Before Scrum
2.Scrum
3.Kanban
4.Scrum + Kanban
Time line
DBOPS, DEVOPS & OPS
1.Before Scrum
2.Scrum
3.Kanban
4.Scrum + Kanban
Time line
DBOPS, DEVOPS & OPSBefore Scrum
• Before Scrum - The “real agile” method
• Centralized decision mechanism
• Growing phase
• Size (5 to 15)
• Complexity (more and more components)
DBOPS, DEVOPS & OPSBefore Scrum
Application #1
Application #2
Application #3Shared database(s)
“Team” #1
“Team” #2
“Team” #3
“Team” #T-SQL
DBOPS, DEVOPS & OPS
1.Before Scrum
2.Scrum
3.Kanban
4.Scrum + Kanban
Time line
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”
DBOPS, DEVOPS & OPSDbOps – The beginning
Application #1
Application #2
Application #3Shared database(s)
Team #1
Team #2
Team #3
Team #T-SQL
DBOPS, DEVOPS & OPSDbOps – Building a process
Source
ControlContinuous
Integration
Continuous
Delivery
Database
+Application
DBOPS, DEVOPS & OPS
What’s so special about databases?
DbOps – Building a process
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
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
DBOPS, DEVOPS & OPSDbOps – Building a process
Source
ControlContinuous
Integration
Continuous
Delivery
Automation
+Change control
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
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”
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
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
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
DBOPS, DEVOPS & OPS
1.Before Scrum
2.Scrum
3.Kanban
4.Scrum + Kanban
Time line
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
DBOPS, DEVOPS & OPSDbOps - Communicating through a contract
• Contract – change communication management tool
• Change description (Source Control)
• Change validation (Continuous Integration)
• Change implementation (Continuous Delivery)
DBOPS, DEVOPS & OPS
1.Before Scrum
2.Scrum
3.Kanban
4.Scrum + Kanban
Time line
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
DBOPS, DEVOPS & OPSDbOps - Communicating through a contract
• Extending the Contract – change communication management tool
• Applications
• Databases
• Infrastructure
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)
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)
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/
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
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
DBOPS, DEVOPS & OPSQ&A
@EdPiairo
https://pt.linkedin.com/in/jesuspiairo
http://www.eduardopiairo.com/