You can watch the replay for this Geek Sync webcast, Is Your Database Environment Ready for DevOps?, in the IDERA Resource Center: http://ow.ly/oqr850A4pKu
Modern software development teams have adopted a continuous delivery approach based upon DevOps and agile development techniques. The small and frequent code changes that result from such an approach can deliver significant benefit in terms of reduced lead time for changes, a lower failure rate, and a reduced mean time to recovery when errors are encountered. So it is no wonder that the DevOps approach is rapidly becoming the de facto standard for application development and deployment.
But until recently, not enough focus has been placed on integrating database development and management into DevOps practices and procedures. Most of the automation and tooling focuses on coding, development, and deployment rather than on the design and administrative requirements of database systems. Failing to include proper database implementation best practices into DevOps will result in problems down-the-line, including poor performance, data integrity issues, difficult to maintain systems, and other problems.
This webinar will examine the core database administration practices that need to be integrated into your DevOps pipeline to achieve success. We will discuss critical tactics that need to be included in your database DevOps approach, and take a look at different ways to successfully integrate database administration into DevOps, without negating the advantages and benefits of DevOps.
Speaker: Craig S. Mullins is president and principal consultant of Mullins Consulting, Inc. where he focuses on data management strategy and consulting. He has been named by IBM as a Gold Consultant and he writes the monthly DBA Corner column for Database Trends & Applications magazine. Craig has over three decades of experience in all facets of database systems development and has written three popular books on database systems and administration. You can follow Craig on Twitter at @craigmullins.
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
Geek Sync | Is Your Database Environment Ready for DevOps?
1. Is Your Database Ready for
DevOps?
Modern Application
Development and the Database
Craig S. Mullins
Mullins Consulting, Inc.
http://www.craigsmullins.com
3. Agenda
– Industry Trends
– DevOps and Agile Overview
– The impact on database systems
• Database change management
• SQL quality assurance
– Guidance
4. Industry Trends
• Reduced Budgets and IT Headcount
• Database Growth and Usage
• Shorter Development Cycles,
Faster Innovation
• Automation is increasingly
important
8. Industry Trends
• Reduced Costs and IT Headcount
• Database Growth and Usage
• Shorter Development Cycles,
Faster Innovation
• Automation is increasingly
important
10. Most Orgs
Run Multiple
DBMSes
Source: Database Performance: The Need for Speed & Scale,
Database Trends & Applications, 2017
• Polyglot Persistence
• Multiple relational
• Pre-relational
• NoSQL
• Document
• Graph
• Key/Value
• Wide Column Store
• Hybrid
• In-Memory DBMS
• Not just DBMS…
• …but also Hadoop and Spark
• Commercial and open source
11. Industry Trends
• Reduced Costs and IT Headcount
• Database Growth and Usage
• Shorter Development Cycles,
Faster Innovation
• Automation is increasingly
important
12. Shorter Development Cycles
• Agile development is de rigueur
– Shorter development cycles
– Sprints
– Early customer feedback
• Higher ROI
• Quicker time to value
15. Industry Trends
• Reduced Costs and IT Headcount
• Database Growth and Usage
• Shorter Development Cycles,
Faster Innovation
• Automation is increasingly
important
16. Automating the App Dev Process
• GitHub – distributed source code
management, repository
• Jenkins – automated CI/CD server for
automating software delivery
• Docker – container platform (isolates
applications; secure & portable)
• Kubernetes – container orchestration
(automates deployment and scaling for
containerized apps)
16
• UrbanCode – automates continuous
delivery cross-platform; on-premises,
cloud and mainframe
• Puppet – cross-platform configuration
management – manage your
infrastructure as code (see also Ansible,
Chef)
• Nagios – DevOps infrastructure
monitoring
18. But What is DevOps?
• The phrase is an amalgamation of Development
and Operations but it implies more
– Application Release Automation
• Continuous Development, Continuous Integration, Continuous Delivery
• DevOps implies Agile development
– DevOps applies agile/lean methods from source code all the way to
production
• But also:
– Any change anywhere throughout the organization can be
delivered into production quickly and accurately
• In a way that is safe, predictable, scalable and controlled
19. Shifting Left
• Traditionally, software development progresses from requirements to design to
development to testing and deployment through support, usually depicted in a
graph showing these tasks from left to right (see below).
– Requirements gathering and design are shown to the left, delivery and testing to the right.
• With a shift-left development mentality, processes on the right are moved to the
left, so they are performed earlier in the development lifecycle.
19
20. But There is a Mindset Mismatch
• Applications teams release code much more
rapidly than operations teams (infrastructure)
Source: The Need for Speed: Drive
Velocity and Quality with DevOps
Forrester Research, 2017
21. DevOps and the Database
• DBA is part of the Ops in DevOps
when databases are involved
– All too often, Dev is over-emphasized vs. Ops
• Common misconceptions:
– Developers become responsible for all database
development requirements
– Database “code” can be treated like program code
22. But Developers…
• Gather requirements
• Design application systems
• Write code
• Test programs and applications
Developers are not going to completely replace DBAs
DevOps does not negate the need for DBAs
24. Why is this Happening?
• Misguided belief that DBAs are roadblocks
• Failure to consider the value of DBA
– Misguided belief that developers
can do the DBA job in addition
to being good programmers
• Frequently w/o DBA training
– Lack of integrating DBA
tools into DevOps
25. Let’s Talk About the Database
• DBA is still required
even with DevOps
– The actions we take on
databases and database
structures are different
than those we take on
application code
26. DBA Practices & Procedures
• Database provisioning and configuration
• Automated backups and recovery testing
• Database design
• SQL expertise
• SQL testing and performance
• Test data management
• Database change management
– Continuous delivery of database schema migrations
• A good goal: DBAs no longer do repetitive tasks
– They need to be strategic and focus on architecture and
oversight
27. Database Changes
• Can’t be treated exactly like apps
– The database is stateful
– Application delivery copies code, executables
from environment to environment
– But the database is an entire configuration in
each environment and changes get migrated
• Some changes are very intrusive -> DROP/re-CREATE
• Each environment might be different (however so slightly)
• Differences can “drift” in
– Optimization changes, emergency changes, etc.
28. Application and Database Design
• DBAs and Application Developers must
cooperate
– DBAs are the database SMEs
– App Devs are the coding SMEs
• A developer can no more design
a database appropriately than a
DBA can code an application
correctly
29. SQL Expertise
• Write SQL correctly and efficiently
• Many application folks know SQL only at a
cursory level
• Continuous stream of new SQL capabilities
– DBAs have most up-to-date knowledge
• DBA and Apps must cooperate as a team
30. Production Data Volumes
Test environments rarely have
production-sized databases
• The relational optimizer can, and usually will, produce
different access paths for smaller amounts of data than for
larger
• What works nicely in test may crash and burn in production
– Requires skilled technicians that understand the nuances of SQL and
optimization
34. More Database Focus is Needed
• More Ops participation in DevOps
– DBA and performance analysts
– Not oversight and bottlenecks, but real
participation
• More automation of database Ops
– Improve app dev release velocity
– Integrate with existing DevOps tooling and
practices
– Built-in intelligence and rules
35. A Mindset Change
• Within the organization
• With developers
• With DBAs