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


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!
Subscribe to my newsletter
Read articles from Vaishnavi D directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
