Case Studies
        

August 10, 2021

Application Migration to AWS and Kubernetes

About the Customer

Monday.com is a project management tool that enables organizations to manage tasks, projects, and teamwork. As of 2020, the company serves 100,000 organizations, including many non-technical ones. In July 2019, the company raised $150 million based on a $1.9 billion valuation.

 

Project Description

The customer faced many challenges that impacted the scalability of their platform. To address these challenges, they initiated a plan to dissolve their monolith application to a microservices architecture, and they needed to prepare the infrastructure to be ready for this shift.

 

Due to the high complexity of the required work, TeraSky split the project into two main phases, described in detail below. The first phase was to separate the PaaS to instance-based deployment. The second phase was to migrate to a K8s-based solution with AWS EKS.

 

 

Customer’s Challenges

Monday.com’s main challenges were “time to market” and “cost reduction” for digital and cloud transformation.

 

At that time, Monday.com used the Engine Yard PaaS (Platform as a Service) tool, and, as a result, the following challenges should be taken into consideration:

 

  • Monday.com faced significant business growth. Expanding the production environment was complicated and required manual addition of resources, causing production lag that affected the end users.
  • To optimize application performance and reduce production cost, monday.com had to implement the auto-scale option.
  • The PaaS platform used by monday.com forced them to work manually without process automation. Therefore, moving to production and cycle releases took too much time, and the management pushed to find a solution to significantly improve it.
  • The single testing environment used by monday.com was not sufficient, as one testing environment slowed down moving to production and as a result affected the “time to market”.
  • Likewise, using only a single staging environment prevented the company from testing concurrent deployments before release. Efficient production requires more than one testing & one staging environment to avoid collision and to enable a suitable release process.
  • Deployment procedures were done manually – which is time-consuming and vulnerable to human errors. Monday.com’s ongoing growth forced management to adopt automated processes.
  • Using manual tools creates flexibility limitations when the environment expands, and modifications are often required. In this case, Monday.com needed to use external support of the PaaS solution.
  • The option to control company environments didn’t exist. Monday.com had to rely on external support provided by the Pass Provider for any required change needed, such as adding new ports.

 

Proposed Solution

Taking into the consideration all above-mentioned challenges, TeraSky Cloud & DevOps experts conducted a deep analysis and concluded that the solution should consist of two phases:

 

  • Phase 1 planned the migration of the entire environment from the previously used EY (Engine Yard) PaaS platform to IaaS (Infrastructure as a Service) solution based on AWS EC2 Instances. That allowed Monday.com to dynamically scale the environment (up or down) according to compute demand.
  • Phase 2 was focused on containerizing the application and migrating it into EKS. This phase included breaking down the existing monolith application into independent micro-service components and deploying them inside the EKS cluster while using tools like Helm and Argo rollouts. Automatic scaling of the required resources was possible thanks to monitoring critical metrics and adjusting the capacity accordingly. This allowed monday.com to solidly maintain the predictable performance at the lowest possible cost.

 

Achievements
After the completion of the two phases, monday.com’s infrastructure is now fully IaC and they have fully automated the process of deploying identical testing and production environments with autoscaling.

 

TeraSky assisted to reduce cloud costs, saved developers’ precious time, increased flexibility, simplified DevOps processes, and created a quicker rollback process.

 

Automation for creating additional testing & Dev environments.

 

Using IaaS enabled the dev team to focus on maximum velocity for development while relying on automation processes.

Tags:
AWS
Share:

Next Articles

Case Studies
      

20 March, 2024

Reface: Reimagining the Selfie with Google Cloud
Read Case Study
Case Studies
      

19 March, 2024

Terraform Schema Converter
Read Case Study
Case Studies
      

27 February, 2024

Precision Scaling Success
Read Case Study
Skip to content