Changing the Development Process with DevOps
June 27, 2019

Steve Jones
Redgate Software

DevOps brings enormous competitive advantage to businesses – a fact that's backed up by independent research. For example, the 2018 Accelerate State of DevOps report found that top-performing elite organizations were able to deploy code 46 times more frequently than low performers, had lowered lead times from committing to deploying changes of less than one hour (compared to 1-6 months in low performers), and recovered from incidents 2,604 times faster.

However, at the same time there is an intense and growing focus on data security and privacy. Whether it's through regulations such as the GDPR or increasing consumer expectations that their personal information will be kept safe and used responsibly, it's business-critical that organizations take these concerns seriously.

This is a particular issue when it comes to database DevOps where you also have two different cultures. Database Administrators (DBAs) have traditionally focused on ensuring stability and the security of mission-critical data and information, while developers are looking to quickly create and launch new features to drive competitive advantage.

How can you balance these potentially conflicting demands, yet achieve greater speed through DevOps and still protect the data? While creating a collaborative culture is important, so is technology. Essentially, changing the development process is vital, focusing on four key areas:

1. Standardize

DBAs and developers can both agree that standardizing processes increases speed and ensures consistency. Therefore, look to adopt industry-standard tools for coding, comparison and version control, and roll them out across the wider team so that everyone is using them. At the same time, adhering to naming and design standards along with consistent coding practices will help to streamline the development process.

Tools such as static code analysis software can help by ensuring everyone follows the same standards and known best practices when they develop. This means that whether it's an experienced DBA writing T-SQL code or a less practiced developer, you have a consistent programming structure that can be easily understood, nipping any potential problems in the bud. At the same time, merge code early and often with version control tools to ensure you have a known, shared codebase on which to work.

2. Automate

Particularly when it comes to database deployments, you need a repeatable, reliable and low risk process to ensure trouble-free DevOps implementations. What I call ‘continuous stuff' (continuous integration, continuous delivery and continuous deployment) plays a leading role in achieving this.

Continuous integration gives quick feedback to the development team, while continuous delivery ensures that changes are made quickly, and continuous deployment demonstrates that the organization trusts its teams to deliver DevOps.

Automation dramatically brings down time to market, but (going back to standardization), you need the right tools and processes in place if it's to be truly effective.

3. Monitor

DevOps is a continuous process and as an organization you need to continually improve how you operate. Monitoring operations therefore has two key roles. Clearly, it highlights potentially disruptive operational and performance issues, allowing you to fix them quickly, hopefully before they develop into more serious problems. More importantly, it gives you vital insights that allow you to optimize operations moving forward.

That means you need to add continuous monitoring to your other tools, with DBAs and other operational staff regularly sharing reports with developers to improve performance. We're now living in a feedback-driven society, and development is no different. We all need to know whether we're doing a good job, and how we can get better. It could be something as small as adjusting coding habits, but there's no way that teams will progress if they don't know there's an issue.

4. Protect

As I said at the beginning of this article, there's growing pressure to protect data and ensure the highest levels of security. This should be good practice for every organization – and if you needed any further reason to take it seriously, look at the enormous fines you could be liable for under regulations such as the GDPR.

Yet sharing accurate, real-world data is crucial to successfully developing new code and features. That means adopting tools for data masking and anonymization that can protect confidential and personal information, while still providing data for development and testing that has the same size and shape as the real data in the production database. You also need to be able to audit where data is shared within your organization and ensure it's protected at every point.

Summary

Changing the development process to ensure DevOps flourishes requires a combination of collaboration and technology. Following these four steps is therefore crucial to starting on your DevOps journey, bringing DBAs and developers together through standardization, automation, monitoring and data protection.

Steve Jones is the Editor-in-Chief of SQLServerCentral at Redgate Software
Share this

Industry News

May 16, 2022

Red Hat announced new capabilities and enhancements across its portfolio of open hybrid cloud solutions aimed at accelerating enterprise adoption of edge compute architectures through the Red Hat Edge initiative.

May 16, 2022

D2iQ announced a partnership with GitLab.

May 16, 2022

Kasten by Veeam announced the new Kasten by Veeam K10 V5.0 Kubernetes data management platform.

May 12, 2022

Red Hat introduced Red Hat Enterprise Linux 9, the Linux operating system designed to drive more consistent innovation across the open hybrid cloud, from bare metal servers to cloud providers and the farthest edge of enterprise networks.

May 12, 2022

Couchbase announced version 7.1 of Couchbase Server.

May 12, 2022

Copado added Copado Robotic Testing to Copado Essentials.

May 11, 2022

Red Hat announced new advancements within its Red Hat Cloud Services portfolio, delivering a fully-managed and streamlined user experience as organizations build, deploy, manage and scale cloud-native applications across hybrid environments.

May 11, 2022

JFrog introduced a new Docker Desktop Extension for JFrog Xray that allows organizations to automatically scan Docker Containers for vulnerabilities and violations early in the development process.

May 11, 2022

Progress announced a series of updates in Progress Telerik and Progress Kendo UI.

May 11, 2022

Vultr announces that Vultr Kubernetes Engine (VKE) is generally available.

May 10, 2022

Docker announced new features and partnerships to increase developer productivity. Specifically, the company announced Docker Extensions which allow developers to discover and add complementary development tools to Docker Desktop.

May 10, 2022

Red Hat announced the general availability of Red Hat Ansible Automation Platform on Microsoft Azure, pairing hybrid cloud automation with the convenience and support of a managed offering.

May 10, 2022

The Fedora Project, a community-driven open source collaboration sponsored by Red Hat, announced the general availability of Fedora Linux 36, the latest version of the fully open source Fedora operating system.

May 10, 2022

Progress announced the release of Progress Chef Cloud Security, extending DevSecOps with compliance support for native cloud assets and enabling end-to-end management of all on premise, cloud and native cloud resources.

May 10, 2022

Platform9 announced new platform capabilities in Platform9 5.5 that make it easier for cloud-native development and operations teams to build, scale, and operate apps and Kubernetes clusters in the cloud, on-premises, and at the edge.