nClouds | AWS Case Studies Nylas

nClouds helps Nylas migrate its Heroku workload to containerized microservices on AWS for faster infrastructure deployment with improved cost optimization, performance efficiency, and scalability.

About Nylas

Nylas, founded in 2013, provides an API platform that enables developers to build innovative apps that integrate with 100% of email, calendar, and contacts providers in as little as four lines of code using ready-made SDKs in Node, Java, Python, and Ruby.

The solution allows developers to integrate complex, unstructured communications data into their applications in days, providing secure, pre-built integrations that are SOC 2 certified, GDPR compliant, Privacy Shield certified, and HIPAA- and FINRA-ready. Its communication APIs power communication features in the top SaaS applications globally across more than 22 countries. To learn more, go to https://www.nylas.com/.

Industry

Cloud Infrastructure, Communications Infrastructure, Developer APIs, Email, SaaS

Location

San Francisco, CA (HQ), with offices in New York City, Denver, and Toronto.

Challenge

Achieve faster infrastructure deployment with improved cost optimization, performance efficiency, and scalability.

Featured Services

Containerization, Migration, DevOps (CI/CD)

Download Case Study

Benefits Summary

icon

Faster infrastructure deployment

icon

Enhanced cost optimization

icon

Improved performance efficiency and scalability

Want to achieve benefits like these? Schedule a free Migration Fast Path Assessment with nClouds to make your journey to AWS fast, productive, and painless.

nClouds’ work to integrate CI/CD within our deployment pipeline is enabling our fast-growth company to accelerate the delivery of new features. Their expertise in containerization and migrating Heroku to AWS has enhanced our ability to scale to support increased demand as Nylas expands its global reach.”
Michael Pfister,

Head of Product, Nylas

Challenge

Challenge: Achieve faster infrastructure deployment with improved cost optimization, performance efficiency, and scalability.

Nylas wanted faster infrastructure deployment with improved cost optimization, performance efficiency, and scalability by migrating its Heroku workload to a microservices-based Docker environment on AWS.

Why AWS and nClouds

AWS recommended that Nylas work with nClouds, a Premier Consulting Partner in the AWS Partner Network (APN), because of its AWS Migration Competency and AWS DevOps Competency status, and extensive experience in using highly scalable container management and registry services to simplify the containerization and distribution of applications.

Nylas leveraged several Amazon Web Services:

  • Amazon Elastic Container Registry (Amazon ECR) - A fully-managed Docker container registry integrated with Amazon ECS that makes it easy for Nylas to store, manage, and deploy Docker container images.
AWS Partner
  • Amazon Elastic Container Service (Amazon ECS) - A highly scalable, high-performance container orchestration service that supports Docker containers and enables Nylas to run and scale containerized applications on AWS easily.
  • Amazon RDS for MySQL - Enables Nylas to deploy scalable MySQL servers in minutes with cost-efficient and resizable hardware capacity. It manages time-consuming database administration tasks, including backups, software patching, monitoring, scaling, and replication.
  • AWS Application Load Balancer (AWS ALB) - To support content-based routing and applications that run in containers.
  • AWS Fargate - Enables Nylas to run containers without having to manage servers or clusters.

Nylas’s solution stack also included additional, essential third-party tools:

  • Docker - An open-source container platform to build, ship, and run distributed applications.
  • GitHub Actions - Make it easy to automate Nylas’s software workflows with world-class CI/CD, and to build, test, and deploy code from GitHub.
  • Harness - A continuous delivery-as-a-service platform allowing developers to release code quickly and securely.

nClouds' Solution Architecture for Nylas

Nylas needed faster infrastructure deployment with improved cost optimization, performance efficiency, and scalability. To achieve these objectives, Nylas engaged with nClouds to migrate its Heroku workload to a microservices-based Docker environment on AWS.

nClouds applied its code library of best-practices configurations to provide faster infrastructure deployment and generate cost savings.

On AWS, scalable on-demand resources deliver efficiency without sacrificing performance. Separating a monolithic application into multiple containers and microservices enables faster application deployment because developers can work on different components of the application in parallel. Applications and tasks stored in containers can be rapidly scaled up and down.

nClouds began by developing a proof of concept (PoC) continuous integration/continuous delivery (CI/CD) pipeline for Nylas’s application. Nylas’s existing architecture used CircleCI for CI/CD. nClouds replaced CircleCI with the Harness continuous delivery-as-a-service platform to automate the CD process. Harness provides support for canary deployments, blue/green deployments, and rolling updates on Amazon ECS.

GitHub Actions automates Nylas’s software workflows. It installs dependencies, builds binary, runs tests, and builds containers for branch images in Docker. GitHub Actions also deploys to Amazon ECR, after which Harness deploys to the staging or prod environments of Amazon ECS.

In Nylas’s existing architecture, its stateless Scheduler Application (a Flask application) was running on two Heroku Dynos (lightweight Linux containers dedicated to running application processes). Data was in a self-hosted MySQL instance running on the same server as the application.

nClouds partnered with Nylas to containerize the application, run it on Amazon ECS, and move the data layer to Amazon RDS for MySQL. With separate layers, Nylas was able to increase its high availability since each layer can now scale independently, as needed.

The new ECS cluster is located within Nylas’s existing AWS environment and contains public and private subnets. The public subnet contains AWS ALB, and the private subnet contains the AWS Fargate container (which contains Harness, Nylas’s front-end application, and the API).

AWS’s automated snapshots provide point-in-time backups of the Amazon RDS cluster to prevent data loss. Snapshots also enable the creation of “read replicas” by the MySQL database engine. Read replicas are copies of the primary (source) instance that reflect changes to the primary in near-real-time. Amazon RDS takes a snapshot of the source instance and creates a read-only instance from the snapshot, enabling Nylas to elastically scale out beyond the capacity constraints of a single database instance if necessary.

High-level architecture diagram:

Solution Architecture

Solution Architecture

The Benefits

Teaming with nClouds, Nylas now has a containerized, microservices-based Docker environment on AWS. The project has yielded numerous benefits:

icon

Faster infrastructure deployment

Nylas now has CI/CD integrated within its infrastructure deployment pipeline. The Harness continuous delivery-as-a-service platform allows its developers to release code quickly and securely. GitHub Actions automates Nylas’s software workflows with world-class CI/CD.

icon

Enhanced cost optimization

nClouds applied its code library of best-practices configurations to provide faster infrastructure delivery and generate cost savings. Nylas has also optimized costs by migrating its Heroku workload to AWS. Comparing more or less similar instances, AWS costs less than Heroku. For example, an AWS t3.micro (1 GiB) costs $0.0104 per hour ($7.48 per month), while a standard-2x Heroku Dyno (1024 MB, which is approximately 0.95 GiB) costs $50.00 per month. An AWS c5.2xlarge (16 GiB) costs $0.34 per hour ($244.80 per month), while a performance-l Heroku Dyno (14GB, which is approximately 13.0 GiB) costs $500.00 per month.

icon

Improved performance efficiency and scalability

Nylas now has containerized applications and tasks that can be rapidly scaled up and down, enabling them to effectively and automatically respond to and manage spikes in activity. Scalable on-demand resources deliver efficiency without sacrificing performance. The new multi-layer architecture enables the database and the application to scale independently because each is on a separate layer. Amazon ECS, a highly scalable, high-performance container orchestration service, enables Nylas to run and scale containerized applications on AWS easily. Amazon RDS for MySQL enables Nylas to deploy scalable MySQL servers in minutes.

Contact Us Now

You can also email us directly at sales@nclouds.com for your inquiries or use the form below