aws cloud databases

Changing role of a DBA in cloud era

In a traditional organization a Database Administrator or DBA holds overall responsibility for the management of on premises relational databases. Many of these organizations are now looking to adopt managed databases on the cloud. A common misconception among the DBA community is that, this move to managed databases such as AWS RDS, will make their role obsolete.

On the contrary I believe that DBA role is still needed but it would need to change at the ground level in terms of how the DBA thinks and carry out the various database related tasks. In this article I will share my thoughts on shift in role of a on premises DBA with the adoption of AWS RDS.

What is AWS RDS?

Amazon Web Services offers over 200 cloud services. The Relational Database Service (RDS) is a managed database offering. AWS RDS supports Oracle, SQL Server, PostgreSQL, MySQL, MariaDB. For the managed RDS database, AWS takes over the responsibility of managing the virtual machine, operating system and the database engine software.

AWS RDS provides multiple capabilities, features and automations that helps the DBA in carrying out their responsibilities. In order to reposition themselves as a DBA for AWS RDS database, an on-premises DBA needs to expand on their general cloud knowledge, learn the RDS capabilities, features and tools.

Please note that the focus in this article is on AWS RDS in general and not any specific database engine. For each database engine the features and capabilities are different. DBA would still need to have expert level knowledge of the specific database engine.

DBA Role

In the context of this article I am referring to anyone responsible for managing organization’s relational databases as a DBA. At a high level, tasks carried out by a DBA may be put under five (5) categories. For each of these categories AWS RDS offers capabilities, features and options.

Operations

These are the typical day to day tasks that need to be carried out irrespective of the relational database engine in use. The objective of these operational tasks is to maintain good health of the databases. DBA(s) are responsible for setting up the monitoring, backups, archiving. DBA(s) also play a critical role in incident management. They support the application teams with addressing of issues. Another task is to carry out the patching of operating system and update the database software.

AWS RDS
Removes the need for DBA to build and manage their own automations for day to day tasks

+ AWS responsible for the virtual machine, patching of OS, installation of database engine software
+ To get visibility into the databases DBA uses multiple tools provided out of the box
+ Operational tasks are carried out using the automations available on console, command line & SDK
+ Promotes the use of architectures patterns, features & capabilities to meet workload requirements

Database availability

DBA(s) are responsible for ensuring high availability of databases. This requires them to partner with organization’s infrastructure teams to design the database setup. They need to design the disaster recovery mechanism to meet the RTO and RPO requirements for the business applications. This task is complex as it requires deep knowledge of networks and storage.

AWS RDS
Built in support for high availability eliminates the need for DBA to invent new mechanisms

+ Offers multi server database clusters that simplifies database setup for high availability
+ Automatic failover to standby; Manual failover via console, command line & SDK
+ Standard operating procedures and capabilities for disaster recovery
+ Support for vertical & horizontal scaling

Performance

A poorly performing database has a direct impact on the application. DBA must have visibility into operation of the database engine. Traditionally this has involved setting up of logs, home grown monitoring and analysis scripts. In addition to database tuning, DBA also assists the application teams in addressing query level performance issues. Query level performance issue analysis requires the DBA to have deep understanding of the database engine and also have access to tools that provide the visibility into query related metrics.

AWS RDS
AWS native capabilities provides visibility into database engine and query level performance

+ AWS CloudWatch is a repository for database metrics
+ Support for database alerts
+ RDS Performance insights tool assists the DBA in addressing query level performance issues

Security

DBA(s) work closely with security office in the organization to build the security controls for the database. They are the gatekeepers who codify the security guardrails and controls for organization’s data. User access and authorization management is one of their critical responsibility. It is common for DBA to setup audit trails for regulatory & compliance reasons.

AWS RDS
Shared responsibility between user and AWS; DBA responsible for security of data

+ Standard architectural practices and patterns for building secure databases
+ Support for data encryption at rest and in motion
+ Tools and capabilities for setting up audit trails
+ Industry certifications that meets compliance & regulatory requirements

Application development

So far I have discussed activities and tasks that are typically carried out by a systems DBA, many organizations also have another role referred to as the application DBA. The application DBA as the name refers have specialized knowledge from the database applications perspective, they are expert in schema design, SQL & database coding. The application DBA provide assistance and guidance to the application developers. At times the application DBA(s), even participate in app development.

AWS RDS
DBA have the bandwidth to spend time on value add services

Traditionally DBA(s) in large organizations spend relatively smaller amount of their time in tasks in this category. With the adoption of AWS RDS, DBA tend to have more bandwidth for carrying out these value add activities.

Are you an on-premises DBA?

If your answer is Yes, then I suggest that you explore AWS Relational Database Service and checkout for yourself how its capabilities and features will simplify your day to day tasks. Even if your organization has not adopted AWS, it is worth doing it for multiple reasons:

  • AWS cloud is rapidly growing & 1000’s of organizations are looking for RDS experts
  • Your skills will be portable; AWS RDS tools, capabilities and features are standard
  • Opportunity to learn new databases; organizations today are no more dependent on single database
  • Expand your knowledge to help your organization’s journey to cloud

Path to becoming a DBA for AWS RDS

There are many ways to do it but I suggest that if you are new to AWS cloud, start with the fundamentals of AWS and then dive deeper into AWS RDS. For that you may take free online trainings offered by AWS or you may go for paid training; just google for it and you would find tons of resource.

A good way to learn and build your credentials is to take up AWS certification; here are the certifications (& sequence) that I would suggest.

  1. AWS Certified Cloud Practitioner
  2. AWS Certified Solution Architect – Associate
  3. AWS Certified Database – Specialty

Conclusion

Adoption of cloud databases such as AWS RDS, is changing the role of DBA(s). Common database administration tasks does not require DBA to spend time on building one off automations (scripts) as there are standard tools available in AWS RDS. The AWS RDS DBA spends more time on value add tasks rather than common lower value tasks such as software patching and installation. On premises DBA must look to expand their knowledge to cloud as more and more organizations are looking for resources with AWS database skills.

Disclaimer:

Thoughts shared in this article are my own and does not reflect thoughts/opinions of my employer

Similar Posts