At DevOps World|Jenkins World in San Francisco last year, Jeff Ardilio, director of software engineering at the KPMG consultancy, talked about the benefits of infrastructure-as-code (IaC), but also the preparation it takes for different environments.
Israeli startup env0 (pronounced “env zero”) takes on that challenge by helping organizations automate some of that work. It provides a layer on top of IaC frameworks to offer developers self-service while the business maintains controls and visibility into costs.
In public beta, env0 aims to help developer organizations achieve a balance between freedom and governance.
It allows developers to provision their own cloud environments within the bounds of templates that define the policies and cost controls for each project, team or even individual user. Templates for each environment — primarily Amazon Web Services, Azure, and Google Cloud Platform (GCP) — enable the administrator to manage variables and cloud credentials; define policies such as access control, environment time-to-live, and budget limits for users.
It also provides the organization insight into how cloud resources are being used and by whom.
In Public Beta
While running a DevOps services company a few years ago, Ohad Maislish, env0 CEO found one of his customers having trouble managing multiregion environments, one for U.S. customers and one for EU customers.
“Although they technically implemented IaC, they were still missing a solution to enable support for multi environments. This specific problem led me to conduct more market research on the gaps and opportunities with moving to IaC,” he said.
The company in April announced a public beta and a $3.3 million seed investment led by Boldstart Ventures in New York City and Grove Ventures in Tel Aviv with participation from angel investors including Guy Podjarny, co-founder of Snyk.
“From our first meeting, we were intrigued by their vision to bring the power of IaC to everyone and to tie infrastructure usage automatically and proactively to the business and application,” said Ed Sim, Boldstart Ventures founder and managing partner, of the investment.
General availability of env0 is expected in fall 2020.
Templates Provide Controls
By default, env0 works with the open source IaC-provisioning tool Terraform. You also can use custom flows to plug in any deployment tool, such as AWS CloudFormation orAnsible, or even plain bash scripts.
Templates are managed at the organization level and require certain permissions to make changes. If it’s not defined in a template, it won’t be provisioned.
Customizable policies like maximum time-to-live and default time-to-live ensure that dev and other non-production environments don’t live on beyond the need. It’s also adding scheduling, so non-production environments can be automatically shut down during nights and weekends when nobody uses them, then automatically reprovisioned and ready when they’re needed.
In addition to defining policies, env0 allows administrators to track environments according to usage, purpose and costs, providing insight beyond just resource consumption, but to who is using what and why.
Its dashboard provides the ability to view what’s active and automatically shut down, pause, resume, or destroy environments as necessary. Budget limits can be applied for a given time period for a project, a user, or group of users.
Visibility into Costs
The company aims to provide visibility and predictability to cloud usage and cost.
Cloud governance and managing the budget were big challenges in a 2019 cloud report from Flexera and RightScale, which estimated that 35% of cloud spend is wasted. Cloud “hangovers” have become such a concern that a non-profit trade association called the FinOps Foundation was created to help organizations control their cloud costs.
451 Research found that more than half of large enterprises worry daily about cloud costs and 80% say that poor cloud financial management has a negative impact on their business.
Maislish maintains that the industry’s response to burgeoning cloud costs has been creating tools with a disconnect between the infrastructure and its business use. Tying the two together generally requires a lot of manual tagging to appropriately report on usage of each resource.
The env0 self-service engine platform automatically tags each resource and the environment in which it was deployed. That eliminates human error, the need for testing and maintenance and provides flexibility to use any module or extension (even open source) regardless of its native tagging support.
It learns about each environment in which it’s set up, who deployed it, from which team, for which project, using which code, which template, when it was deployed, and more.
It then uses the cloud provider’s cost API to pull spend data into env0 and associate it back to the data env0 already has about a specific environment based on being your orchestration platform.
The company recently debuted Cost Over Time, a feature tracking costs over time, but adding in when changes to your infrastructure were made, so you can see how those changes affected the budget. For multicloud users, the new cost charts will display the cost per cloud provider.
Providing self-service provisioning and visibility into the budget can help teams take greater ownership of their projects, according to the company.
Cloud-based wallet solution Curv employed env0 after using Terraform and CloudFormation to configure GCP and AWS. Like many rapidly growing companies, it kept running into bottlenecks as its engineering teams sought to provision infrastructure.
Curv follows a Gitflow branch model with branches for development, releases and hotfixes. It employs Jenkins to orchestrate tests, as well as monitor and release across dev, staging and production. It relied on Datadog and GCP Billing in its effort to get a handle on its costs.
It moved to an infrastructure-as-code model for increased transparency, audit capabilities and better communication between developers and DevOps, but found it still needed more.
It found further benefits from env0 for managing unneeded environments, visibility into how many setups are running at any given time, which templates are in use, and the associated costs for each. The team also found env0 more intuitive than Jenkins, according to Shaked Shauli, DevOps lead at Curv.
“When we moved to infrastructure-as-code, it became clear that having a flexible way to orchestrate our environments was essential and using Jenkins was not enough,” said Shauli. “env0 solved several of our problems, but its greatest advantages were its automated TTL (time-to-live) environment policies. It allowed our team to control and manage environments while driving costs down.”
Amazon Web Services and Snyk are sponsors of The New Stack.
At this time, The New Stack does not allow comments directly on this website. We invite all readers who wish to discuss a story to visit us on Twitter or Facebook. We also welcome your news tips and feedback via email: [email protected].