The DBA is the information technology professional responsible for ensuring the ongoing operational functionality and efficiency of an organization’s databases and the applications that access those databases. Traditionally, the job has entailed becoming an expert on “all things” related to a particular database management system (DBMS), such as Microsoft SQL Server, Oracle, IBM Db2, and others. And that DBMS was installed on premises on physical servers. But the advent of cloud computing is changing the traditional role of the DBA as cloud providers deliver some of the management services usually delivered by DBAs.
What is cloud computing?
The general idea behind cloud computing is that IT resources such as computing power, database services, applications, and storage are delivered by a service provider over the Internet with pay-as-you-use pricing. The cloud provider hosts your IT resources and provides you access to them over the Internet via APIs. So instead of you purchasing, installing, and maintaining IT hardware and software you can pay the service provider to host it and give you access to it as you need.
Why would you want to move to a cloud computing paradigm instead of a completely on-premises IT environment? Well, there are several good reasons to consider cloud. The first usually focuses on cost. Instead of investing significant capital in data centers and servers, much of which will not be used at its peak capabilities, with cloud computing you only pay when you consume computing resources. Furthermore, because the cloud provider services numerous customers across its computing resources you can benefit from higher economies of scale which can deliver lower cost.
Additional reasons include the ability to scale as you need to by consuming additional services and reduced effort in terms of administration and management. Cloud computing and database management combined deliver database-as-a-service, or DBaaS. This means that the cloud is used for storage and the database can be accessed from anywhere over the Internet.
DBaaS impacts the DBA in many ways.
First of all, database scaling becomes easier because it does not require the acquisition of more resources such as servers or storage. In the cloud, you can scale your database usage by acquiring more cloud services. Of course, this comes with an additional cost that must be managed.
Backup typically is handled by the cloud provider, removing another big DBA responsibility. That said, DBAs may need to get involved in some recovery scenarios depending on the needs of your applications. Disaster recovery planning, at least in terms of the database, should be simpler in the cloud world because the service provider should, in most cases, handle contingency planning. Nevertheless, the DBA must be aware of the contingency plans and prepared for anything that needs to be done in the event of a disaster, at least in terms of the database and its applications. In other words, the DBA must understand where failures can occur – both on premises and in the cloud – and be prepared to remediate problems that impact data access.
Furthermore, availability can become less of a concern because the cloud can replicate databases across multiple geographical locations. Keep in mind, too, that cloud DBaaS providers manage the maintenance, upgrading, and the application of fix packs to the DBMS. I hear many DBAs out there breathing a sigh of relief, because most DBAs view this as grunt work. However, the DBA still needs to work with the DBaaS provider to know when maintenance is being applied and if there are any impacts (feature deprecation, new key words, etc.).
The exact impact on your DBA team depends on the specific cloud database services that will be deployed. It will be incumbent on the DBA team to understand the services being provided and to ensure that they conform to the needs of your applications and end users. For example, DBAs need to understand latency issues, whether there are size limitations, and any other potential issues that change the way that your organization works with the database.
A fully-managed DBaaS in the cloud can significantly minimize the DBA role for day-to-day management and many routine tasks, but there is still a need for strategic data management and database expertise that can be provided by DBAs. Indeed, freeing DBAs up from having to perform manual tasks will enable them to think more strategically and to be your organization’s custodian of the relationship with the DBaaS cloud provider.
Additionally, your DBA team must be able to take on new responsibilities in terms of dealing with the database in the cloud. The first challenge when moving workload to the cloud is inevitably how to move your data from on premises to the cloud. It is not as simple as unloading from and reloading to a local database table (space). You have to factor in the latency of the network from your site to the service provider’s site in the cloud. In point of fact, initial loading often uses RTAM – Rental Truck Access Method. In other words, you load the data onto physical storage at your site and ship it to the cloud provider.
Performance management is another task still required of DBAs in the brave new world of cloud databases. All of the typical performance issues still exist, even if the cloud provider claims to help manage them. The DBA team must be able to recognize and identify issues, and then communicate with the cloud provider to help resolve them. DBAs must be able to monitor the performance of the entire infrastructure with the goal of improving throughput and performance.
Furthermore, the latency of accessing data over the cloud becomes an aspect of every database access. This needs to be factored into service level agreements, both with the service provider and with your users.
Yet another aspect of the DBA’s job that should take on additional importance in the wake of moving to the cloud is security. Most cloud providers offer secure services and mechanisms to control access to data, but the proper application of data security remains the responsibility of your organization. If you do not believe that, just see what happens if you are breached and a compliance audit shows that you did not have proper controls in place to properly secure the data.
New cloud DBA skills.
Protecting sensitive information across highly-distributed infrastructures can be a challenge, and DBAs are an instrumental component in ensuring that proper authorization and controls are in place to comply with corporate, governmental, and industry regulations and guidelines. Of course, DBAs are not responsible for knowing who should have access, but can be invaluable in both applying proper database security controls and monitoring for security breaches.
Another new skill that DBAs will need to develop is knowledge of the cloud architecture, meaning the components being used as well as the relationships between them. This includes knowing what is in the cloud and what is on-premises, not just for data, but for the entire compute stack, as well as how to utilize the components that are in the cloud, from an administrative and development perspective.
The DBA must also become a vital cog in the budget management process for the cloud database. Just because it is easy to scale up using cloud database services does not mean there is no cost, and your organization needs an expert who understands the impact of additional workload on the DBaaS contract. This should be the DBA. Additionally, the DBA must have knowledge of the impact of database and application design and architecture decisions and how they impact costs.
Finally, it is improbable that all of your databases will move to the cloud, at least initially, and probably on-going. That means DBAs must be able to work in a hybrid environment, maintaining their traditional skillset for on-premises data, while embracing and extending their capabilities to manage the cloud data.
Synopsis
The cloud does not negate the need for DBAs; they are still needed not only to manage on-premises databases, but to manage cloud data, too.
In many ways, working with DBaaS is similar to managing databases on premises. You will continue to manage, design, and manipulate data and databases. You can still use many of the same tools for designing, optimizing, and managing your databases, but in new ways and for new use cases. And you will learn new tools and capabilities to enable you to excel as a cloud DBA.
If you are doing things correctly, it is likely that you will have fewer tedious, manual tasks (like patching and routine maintenance) thereby allowing you to do more tuning and optimization, and participate at a more strategic level!