env0 helps Curv make more efficient use of their multi-cloud infrastructure, all while freeing up valuable DevOps time and with a much more user friendly interface than their previous Jenkins based tooling
Curv is a cloud-based wallet solution that empowers users’ access and control over their digital assets.
Curv’s tech relies on two cloud providers: Google Cloud Platform (GCP) and Amazon Web Services (AWS). Their DevOps team uses both Terraform (an open-source Infrastructure as Code tool) and CloudFormation (as part of AWS) to configure these providers. However, like many rapidly scaling companies with growing engineering teams, Curv quickly ran into bottlenecks trying to keep up with the demand for provisioning infrastructure.
Curv’s CI/CD flow mirrors most tech teams. They follow a Gitflow branch model, with semantic feature/develop/release/hotfix branches. They then leveraged Jenkins to orchestrate tests, as well as monitor and release across three main environments: dev, staging and production. To monitor and optimize their cloud provider usage, Curv utilized Datadog, as well as GCP Billing to gain insight into cost and payment history.
Curv made the decision to adopt an IaC framework to address several key needs
● Increased transparency, audit capabilities, and a better communication channel between developers and DevOps
● Normalized environments that prevent time lost debugging “snowflake” conditions in different back-end environments
● The ability to have both a history of changes as well as integrated release notes
Curv gained a lot by moving to IaC. However, the company’s demand for having a flexible way to describe and deploy their environments meant that plain Terraform and Cloud Formation alone were not enough. By using env0 they uncovered a solution that offered them more benefits, including:
Standard IaC frameworks gave no ability to manage unneeded environments. env0 brought that capability to Curv, according to Shaked Shauli, Curv’s DevOps Lead, “The greatest advantage of env0’s platform was TTL environments” and destroying developer environments automatically.
env0’s dashboard gives developers and DevOps the same window into how many setups are present at any given time, which templates are in use, and the associated costs for each. Increased visibility across developers reduces confusion or miscommunication regarding the current states.
Curv’s team found env0 to be far more intuitive than Jenkins or other custom scripting solutions and thus more usable for team members both inside and outside of Curv’s DevOps.