The Database Challenge
Dreamshaper is an education technology startup that experienced exponential growth. Their platform, used by students, educators and institutions worldwide, relied on a single database instance to power every read, every write, and every real-time interaction across the application.
For a while, this architecture was adequate. But as user numbers climbed and the platform expanded, the cracks became impossible to ignore. Query response times increased, background jobs competed for the same resources as user-facing requests, and every maintenance window carried the risk of total downtime. A single instance meant a single point of failure.
The database had become the bottleneck. Not because the data model was wrong, but because the infrastructure underneath it could no longer keep pace with the demands of a growing product.
"We were growing fast, but every time we onboarded a new cohort of students, the database would strain. We needed a solution that could grow with us without introducing risk every time we scaled."
Dreamshaper Engineering Team
Our Approach: A Managed Database Strategy
Out.Cloud was brought in because of a proven track record migrating production databases to the cloud. Our certified engineers assessed Dreamshaper's architecture and identified a clear path forward: migrate from the self-managed single instance to Amazon RDS, a fully managed relational database service built for exactly this kind of scaling challenge.
The strategy was not simply to move the data from one place to another. It was to fundamentally change the operating model of Dreamshaper's data layer, shifting from a fragile, manually maintained setup to a managed service that would handle provisioning, patching, backups and failover automatically.
Why Amazon RDS
Amazon RDS was the right fit for several reasons. As a managed service, it offloads the operational burden of database administration: automated backups, software patching, monitoring and replication are handled by AWS. This freed Dreamshaper's engineering team to focus on product development instead of database maintenance.
- Automated provisioning eliminates manual server setup and configuration
- Built-in monitoring via Amazon CloudWatch for real-time performance visibility
- Push-button scaling to increase compute and storage capacity on demand
- Automated backups with point-in-time recovery for data protection
- Multi-AZ support for high availability and automatic failover
Migration with AWS Database Migration Service
The critical challenge in any production database migration is continuity. Dreamshaper's platform serves users in real time and could not tolerate extended downtime. This is where AWS Database Migration Service (DMS) proved essential.
DMS enabled a seamless migration with minimal downtime by supporting ongoing replication between the source database and the new Amazon RDS instance. The process worked in three phases:
- Full load: An initial bulk transfer of all existing data from the source instance to Amazon RDS
- Change data capture (CDC): Continuous replication of changes made to the source database during the migration window, ensuring the target stayed synchronised
- Cutover: A controlled switch from the old instance to the new RDS endpoint, executed during a low-traffic window with rollback capability
This approach meant that Dreamshaper's application continued serving users throughout the entire migration. There was no big-bang switchover, no prayer-and-hope moment. The replication ran for days before the final cutover, giving the team full confidence that data integrity was preserved.
Migration architecture: Source database replicated via AWS DMS to Amazon RDS Multi-AZ with read replica support.
High Availability with Multi-AZ
One of the most significant improvements in the new architecture was the adoption of Amazon RDS Multi-AZ deployments. In a Multi-AZ configuration, AWS automatically provisions and maintains a synchronous standby replica in a different Availability Zone.
This means that if the primary database instance experiences a failure, whether due to hardware issues, network problems or an entire Availability Zone outage, RDS automatically fails over to the standby instance. The failover is transparent to the application: the DNS endpoint remains the same, and the switch typically completes in under two minutes.
For Dreamshaper, this was a transformative change. Their previous single-instance architecture meant that any database failure resulted in total platform downtime. With Multi-AZ, the platform gained automatic failover without any manual intervention, without any code changes, and without any downtime planning.
Read Scaling with Replicas
Beyond high availability, the Amazon RDS architecture also enabled read scaling through read replicas. As Dreamshaper's platform grew, read-heavy workloads such as dashboards, reporting queries and content delivery could be offloaded to dedicated read replicas, keeping the primary instance focused on writes and transactional operations.
This separation of read and write traffic is a pattern that scales naturally with user growth. Each new read replica can be provisioned in minutes, and the application routing can be adjusted without any schema changes or data migration.
Security Improvements
With the growing landscape of cybersecurity threats, database security was a primary concern for Dreamshaper. The migration to Amazon RDS brought several security improvements that would have been difficult and expensive to implement on a self-managed instance:
- Encryption at rest using AWS Key Management Service (KMS) for all stored data and backups
- Encryption in transit with SSL/TLS connections enforced between the application and database
- Network isolation via Amazon VPC, with the database deployed in private subnets inaccessible from the public internet
- IAM-based access control for fine-grained permissions on database operations
- Automated patching ensures security updates are applied promptly without manual intervention
These security layers work together to create a defence-in-depth posture. Rather than relying on a single security mechanism, the managed service provides multiple overlapping controls that significantly reduce the attack surface.
Outcomes and Benefits
The migration to Amazon RDS fundamentally changed Dreamshaper's operational profile. The results were measurable across three dimensions:
Increased Scalability
The database can now scale up or down based on demand. During peak enrolment periods, compute and storage capacity can be increased with minimal effort. During quieter periods, resources can be right-sized to avoid unnecessary spend. This elastic scaling replaced the previous model of over-provisioning a single instance to handle peak load.
Increased Reliability
Moving from a single self-managed instance to AWS RDS with Multi-AZ deployments dramatically improved reliability. Automated failover, continuous backups and managed replication mean that Dreamshaper's data layer is now significantly more resilient than before. Database uptime is no longer a manual responsibility; it is a managed outcome.
Cost Optimisation
The operational expenditure with AWS RDS was significantly lower than maintaining a comparable self-managed setup. The savings came from multiple sources: eliminated need for dedicated database administration, reduced over-provisioning through right-sizing, and the managed service model that removed the overhead of patching, backup management and failover configuration.
"The move to Amazon RDS gave us breathing room. Our engineers stopped firefighting database issues and started building features again. The managed service handles the operational complexity so we can focus on what we do best: building tools for education."
Dreamshaper Engineering Team
What This Means for Growing Startups
Dreamshaper's story is a common one in the startup world. You build on a simple architecture because it's what you need at the time. Then growth happens, and what was simple becomes fragile. The database that served you well at 1,000 users becomes a bottleneck at 100,000.
The lesson is not that single-instance databases are bad. The lesson is that the right architecture depends on where you are in your growth curve. When Dreamshaper's growth outpaced its infrastructure, the answer was not to add complexity for its own sake but to adopt a managed service that matched the platform's maturity.
Amazon RDS with DMS migration gave Dreamshaper a path from fragile to resilient without a disruptive big-bang migration. The managed service model means they are now positioned for the next stage of growth, with a data layer that will scale alongside the product rather than constraining it.