DevOps For Database
Infra SCG | | 24th Sep2016
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
Agenda
1. Take Away
2. Brief What & Why DevOps?
3. DBA/Developers Gain Efficiency with DevOps
4. DevOps Tools to automate DB activities
5. Case Study
6. Appendix
7. Questions / Feedback
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
Take Away
High level understanding of DevOps, CD and database DevOps
How tools are helping to gain efficiency in operations
Brief about DevOps tools which can help database automations
Database DevOps tools comparison
Overview of implementation for automation of DBCR using GIT, Jenkins,
ANT and Sonar
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
Brief - DevOps / CD/ DBDevOps
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
What is DevOps
5
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
What is DevOps
No matter what you think of the
DevOps movement, two things are
certain: The full definition of DevOps
can be remarkably hard to pin down,
but the basic premise of development
and operations collaborating closely
leads to higher quality applications.
DevOps is a response to a continual
frustration: a lack of collaboration and
communication between development
and operations on software projects
that increase the cost , time and labor
involved in delivering and maintaining
software systems.
OPs
Dev
Biz
Agile
DevOps
DevOps is complementary to Agile
6
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
Continuous Delivery
Continuous Delivery (CD) is the automated implementation of build, deploy , test ,
release and monitoring processes.
CD approach involves continuous automation of build, deployment, testing &
release activities with the following goals
To make the process efficient & reliable
Make process more visible
Enable automated testing
Ensure quality is built into the process
7
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
What DevOps Means To Database
With DevOps gaining momentum , DBAs and database developers need to
include database in the continuation process.
DevOps for Database requires best practices just like source code.
Deployment practices need to be enforced
Version control needs to be enforced
Automated notifications and red flags
Safe automation process needs to be deployed
Environment provisioning with standards
8
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
What DevOps Means To Database
The key driver to DevOps movement is the traditional tension between
developers and IT operations:
Developers want continuous enhancement and releasing of software for meeting
schedule targets
IT operations want stability and controlled change for meeting reliability, low risk and
high performance targets. In particular, DBAs are used to rigorously manage the
hardware behind their instances, stewarding previous data, and cautiously examining
code to prevent that late night unplanned outage.
So, DevOps is an approach intended to remove the conflicts of those two groups
and to provide stabilizing delivery via common objectives, roadmaps and finally
effective collaboration.
9
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
What DevOps Means To Database
Application
Life Cycle
Requirement
Gathering
Design
Code
Reviews
Deployment
DB
DBA without
DevOps
DBA With DevOps
10
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
10
DBA/Developers Gain Efficiency with DevOps
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
11
What is Tending?
Adopting DevOps principals
Increasing interest in Open Source automation (chef, puppet .. )
Forward thinking with technologies hybrid mind-set
Single click application deployments
Automation & Cloud adoption & DbaaS
Increasing focus on standardization
Design new age of automation with administrators
Shifting towards workflow design and runbooks implementation
*Some content is powered from http://www.oracle.com/technetwork/oem/framework-infra/con9731-em12-devopsemcli-2805387.pdf
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
12
DevOps For Developers
Code
Commit
Build
Developer
Report
QoS
Build
finalization
Repos..
Deployment Life Cycle (DLM)
QoS
Deploy
Performance
Envs..
Code
Coverage
Automation
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
13
DBAs Life With & Without DevOps
Past
Now
High lead time for enabling hardware resources
More standardization of processes
More resources required to perform complex tasks
Less time to enabling hardware resources
Small market for Open Source tools
Less resources required to perform complex tasks
Less & non-trusted automation
Abundance of Open Source tools in market
More opportunities for human errors
Organized and trusted automation
Specialized knowledge bank
Less chances of human errors
Less ROI of resources
High ROI of resources
Less handshake b/w Dev & Ops
More handshake b/w Dev & Ops
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
14
DevOps For DBAs
There are lot many activities which can be brought under DevOps
umbrella from database admin perspective . Activities which I could
think off are..
Setups and configurations
Database instance provisioning
Database refresh and cloning
Reporting
Backups etc.
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
15
DevOps Tools
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
16
DevOps Tools Market Map
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
17
DB-DevOps Tools By Popularity
Tool Name
Description
Dbmaestro
DBmaestro enables Agile development and Continuous
Integration and Delivery for the Database.
LIQUI Base
Liquibase is an open source database-independent library for
tracking, managing and applying database schema changes.
Datical
Datical creates database schema automation software for the
enterprise IT Systems Management market.
Flyway
Flyway is an open-source database migration tool. It strongly
favors simplicity and convention over configuration.
DBDeploy Ant
DBdeploy is a Database Change Management tool. Its for
developers or
DBAs who want to evolve their database design
Jenkins
Jenkins is an open source continuous integration tool written
in Java.
Chef
Chef is a configuration management tool written
in Ruby and Erlang.
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
18
DB-DevOps Tools Comparison
Attached is the snapshot of comparison of popular tools in DB DevOps landscape.
Also refer to https://xebialabs.com/
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
19
Case Study
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
20
Project DBCR Deployment Automation
Code
Commit
Build using
Jenkins
Developer
GIT as
Repos..
QoS by
Sonar
and
Junit..
Report by
sonar..
Build
finalization
using
Jenkins..
Deployment Life Cycle (DLM)
Using dbdeployant.xml
QoS
INT
Deploy
Performance
UAT
Code
Coverage
Automation
Production
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
21
Appendix
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
22
Old Vs New
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
23
Survey Report
http://www.rightscale.com/blog/cloud-industry-insights/new-devops-trends-2016-state-cloud-survey
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
24
VALUE REALIZATION
DevOps
value
Plan
Code
Build
Test
Release
Deploy
Operate
Continuous Delivery
Continuous Integration
Agile Development
collaboration
Value realization by collaboration & continuous improvement with time
COPYRIGHT 2014 SAPIENTNITRO | CONFIDENTIAL
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
25
25
COPYRIGHT 2011 SAPIENT CORPORATION | CONFIDENTIAL
26