The term DevOps was coined in the early 2000s to improve the speed and resiliency of the delivery of features and applications and providing more value to customers. It’s not about any particular technology, methodology, or toolset, but automation of everything from unit testing to building environments to delivery is part of it. DevOps also means broadly changing the culture in a department or company by breaking down silos between teams. “Well, it worked on my machine” doesn’t fly in a DevOps organization. All teams are responsible for the outcome: quickly bringing value to the customer.
Like any catchy term, there have been others inspired by DevOps. You may see ITOps, NetOps, SecOps and even NoOps. One term that may be confusing is DataOps. At first glance, it sounds like bringing the database into DevOps, but that is not accurate:
“DataOps is an automated, process-oriented methodology, used by analytic and data teams, to improve the quality and reduce the cycle time of data analytics. While DataOps began as a set of best practices, it has now matured to become a new and independent approach to data analytics. DataOps applies to the entire data lifecycle from data preparation to reporting and recognizes the interconnected nature of the data analytics team and information technology operations.”
DataOps involves using agile principles, testing, automation, and measuring outcomes to ensure that valuable information is in the right hands at the right time and brings value to decision-makers more quickly. Quality is improved, and data scientists and analysts have more time to innovate and spend less time on repeatable, manual processes.
While DataOps involves the lifecycle for analytics, including artificial intelligence and machine learning, Database DevOps ensures the proper delivery of changes to the transactional and reporting databases. These databases typically act as the sources of data for analytics. Database DevOps means adding source control for schema changes, using tools to automate the creation of database deployment scripts, and working in cross-functional teams (i.e., DBAs working with developers). Historically, changes to the database have been done manually and have often been a bottleneck to deploying features which depend on new or altered tables and other objects.
The tools used for Database DevOps help database administrators quickly provision sanitized copies of databases that resemble production for development, testing, quality assurance, and staging environments and automate the process as part of the pipeline. The tools help ensure that “quick fixes” and “one-offs” don’t bypass the pipeline so that production and other environments stay in sync. After talking with database administrators in the transition of converting to DevOps, it’s a big change to how they have worked in the past, but the benefits are worth it.
Database DevOps is essential for DataOps. In the end, Database DevOps means accurate and consistent data which is critical for analytics, artificial intelligence, and machine learning.
Enjoyed the topic? Have a relevant anecdote? Disagree with the author? Leave your two cents on this post in the comments below, and our favourite response will win a $50 Amazon gift card. The competition closes two weeks from the date of publication, and the winner will be announced in the next Simple Talk newsletter.