
The role of the database administrator (DBA) is changing in the DevOps culture. John Pocknell, Senior Product Marketing Manager at Quest Software, says that organizations that include DBAs in their DevOps teams can move updates through the pipeline more quickly and give the team more confidence that they’re supporting their users more effectively.
But how can an organization encourage DBAs and DevOps teams to align and collaborate? Pocknell provides some crucial answers software developer teams are looking for.
What creates barriers between DBA and DevOps?
Pocknell: Often, DBAs and development are siloed within organizations creating inefficient and unproductive environments and resulting in costly impacts. Ensuring both teams are engaged and integrated creates a stronger culture of trust and collaboration to produce a deeper understanding of the needs of both teams that has proven to be invaluable.
With DBAs and developers gradually becoming more involved in agile processes, such as continuous integration (CI) and continuous delivery (CD), moving changes to the system faster so they can adapt quicker, they find themselves struggling with things like data provisioning for debugging and code testing. This often conflicts with the need to protect personal and sensitive data under regulations like GDPR, but ensuring developers have the data they need (i.e., real data vs. synthetic data) to ensure code defects don’t make their way into production, is essential. Especially with work from home, segmenting and protecting that data is important before it’s given to someone in an unprotected environment.
What are the specific problems that database admins and developers working independently cause?
Pocknell: DBAs need to work more closely with developers as the database is now a core part of rapid DevOps service delivery for many organizations. Not doing so creates slower processes, development cycles and can create gaps in data security.
Also, with developers being used to having access to production data, DBAs need to think about how personal data can be identified and protected to ensure compliance with privacy regulations that have to be followed. Data masking is an important practice to put in place here to ensure personal data is properly protected. DBAs can also implement encryption and transaction auditing for production data, often using third-party tools to ease the process. Applying these can support data protection and enable developers with what they need to do their jobs.
How can organizations fold DBAs into the database DevOps CI/CD process?
Pocknell: There are three primary ways:
- Team collaboration
Ensure DBAs and development managers and team leads work together to better understand each other’s roles and the needs of both in order to drive toward the common goal of delivering value to the business faster. DBAs can often guide development teams in areas such as data modeling to ensure efficient data structures and other areas that can potentially affect database performance and reliability. By the same token, developers can better articulate the importance of the need to access protected production data for QA and testing to minimize defects and production issues.
- A Move Towards Automated Processes
Another way is policing the transition from manual development and release processes to automated ones. Unfortunately, it’s not always obvious where data is, and it’s a big job to manage it manually. To ensure data is staying protected, but developers still have access to the data they need, we can automate the task. Using automation, we can ask questions of what constitutes personal data and file a report based on responses to identify that data that shouldn’t be exposed, solving complex problems of data privacy identification.
- Ensuring Robust Releases
The third would be identifying potential issues with deployment scripts before errors make their way into production and ensuring releases are robust and won’t disrupt or break the production system. Deployment scripts are historically created by developers, who have the knowledge of the application, then used by DBAs to make the actual changes to the production database. They need to be 100 percent accurate to avoid having to roll back changes in the unfortunate event that production applications experience problems. By following DevOps CI/CD practices, it’s also safer to release smaller changes more often to reduce this risk still further.
What are the benefits of development and DBA collaboration in DevOps?
Pocknell: When DBAs are fully integrated with development teams in the DevOps CI/CD processes, they can collaborate more closely with developers and better manage database changes in a DevOps world. Taking a strategically planned approach to integrating DBAs and developers into the DevOps culture, combined with sound automated processes, means faster delivery of database changes, further agility for the overall IT environment and ultimately a more successful business.
How does collaboration impact security and compliance regarding data privacy and protection regulations?
Pocknell: Better collaboration between DBAs and development teams ensures each has a better appreciation of the importance of protecting personal and sensitive data. According to the 2019 Insider Threat report, 90 percent of companies feel vulnerable to insider attacks, with 53 percent confirming insider attacks in the last 12 months. This is often due to companies not adequately protecting their non-production environments. With the right tools in place, the task of identifying where such data exists across multiple databases can be simplified and automated. Being able to apply the right level of protection to where it’s needed gives DBAs the confidence they need that the non-production data that developers need for testing is secure and complies with data privacy regulations. Guidance from DBAs can also help ensure data privacy issues don’t creep into the developers’ code.
Do you have any final thoughts for software development teams?
Pocknell: The days of siloed database teams and processes are dwindling, and DevOps has become the new reality. The more interconnected development, testing, QA, UAT and operations teams are, the more effective IT can be. While some may believe that it’s too time-consuming or expensive to make the shift, the reality is that those who don’t convert to DevOps will fall behind.