Day 74 of 90 Days of DevOps Challenge: Understanding DBMS and AWS RDS

Vaishnavi DVaishnavi D
4 min read

On Day 73, I explored Auto Scaling Groups (ASG) in AWS and the broader concept of scaling within cloud environments. I learned how Auto Scaling brings elasticity by dynamically launching or terminating EC2 instances based on demand. This ensures high availability and cost optimization — core principles of a modern DevOps infrastructure.

From understanding vertical vs. horizontal scaling to diving into key components like Launch Templates, Scaling Policies, CloudWatch metrics, and Health Checks, I now see how automated scaling seamlessly integrates with CI/CD pipelines and resilient cloud architectures.

Today, I’m diving into the database layer of cloud-native infrastructure. My focus areas are:

  • What is a DBMS and why it’s essential

  • The importance of DBMS in DevOps

  • A deep dive into AWS RDS (Relational Database Service)

  • Understanding data storage, backups, read replicas, and more

What is a DBMS?

DBMS (Database Management System) is software that allows users and applications to store, retrieve, and manage data efficiently and securely. It acts as an interface between the application and the database.

Instead of manually managing flat files or raw datasets, a DBMS provides a structured, consistent, and scalable environment for working with large volumes of data.

Core Functions of a DBMS:

  • Data storage, retrieval, and updates

  • Access control and authentication

  • Ensuring data consistency and integrity

  • Backup and recovery mechanisms

  • Support for multi-user concurrency

Why is DBMS Important in DevOps?

  • Automated Deployments: Provision databases alongside infrastructure as code

  • Data Consistency: Crucial for CI/CD pipelines

  • Monitoring & Scaling: Databases must scale just like compute

  • Security Compliance: Secure handling of production data

  • Resilience: Automatic backups, failovers, and recovery systems

DBMS ensures that your application’s state is reliable, making it a critical DevOps concern.

AWS RDS — Relational Database Service

Amazon RDS is a fully managed relational database service that simplifies the setup, operation, and scaling of databases in the AWS Cloud.

It takes care of time-consuming admin tasks like installation, patching, backups, and scaling, allowing DevOps teams to focus on application logic and performance.

Key Features:

  • Supports multiple engines: MySQL, PostgreSQL, Oracle, SQL Server, MariaDB, and Aurora

  • Automated backups & snapshots

  • Point-in-time recovery

  • Multi-AZ deployments for high availability

  • Read Replicas for horizontal scaling

  • Encryption at rest and in transit

How AWS RDS Stores Data

  • Data is stored in Elastic Block Store (EBS) volumes.

  • You can choose between General Purpose SSD, Provisioned IOPS, or Magnetic storage, depending on your performance needs.

  • RDS abstracts the storage layer, so you don’t manage volumes manually; AWS handles replication, failover, and recovery.

Security in RDS

1. Network Security

  • VPC Integration: RDS instances are deployed in a Virtual Private Cloud (VPC) for network-level isolation.

  • Subnet Groups: Define where your DB can exist within the VPC.

  • Security Groups: Act as virtual firewalls controlling inbound/outbound traffic.

2. IAM Authentication

  • Allows applications to authenticate to the RDS instance using AWS IAM roles, avoiding the need for DB passwords.

  • Supports fine-grained role permissions

3. Encryption

  • Encryption at Rest: Uses AWS KMS to encrypt data stored in DB, logs, backups, and snapshots.

  • Encryption in Transit: Uses SSL/TLS to secure data between app and DB.

4. Database Authentication

  • You can use traditional DB username/password authentication or IAM-based.

RDS Backup and Restore

1. Automated Backups

  • Daily backups, transaction logs, and snapshots.

  • Retention period: 1 to 35 days.

  • Used for point-in-time recovery.

2. Manual Snapshots

  • User-initiated and stored until manually deleted.

  • Useful before major updates or migrations.

3. Cross-Region Snapshots

  • For disaster recovery, RDS can copy snapshots across regions.

Monitoring & Performance Tools

  • Amazon CloudWatch: CPU, memory, connections, disk I/O

  • Enhanced Monitoring: Real-time OS-level metrics

  • Performance Insights: Visual SQL query optimization dashboard

Scalability and High Availability

Read Replicas

  • Asynchronous copies of your primary DB

  • Used to offload read traffic or enable regional redundancy

  • Can be promoted to standalone DBs

Multi-AZ Deployments

  • Synchronous replication for automatic failover

  • Ensures high availability during outages or maintenance

Storage Auto-Scaling

  • Automatically increases DB storage as your data grows

RDS Use Cases

  • Ideal for production-grade relational workloads

  • Great for microservices using a decoupled data layer

  • Perfect for apps needing strong consistency, backups, and failover mechanisms

  • Use read replicas to reduce read latency for global applications

Final Thoughts

Today’s journey into DBMS and AWS RDS gave me a solid understanding of why managing data at scale is both a challenge and an opportunity in DevOps. With RDS, AWS abstracts the complexity and lets us focus on application logic, performance, and resilience, not managing the database engine.

Tomorrow, I’ll continue my database learning path and explore Amazon Aurora, a high-performance, cloud-native database engine built for modern workloads.

Stay tuned for Day 75!

0
Subscribe to my newsletter

Read articles from Vaishnavi D directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Vaishnavi D
Vaishnavi D