Case Study
Discover How Okteto Helped monday.com Accelerate Developer Velocity by 50%
Introduction
monday.com transforms the way people work with a Work OS that connects global teams to work processes to improve collaboration and communication.
The Tel Aviv-based company’s hyper-growth - from raising $150 million in 2019 to IPO in 2021 - is testament to their development excellence. To praise the monday.com engineering team and open source platform would drain the vocabulary of superlatives.
The platform is fully customizable to suit any business vertical and is currently used by over 152,000 customers across over 200 industries in 200 countries. “monday.com democratizes the power of software so organizations can easily build work management tools and software applications to fit their every need,” says Lior Rabin, monday.com's Infrastructure Engineer."
Having a good development environment can be hard, but the impact is huge once you get it right. That's why we always aim to improve deployment times, make sure sync is working and stable, and invest in our documentation and knowledge sharing so that everyone in monday.com's R&D team can work and make a great product.
The challenge
The company's 3x yearly customer growth demanded a 2x yearly growth
in engineering. And as fast as kids outgrow their sneakers, monday.com's engineering team outgrew a dev solution that required exhausting ongoing changes to keep up with the accelerated pace of development, deployment and management of complex microservices architecture.
The biggest problem was that monday.com's development environment was supporting too many moving parts - namely, the monolith and dozens of microservices, each with its own set of databases. Complicating matters further was that — with the development environment containerized — each developer needed to create a Docker network to enable services to interact with one another and deploy a Localstack to mimic AWS services.
Additionally, each Docker composition deployment was so resource- heavy, it was killing laptops like a Halloween horror movie. At some point, it became almost impossible for Lior’s team to run more than a couple of microservices concurrently.
The increasingly complicated development processes and the week-long task of spinning up environments from scratch also led to a frustrating onboarding experience for new developers. "We have an internal new employees onboarding goal – to make meaningful production changes during their first week,” says Lior. “The development environment should support this goal - not make it harder to accomplish.”
The solution
monday.com required a new set of scalable development tools that were "enterprise-ready,” i.e., easy to set up and replicate, had fast inner-loop flows, and mirrored the production environment with digital twin precision. Ultimately, Lior needed a solution to streamline developer processes, accelerate developer velocity, improve collaboration and reduce the risk of bugs, scrap, and rework. After reviewing his options, Lior chose Okteto.
Lior liked that Okteto allowed them to launch their full environment with one-click from UI or CLI. The development environment solution also gave his team access to a Kubernetes namespace in a shared developer cluster - that mirrored their production environment. By the same token, it removed the need for his developers to need to know Kubernetes so they could focus on development and innovation.
"The productivity increase is huge—developers almost don't need any extra time handling environment setup and can work on what matters, which is the product itself," says Lior.
The results? Lior was able to accelerate developer velocity and reduce bugs, scrap and rework - all by 50%. And monday.com’s usage stats speak for themselves: 170 developers have namespaces on Okteto cluster (almost the entire R&D team) with 120 Okteto sessions per day (unique developers running development-mode on).
Holistically, Okteto supported the engineering team’s ability to work on one or more components with instantaneously synced changes without committing, building or pushing.
With less time and resources spent on managing the complexities of environment setups, developers are more productive and new team members can be onboarded and start working right away. "After a few months of onboarding the entire R&D team onto Okteto, an internal survey resulted in very high satisfaction scores," says Lior.
Moving forward
As monday.com continues to grow and the R&D team expands, Lior believes their investment in Okteto will be maximized by new use- cases, such as the following:
- Preview environments – when a developer creates a PR, an Okteto preview environment will be generated and shared with anyone on R&D to review before merging. This helps get feedback faster before deployment to staging, which sometimes can take some time. The environment will be destroyed once the PR is merged/closed.
- Pair-programming – use the Okteto share namespace option to pair- programming across multiple services, making the integration happen locally and ensuring everything is working as expected before going on to staging.
- State toggles – use Okteto's abilities for shared volumes to allow a fast switch of the environment state (for example, between a free account to an enterprise one).
Preview Environments
Sharable preview environments for full-stack applications with every pull request.
Okteto Enterprise
The power of Okteto Cloud, with the control of running in your Kubernetes infrastructure.