Case Study - Cloud platform and AWS migration
We built Momence's infrastructure platform — from migrating off DigitalOcean to AWS, to standing up Kubernetes with GitOps, a real-time data platform, and cost visibility tooling — while the company grew from a Y Combinator startup to a $15M revenue platform serving 4,500+ fitness and wellness businesses.
- Client
- Momence
- Year
- Service
- kubernetes, AWS, terraform
About Momence
Momence is a mobile-first scheduling and payments platform for experience-based businesses — yoga studios, gyms, dance schools, swim academies, and spas. Founded in 2020 through Y Combinator's Summer 2020 batch, the company raised just $1.35M in total funding and grew to over $15M in annual revenue with a team of about 100, serving 4,500+ businesses. Momence was acquired by Clubessential Holdings in 2025.
The challenge
When we started working with Momence in early 2023, the platform was running on DigitalOcean — Ansible-managed droplets, managed PostgreSQL, and PM2 for process management. For a startup moving fast, the setup had worked. But Momence had outgrown it.
With revenue growing 35% year-over-year, Momence was likely one of the largest workloads running on DigitalOcean. The platform was hitting reliability issues that come with pushing an entry-level cloud provider beyond its limits — limited options for database high availability, no multi-region support, and operational tooling that wasn't built for a platform processing live bookings and payments for thousands of businesses around the clock.
The engineering team needed proper environments, preview deployments, observability, and a path toward a data platform. They needed infrastructure that could match the ambition of the business.
AWS migration
We designed and built a multi-account AWS Organization from scratch — separate accounts for production workloads, cloud operations, sandbox, and data operations, with landing zone controls enforcing encryption, restricted regions, and security policies across the board.
For the database layer, we migrated from DigitalOcean managed PostgreSQL to Aurora PostgreSQL with multi-AZ replication, automated backups with cross-region copies, and pganalyze for query performance monitoring. The networking layer spans multiple AWS regions with CloudFront CDN, SES for transactional email, SQS for async job processing, and Valkey for caching with multi-AZ replication.
Developer platform
The biggest shift was moving from Ansible-managed droplets to Kubernetes with GitOps. We stood up multiple EKS clusters running on Graviton ARM64 instances with Bottlerocket OS, managed entirely through ArgoCD with over 20 Helm charts. This alone transformed how the team ships software — containerized workloads, declarative configuration, automatic rollbacks, and high availability built into the platform rather than bolted on.
We built PR-based preview environments that spin up isolated namespaces with seeded databases, giving developers a production-like environment for every pull request. Deployments went from manual Ansible runs to fully automated GitOps pipelines.
Data platform
The AWS migration unlocked capabilities that weren't possible on DigitalOcean. With Aurora's support for logical replication, we built a real-time data platform on top of the production database.
The analytics stack evolved from batch exports to Parquet and static BI dashboards toward real-time CDC using Debezium and Kafka streaming into Snowflake. We connected Looker Studio for visualization — a modern data stack giving the business real-time visibility into operations.
Cost visibility
Running two cloud providers in parallel during a multi-year migration, while the business kept growing rapidly, made cost management critical. We built a cost visibility platform that gives stakeholders a clear breakdown of spend — by migration phase, business growth, data platform, non-prod workloads, and PR-based environments. This turned cloud costs from a black box into a planning tool, letting the team make informed decisions about infrastructure investments as the platform scaled.
Key challenges
Migrating the backend was the easier part. We moved services component by component from DigitalOcean to AWS with zero downtime, using Cloudflare load balancers to gradually shift traffic between the old and new infrastructure. The migration had to be completely seamless — not just for customers, who couldn't experience any disruptions or increased latencies, but also for the internal engineering teams. Developers couldn't be burdened with changing how they deploy or dealing with migration-related complications in their day-to-day work — deployments, monitoring, logging, and on-call all had to keep working as expected throughout the transition.
Migrating the database with minimal downtime was the hardest part. The production PostgreSQL database was the heart of a platform handling live bookings and payments for thousands of businesses. We carefully planned and executed the migration with minimal downtime, verifying data integrity across all tables before the cutover.
The benefits
Momence went from Ansible-managed droplets with manual deployments to a fully containerized, GitOps-driven platform with high availability, automatic rollbacks, and self-healing infrastructure.
The team gained production-grade observability with Prometheus, Grafana, and Datadog — giving engineers full visibility into application performance, infrastructure health, and alerting across all environments.
The data platform enables data-driven decisions, and cost visibility keeps cloud spend predictable as the business scales.
The move to AWS brought the reliability and scalability guarantees that DigitalOcean couldn't offer — multi-AZ deployments, managed database failover, and global CDN distribution. Infrastructure that used to be a bottleneck became an enabler — letting the engineering team focus on product instead of firefighting reliability issues.
What we did
- AWS
- Kubernetes
- Terraform
- ArgoCD
- Aurora PostgreSQL
- CloudFront
- Cloudflare
- Graviton
- Bottlerocket
- Valkey
- SQS
- Kafka
- Snowflake
- Debezium
- Prometheus
- Grafana
- Datadog
We migrated from DigitalOcean to AWS and moved to Kubernetes and GitOps — a huge change in how we operate, yet the transition was smooth. Our developers weren't disrupted during the migration, and the new platform gave us capabilities we never had before.
- Downtime during migration
- Zero
- Annual revenue
- $15M+
- Engineering team size
- Doubled