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.

Pavel Svehla, Engineering Manager at Momence
Downtime during migration
Zero
Annual revenue
$15M+
Engineering team size
Doubled

More case studies

Multi-region EKS platform

We worked with Contember to develop an entire multi-region platform based on Elastic Kubernetes Service. All developers can deploy their code to multiple regions to their own temporary environment. Contember can now provide highly available low-latency backend to their end customers.

Read more

Migration from ECS to EKS

Keboola needed to migrate from Amazon ECS to Amazon EKS to support multi-cloud setups and on-premises customers. pipetail designed and guided the migration, resulting in 40% cost savings and deployment times dropping from 14 days to 3 hours.

Read more

Tell us about your project

Whether it's a quick question or a full infrastructure project — we'd love to hear from you.