TalksAWS re:Invent 2025 - 5-Star Customer Service: Duolingo's Path to Compute Savings (CMP349)

AWS re:Invent 2025 - 5-Star Customer Service: Duolingo's Path to Compute Savings (CMP349)

Duolingo's Path to Compute Savings with AWS Graviton

Leveraging Managed Services with Graviton

  • Duolingo leveraged AWS managed services like Amazon Elasticache and Amazon RDS that support Graviton processors to achieve immediate cost savings.
  • For Amazon Elasticache, Duolingo migrated from R5 instances to R6G Graviton-based instances, carefully planning the migration to minimize disruption:
    • Created a new Graviton-based cache and gradually shifted traffic from the old cache to mitigate risk.
    • Monitored cache usage and found most workloads only used a small fraction of the NVME storage, allowing a migration to less expensive EBS-backed instances.
  • For Amazon RDS, Duolingo followed a similar approach, first testing the migration in a canary environment before rolling out to production:
    • Analyzed RDS instance utilization and found most workloads did not require the high-performance NVME storage.
    • Migrated RDS instances from NVME to EBS-backed, taking advantage of the lower interruption rates on the spot market for EBS instances.
  • These managed service migrations resulted in over 75% of Duolingo's managed services running on Graviton, delivering a 10% reduction in RDS and Elasticache costs.

Expanding the EC2 Instance Pool

  • Duolingo initially ran most of their EC2 workloads on NVME-backed instances due to high storage requirements, but as their observability and logging improved, they found they could leverage less expensive EBS-backed instances.
  • To expand their instance pool and improve flexibility, Duolingo:
    • Analyzed instance utilization and found most workloads were not fully utilizing the NVME storage.
    • Leveraged the AWS Spot Instance Advisor to evaluate interruption rates for EBS vs. NVME instances, finding EBS instances had lower interruption rates.
    • Gradually rolled out EBS-backed instances, first in a canary environment, then expanding to dev, staging, and production environments.
  • This instance pool optimization resulted in over 10% savings on Duolingo's EC2 costs without changing any application logic, while also improving their ability to adopt newer instance types more quickly.

Migrating Microservices to Graviton

  • Duolingo started early with ARM-based development, having their engineers "dogfood" ARM-based laptops to identify compatibility issues.
  • They selected their critical monolithic "Duolingo 2" application as the first target to migrate to Graviton, using a phased approach:
    • Built and tested the application locally on Graviton, addressing any package or code compatibility issues.
    • Deployed the Graviton-based version to a canary environment, closely monitoring for any runtime issues.
    • Gradually expanded the Graviton deployment to smaller production environments, then full production.
  • The Graviton migration of the monolith resulted in a 10% reduction in task count and 20% faster deployment times.
  • Duolingo then expanded their Graviton adoption, targeting their top 5 most resource-intensive microservices, which represented 25% of their EC2 spend.
    • These migrations were facilitated by improvements to their CI/CD tooling, allowing developers to easily choose between x86 or Graviton-based deployments.
    • In total, Duolingo now has over 30% of their microservices running on Graviton, resulting in a 20% reduction in their overall EC2 costs.

Looking Ahead: Future Compute Initiatives

  • Duolingo is planning further initiatives to accelerate their Graviton adoption, with a goal of reaching 50% of their compute on Graviton by 2026.
  • They are also exploring the use of Kubernetes (EKS) to improve flexibility and enable features like a service mesh and ephemeral staging environments.
  • Additionally, Duolingo is investigating a multi-architecture strategy, allowing them to deploy the same application image on either x86 or Graviton instances, providing more options to optimize for cost and performance.

Key Takeaways

  • Duolingo achieved significant cost savings and performance improvements by leveraging AWS Graviton processors across managed services, EC2 instances, and microservices.
  • Careful planning, phased rollouts, and close collaboration with AWS technical account managers were critical to the success of Duolingo's Graviton adoption.
  • Expanding the instance pool, optimizing for storage requirements, and improving CI/CD tooling enabled Duolingo to accelerate their Graviton migration.
  • Duolingo's journey demonstrates how the right partnership and technical expertise can help organizations transform cloud constraints into opportunities for innovation and efficiency.

Your Digital Journey deserves a great story.

Build one with us.

Cookies Icon

These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.

If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.