Charting the uncharted – the role of DevOps & Platform Engineering in Sovereign DBaaS
Business experts emphasize the importance of cross-departmental collaboration and advise leaders to encourage their teams to leave their silos and work together as that’s the only way to meet customers at every step of their journey.
But what happens when one team ”threatens” to take over the other team’s job? We’ll try to answer this question in this episode of Sovereign DBaaS Decoded.
Our guest is Josef Pullicino, the core DevOps at MeDirect. Through the conversation, Josef shares his take on whether DevOps will take over the DBA role, the effects of such an event, the importance of automation in database management, and how DevOps can support Sovereign DBaaS initiatives.
⚡If a DBA hands the responsibilities to DevOps, does the database management change? According to our guest, it has already changed and will continue. But he also adds: ”The dynamics are changing gradually, bit by bit, and the goal of DBA is now taking the shape of an architect because you need to design the infrastructure to make it operational in the correct way and in a performance way. So before going to use automated tools to have your database fully up and running, you need to see the best way you’re going to design your account from an architecture point of view of your database. […]
You need to see it more from the logical perspective and connect all the components and all the dots.”
⚡With automation, we can stop worrying about issues caused by human error. Despite the ongoing discussion of whether AI will replace the human workforce, experts say tools that automate specific processes are critical for efficiency as they allow teams to focus more on strategic aspects of the business. Also, these solutions come with additional benefits. ”So you are a hundred percent sure that if you are going to create a user or set a password, you know that it was done right or that something was not missed or forgotten because the human element is not there anymore. In the traditional way of doing things, a human being is human. Everyone would be subject to mistakes here or there. But with automation, you have peace of mind because there is standardization and a pattern of how it is done. So, in addition to the values that you get for the time to delivery from a project point of view, these values, I think, would need to be also taken into consideration as part of the overall investment that you are getting from these tools.”
⚡Plan the best-case scenario, and prepare for the worst-case scenario. Doing a backup is the key piece in database management. But unfortunately, the horror stories around this process make companies question whether it’s worth their time. Here’s what Josef thinks. ”A database to run, it’s not only enough to have peace of mind from a data point of view, but you also need to consider the infrastructure. So if a database is hosted on a server, that would mean that you need to have backups and resources of the operating system, storage, and network configuration, which is in place of the actual platform. However, one has to keep in mind the disaster category scenario. It is something that many companies don’t put enough investment into or enough resources and attention to this concept or philosophy, I would say. But when the sh*t [happens], it would be too late because the time to cover and get back up and running could also result in a company going bankrupt or going into default.”
Is DevOps Taking Over the DBA Role?
”I would say partially. One of the main focuses of DevOps is automation. So it’ll facilitate the time to deliver your projects, which means that from a technical point of view, you need to deliver fast and with a structure. It’s not something that, okay, let’s build a database or an infrastructure. No, as part of the DevOp.
The other category would be MO projects, which would be more long-term in terms of effort, in terms of focus, in terms of attention that you would require, coordination between different teams, and having or making use of standardized tools, which helps you to deliver fast and with a pattern.
However, there is still a domain responsibility of a DBA systems administrator or an engineer who would need to master the tool used to make it operational from a database point of view. So like anything you can use in your life, it has advantages and disadvantages. But speaking from a time to deliver, yes, it would be much more beneficial than the opposite.”
Automation Frees us From Repetitive Tasks
”I would classify these operations: failing over a database, starting a database, updating a database, monitoring it, or security hardening; these I would categorize as the day-to-day operations. These requirements need to be automated as much as possible.
So, focusing from a DBA point of view would be more from a project perspective rather than day-to-day, the day-to-day something that is repetitive and always constant. That is something that can be done thanks to automation tools.
I can recall, for example, when using these automated tools. One of them is the Severalnines. It gets you off from that burden or hassle of trying to define the procedure of how you’re going to fail over a database, making sure that the replicas are always in sync, whether they are in synchronous mode or async mode, especially when they are different data centers.”
How DevOps Supports Sovereign DBaaS Initiatives
”The same concepts when having systems on the cloud, like platform as a service, infrastructure as a service, or software as a service. That would still apply when having systems on-premise.
However, with the introduction of DevOps to these systems being on-premise, it’s a case of building up a platform, providing dashboards for internal users so that requirements or use cases would arise from day-to-day, like the creation of users with a set of passwords, maybe extending some storage, for example, table spaces, adding columns or moving some goals, whatever it may be. So the goal of DevOps is crucial in this case because it is providing those tools.”
What We Do When We Manage Databases
”I would classify it into different levels: the infrastructure, the platform, and the service. From an infrastructure point of view, you need to manage the number of hosts that are going to host your database.
The architecture that you are going to employ. Whether it is active-active, active-passive, whether you are going to host or use different data centers geographically dispersed, what synchronization are you going to use, synchronous versus asynchronous? […]
Security nowadays is something that it’s not if it is going to happen, but when is it going to happen? […]
It’s very important to keep your database as secure as possible. Not only secure from a platform point of view but even the ecosystem of it. […]
Monitoring is very important because it gives you the right picture of where you are from a system health check status. […]
In addition to monitoring, one has to keep in mind also the alerting because it’s useless to have a good monitoring system for your database or any component if you are not getting alerted when there is an issue. […]
Another area that you need to take into account when managing databases is the day-to-day running of operations. Unless you are using certain tools such as Ansible, where you provide particular dashboards to helpdesk users or even application developers or engineers, it’s important to make sure operations like creating user and creating schemas columns do whatever you need.”