How Tos

Master Infrastructure as Code with practical technical guides and tutorials.

View all
Blogs
Videos
Case Studies
New Features
Terraform
OpenTofu
How Tos
News

Mastering Ansible Playbooks: Step by Step Guide

This guide will introduce Ansible Playbooks and demonstrate how they work through an example deployment of a Flask application on an Apache server with a PostgreSQL database.

Sam Gabrail

President, TeKanAid

Terraform Map Variable: A Complete Guide with Practical Examples

In this blog, we’ll explain what Terraform maps are, explore their use cases, and share practical examples and best practices for effectively using them—and more.

Saksham Awasthi

Developer Relations

Terraform Workspaces Guide: Commands, Examples and Best Practices

This blog post covers Terraform workspaces, commands, best practices, practical examples, and more.

Saksham Awasthi

Developer Relations

Streamlining env0 Onboarding with Environment Discovery

The latest upgrade to our Environment Discovery feature improves how you onboard your existing environments to env0, making the process quicker and smoother than ever before!

Tom Porat

Engineering Team

OpenTofu Registry Guide: Tips, Examples, and Ways to Contribute

The OpenTofu registry UI is now live! To mark this occasion, here's a quick guide to help you explore its use cases, key features, and ways to contribute.

Arel Rabinowitz

env0 Engineering, Team OpenTofu

Terraform for Loops Guide: Types, Examples and Best Practices

Terraform for loop helps you write simplified, repeatable code used to deploy resources. In this article, we’ll explore 'for' loops using 'for_each' and 'count', how and when to use them, example scenarios, best practices, and much more.

Saksham Awasthi

Developer Relations

The Essential Ansible Tutorial: A Step by Step Guide

In this tutorial, we'll cover the fundamentals of working with Ansible, from installation to creating your first playbook. In later sections, we'll dive into practical hands-on examples for advanced use cases and show why Ansible has become a go-to solution for many modern DevOps practices.

Sam Gabrail

President, TeKanAid

Terraform Lookup Function: Examples, Use Cases and Best Practices

The Terraform/OpenTofu 'lookup' function helps maintain clean, DRY, and reusable code. In this blog, we'll explore the various scenarios where the 'lookup' function can be used, and provide some practical examples for both common and more advanced use cases.

Saksham Awasthi

Developer Relations

Terraform Count Meta-Argument: Indexing, Examples and Use Cases

In this blog, we’ll learn more about count, describe its use cases, and show how you can use it to create multiple resources with ease - with or without conditional expressions.

Saksham Awasthi

Developer Relations

Meet Cloud Compass: AI-assisted IaC Coverage Audit and Risk Mitigation

Cloud Compass enhances your cloud resource management. Using AI-assisted logic, it auto-analyzes IaC coverage blind spots and trends over time, helping you quickly close any gaps.

Omry Hay

CTO & Co-founder, OpenTofu Steering Committee

OpenTofu v1.8: A Detailed Look at the Upcoming Release

As OpenTofu quickly nears its next stable release, we delve into its new features, discuss their use cases, and explore the challenges they will address for OpenTofu users.

Arel Rabinowitz

env0 Engineering, Team OpenTofu

Terraform Cloud (TFC) Alternatives: In-Depth Guide

Recent events are prompting companies to reconsider their TFC subscriptions. At this critical moment, let’s take a closer look at TFC—explore its features, limitations, and pricing model, and review potential alternatives that might better meet your needs.

Ned Bellavance

Founder, Ned in the Cloud

Terraform Import Command and Import Block: Examples, Tips and Best Practices

Learn how to use the 'import' command and import blog to move existing resources into your Terraform/OpenTofu state file.

Saksham Awasthi

Developer Relations

Terraform Validate Command: Practical Examples and Best Practices

The 'validate' command helps you check the syntax of your Terraform or OpenTofu code before deployment. Learn how to use it effectively for seamless infrastructure provisioning.

Saksham Awasthi

Developer Relations

env0 Workflows: Simplifying Advanced IaC Setups and Managing Dependencies

env0 Workflows provides a structured approach to managing groups of related environments and their dependencies. Learn how you can use it to streamline complex IaC deployments.

Aditya Murali

Developer Relations

How to Use tenv to Streamline IaC Version Management

tenv is a version manager for Terraform, OpenTofu, Terragrunt, and Atmos, written in Go. Check out this post to see how it works.

Anastasiia Kozlova

DevOps Engineer, Team tofuutils

Terraform Dynamic Blocks: Advanced Use Cases and Examples

Learn how to use dynamic blocks in Terraform and OpenTofu, to create adaptable configurations based on input values.

Saksham Awasthi

Developer Relations

Terraform Functions Guide: Complete List with Detailed Examples

Terraform functions are essential for creating effective infrastructure code. In this blog post, we'll provide a 360° review of Terraform/OpenTofu functions, with practical and detailed examples.

Saksham Awasthi

Developer Relations

Terraform Best Practices: State Management, Reusability, Security and Beyond

In this blog, we will discuss best practices you should follow for writing clean, scalable, and efficient Terraform code, and how to achieve them with env0.

Saksham Awasthi

Developer Relations

Terratest vs Terraform/OpenTofu Test: In-Depth Comparison

Why should you test your IaC? And how does the Terraform Test Framework compare to Terratest? That's what we're going to explore in this article.

Ned Bellavance

Founder, Ned in the Cloud

Terraform Output Command: Examples, Tips and Best Practices

A practical in-depth guide on Terraform outputs with detailed examples, advanced use cases, and more.

Saksham Awasthi

Developer Relations

Take Control of IaC Costs With env0 (Free Whitepaper Inside)

Discover how env0 helps you effectively manage and optimize Infrastructure as Code costs, ensuring efficient cloud spending at scale.

Andrew Way

Sales Engineering

Use Our New Navigation to Simplify IaC Project Management

We are thrilled to announce an upgrade to the navigation experience on the env0 platform, designed to make project management smoother and more intuitive.

Hadas Weinrib

Product Marketing

OpenTofu v1.7: Enhanced Security with State File Encryption

The launch of OpenTofu 1.7 brings a highly anticipated update: state file encryption. In this post, we take a deep dive into this feature and other new improvements.

Roni Frantchi

env0 Engineering, Team OpenTofu

Terraform Files and Folder Structure: Organizing Infrastructure-as-Code

Discover best practices for Terraform configuration files and folder structures to optimize your IaC workflow and avoid future complex reorganizations.

Saksham Awasthi

Developer Relations

Terraform Destroy Command: A Guide to Controlled Infrastructure Removal

In this post, we cover best practices and considerations to ensure the effective and safe execution of 'terraform destroy' within your infrastructure management processes.

Aditya Murali

Developer Relations

Environment Discovery: Automatic Environment Creation from Your Git Workflow

With Environment Discovery, you can maintain your directory-based structure in your VCS. This enables you to use your existing approval workflows, take advantage of CodeOwners, ensure auditability, and stay aligned with Infrastructure as Code (IaC) best practices!

Andrew Way

Sales Engineering

Top Infrastructure as Code Tools and Terraform Alternatives

In this post, we've selected a range of the most popular IaC tools to provide a quick overview of the IaC ecosystem and help you find the option best suited for your organization or project.

Aditya Murali

Developer Relations

Using Terraform, Kubernetes, and Helm: The Power Trio

Learn how to use env0 to create a unified platform that combines Kubernetes scalability with Terraform's provisioning strength and Helm's deployment dexterity!

Sam Gabrail

President, TeKanAid

Terraform for_each: Examples, Tips and Best Practices

Looping constructs provide a way to generate similar resources dynamically based on a collection or count. Learn how to use 'terraform for_each' for efficient infra management.

Aditya Murali

Developer Relations

Terraform Registry Guide: Tips, Examples and Best Practices

The Terraform registry is an essential asset for every Terraform user. In this blog, we provide a practical guide for how it can be used to streamline and standardize cloud infrastructure provisioning.

Aditya Murali

Developer Relations

Switch from Terraform Cloud in Minutes with Our New Migration Tool

Born out of frequent customer requests, our TFC migration tool simplifies and accelerates the transfer from Terraform Cloud to env0, at any scale. Visit here to see it in action.

Ned Bellavance

Founder, Ned in the Cloud

Top Terraform Tools to Know in 2024

Discover the top Terraform tools for 2024, each with unique benefits that enhance various aspects of your Terraform experience.

Aditya Murali

Developer Relations

Terraform vs AWS CloudFormation: An In-Depth Comparison

In this post, we'll compare Terraform and AWS CF, discuss their pros and cons, and demonstrate how they can be used with env0, leveraging the platform’s multi-framework support.

Sam Gabrail

President, TeKanAid

Terraform Apply Command: Options, Examples and Best Practices

A comprehensive guide to the terraform apply command, featuring use cases, options, examples and best practices!

Aditya Murali

Developer Relations

Ansible vs Terraform: Choose One or Use Both?

In this blog post, we will compare the two tools, and then consider examples of how to use them together for a more efficient and comprehensive approach to infrastructure management.

Sam Gabrail

President, TeKanAid

A Complete Guide to Terraform Cloud Pricing

In this guide, we will take a deep dive into TFC's new pricing model, review its implications and discuss the pros and cons of the new pricing scheme.

Igal Zeifman

env0 Marketing, Team OpenTofu

How to Manage Terraform Locals

All programming languages have a way to express and store values within the context of a code block. In the case of Terraform, that functionality is delivered through Terraform locals.

Ned Bellavance

Founder, Ned in the Cloud

How to Use Terraform Providers

Terraform providers are essential to the functionality of Terraform. Learn how to install and use them to interact with diverse infrastructure services - AWS, Kubernetes,GitHub and more.

Ned Bellavance

Founder, Ned in the Cloud

What Is Pulumi And How To Use It With Env0

Pulumi is an open source Infrastructure-as-Code framework that provisions resources utilizing common programming languages. Learn more about it and how to easily make it work with env0.

Sam Gabrail

President, TeKanAid

Using Jenkins for Terraform Management

This post showcases the orchestration of Terraform deployments using Jenkins in a real-world scenario. It also delves into the pros and cons of choosing Jenkins for IaC management.

Sam Gabrail

President, TeKanAid

Tutorial: How to Manage Terraform Versioning

Each release of Terraform brings with it new features and functionality, but also potential breaking changes. Here is how to choose well.

Ned Bellavance

Founder, Ned in the Cloud

Tutorial: Achieving Auto Remediation with env0

Learn how to combine our trio of capabilities — drift detection, scheduling, and approval policies — to automatically ensure consistent and compliant infrastructure.

Andrew Way

Sales Engineering

FinOps Meets IaC: Granular Cloud Cost Optimization with env0

Our new FinOps features help teams manage budgets on a project level and prevent overruns before they occur.

Amit Alkobi

Engineering Team

Pulumi vs Terraform: An In-Depth Comparison

We take a deep dive into the features, similarities, differences, and real-world use cases of Terraform and Pulumi, including real-world examples.

Sam Gabrail

President, TeKanAid

OpenTofu Alpha Launches: Try It Out in Just 3 Clicks

We are excited to announce the launch of OpenTofu alpha version and our new integration feature, which you can use for testing.

Omry Hay

CTO & Co-founder, OpenTofu Steering Committee

ArgoCD Tutorial: Manage and Orchestrate Applications with IaC

In this post, we show how env0 streamlines application management by integrating with ArgoCD, a popular application deployment tool for Kubernetes.

Andrew Way

Sales Engineering

Tutorial: env0's Extension for Visual Studio Code

Developed out of one of our hackathons, this extension makes it easy to work with your env0 environments, making your development process faster and simpler.

Andrew Way

Sales Engineering

OPA Tutorial: Leveraging env0 for Advanced Cloud Policy Management

Learn how you can use env0 to put "OP" in OPA.

Itamar Malka

Engineering Team

Tutorial: Using ArgoCD with Helm Charts

ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes applications that uses Git repositories as the source of truth for defining the desired application state. It automates application deployment and lifecycle management, making it easy to understand and audit.

Sam Gabrail

President, TeKanAid

Using Open Policy Agent (OPA) with Terraform: Tutorial and Examples

Embracing Infrastructure as Code is a key step in your journey to cloud native operations. It also opens the door to approach other aspects of your operations as code, and a great example of this is using code to define and evaluate policy. This post will introduce you to the concepts behind policy as code, and how to use Open Policy Agent (OPA) to implement policy as code with your existing Terraform configurations.

Ned Bellavance

Founder, Ned in the Cloud

Day 0 Environment Creation

env0 works well for customers who already have infrastructure provisioned in the cloud. But what if you need to support infrastructure developers and still need the management layer that env0 provides? We refer to this process of creating new infrastructure through automation as “Day 0” environment creation. This post shows one such way of automating the creation of the env0 environment resources by using our TF provider and some shell magic.

Andrew Way

Sales Engineering

Share outputs between IaC stacks

As our codebase becomes more complex, it often becomes an issue to maintain one IaC stack for our entire deployment, and we might think of splitting our IaC stack into smaller, more manageable components, with the relevant IaC for the job. The question is how can we pass outputs between deployment stacks? Read on to learn more.

Eran Elbaz

Engineering Team

Tutorial: How To Set up Prometheus and Grafana with Amazon EKS

In this blog post we’ll walk you through setting up your first monitoring and observability system to gather data about your systems, deployed in AWS cloud using env0.

Michael Levan

Creator, ProdKube

Containerized Application Deployment to Amazon EKS

In this tutorial we'll go over how to enable repeatable, effective, straightforward application deployments by automatically deploying Kubernetes resources to an Amazon EKS cluster. 

Michael Levan

Creator, ProdKube

Deploying Amazon Elastic Kubernetes Service (AWS EKS) with Terraform

When you’re deploying any type of code, whether it’s application code or infrastructure code like Terraform, you want an automated way to deploy it. Aside from application and infrastructure automation workflow, you also want a way to manage certain aspects of how you’re deploying your environment. In this blog post, you’ll learn how to deploy an AWS Elastic Kubernetes Service (Amazon EKS) cluster with Terraform using env0.

Michael Levan

Creator, ProdKube

How to use Terraform locally with the env0 platform

Under pressure to use an automated IaC tool but don’t want to deal with the overhead of pushing code for every change? Here’s a step-by-step look at how to use Terraform locally and still have access to all the benefits of the env0 platform.

Eran Elbaz

Engineering Team

Deploy Amazon Elastic Container Service (AWS ECS) with CloudFormation

For any infrastructure or cloud service deployment, organizations need a way to make the entire deployment process repeatable. In this blog post, you’ll learn how to combine AWS CloudFormation and env0 to create a production-driven experience for AWS Elastic Container Service Amazon ECS.

Michael Levan

Creator, ProdKube

How to integrate Azure DevOps with env0

Feature Release: env0 has released an integration with Azure DevOps, allowing teams to automate the provisioning and management of cloud resources directly from Azure DevOps. This integration is useful for implementing gitops workflows, providing self-service provisioning for developers, and enforcing governance and compliance controls.

Kevin "KMac" Damaso

Product Marketing

Manage on-prem VMware vSphere with Terraform and env0

Infrastructure as Code (IaC) is widely used to deploy into clouds like AWS, Azure, and GCP. It can also be used to manage on-premises VMware vSphere infrastructure. This step-by-step walkthrough and video tutorial shows you how to use env0 with a self-hosted agent to manage on-premises VMware infrastructure directly.

Sam Gabrail

President, TeKanAid

Video Tutorial: How to Migrate from Atlantis to env0

In this video, we'll go through some background on Atlantis and then show you how to migrate from Atlantis to env0, including using the env0 remote backend for Terraform state storage.

Sam Gabrail

President, TeKanAid

Manage Terraform Remote State Using Remote Backend

You can now use env0 as your remote backend for Terraform state storage, including migrating your existing remote state from other platforms to env0.

Kevin "KMac" Damaso

Product Marketing

New: Authenticate With Third-Party Services Using the OpenID Connect Integration

Now you can make your deployments even more secure with OpenID Connect support!

Raz Ben Simon

Engineering Team

Managing tfvars Files and Terraform Variable Hierarchy

Learn more about Terraform variables, terraform module variables, and ways to DRY out your code with some examples of how to build complex variable hierarchies.

Arel Rabinowitz

env0 Engineering, Team OpenTofu

Deploying Prometheus to a Kubernetes Cluster using env0

Streamlime the process of deploying a Kubernetes cluster and an application to it.

Yaron Yarimi

Engineering Team

env0 Workflows Get a Power Up

Workflows solve the problem of provisioning complex infrastructure resources that have dependencies, and using multiple frameworks for your infrastructure-as-code.

Kevin "KMac" Damaso

Product Marketing

Multi-Environment Deployment Workflow with env0’s Terraform Provider

Infrastructure is typically built up from multiple layers, starting with the network to the compute layer. In order to deploy your K8s cluster, you typically need your subnets and VPCs defined ahead of time. As I talk to customers about their IaC deployment challenges, I often get asked how env0 can help with orchestrating dependencies amongst these multi-tiered, multi-layered infrastructure deployments.

Andrew Way

Sales Engineering

It's not Terraform or Ansible... Terraform AND Ansible = Total Flexibility

We have seen a lot of content that pits Ansible and Terraform against one another. Our challenge is that Ansible and Terraform are two similar tools that are purpose-built to achieve two different goals. Rather than ask about Ansible vs Terraform, we should ask about how these two extremely powerful tools can be used together. Then, coupled with the env0 platform and the Red Hat Ansible Automation Platform, the automation possibilities are nearly limitless.

Mark Phillips

Product Marketing

Manual Approval Workflow using env0’s Custom Workflow and API

You like env0 because it can automate your IaC deployment process, but you also like your existing manual approval workflow through Jira or ServiceNow. With env0’s custom flow and API, we can easily integrate your manual approval workflow with env0’s IaC deployment workflow. This blog will show an example of approving the env0 deployment through your ticketing system.

Andrew Way

Sales Engineering

Organize and Configure your Account

Coming from Terraform Cloud/Enterprise, and confined and limited to simply just Workspaces, getting started with env0 may raise questions such as: how to organize and configure your account. This post will show ways to structure your env0 environment.

Andrew Way

Sales Engineering

How to utilize Dynamic Environments quickly with Infrastructure as Code

In this session, we are going to talk about the process of migrating from static environments to dynamic environments using Terraform and env0.

Tim Davis

DevOps Advocate

Better Together: Checkov and env0

How to run Checkov after your Terraform Plan to shift-left security in your env0 deployments.

Tim Davis

DevOps Advocate

Video Tutorial: Infrastructure as Code Automation

This video demonstrates how env0 automates Infrastructure as Code pull request and merges to a development environment, and how the same change to production is submitted for approval.

Tim Davis

DevOps Advocate

Web Application Preview Environments

Per-pull request environments for the front-end are commonly called “Preview environments” and can be achieved in many ways, one of which is using Terraform. Rolling this out on your own, will give you better control over your infrastructure, allowing you to create preview environments which are closer to your production environment.

Avner Sorek

Engineering Team

We’re Opensourcing Terratag to Make Multicloud Resource Tagging Easier

env0 is open sourcing Terratag - a CLI tool that enables users of Terraform to automatically create and maintain tagging across their entire set of AWS, Azure, and GCP resources. It enables you to easily add dynamic tags to your existing Infrastructure-as-Code.

Roni Frantchi

env0 Engineering, Team OpenTofu

Why You Should Be Using Per-Pull Request Environments (and how!)

Thanks to Infrastructure as Code, it’s easy to get rid of your traditional staging environments and start using a dynamic, dedicated environment for each pull request. Adopting per-pull request environments will help you shorten feedback loops, reduce bottlenecks and conflicts, and increase your team’s velocity.

Avner Sorek

Engineering Team

Managing Kubernetes Environments using Namespaces and Terraform

Kubernetes is the "go to" for orchestrating containers but managing multiple environments in a single cluster can get tricky. We're diving into how you can easily use namespaces and Terraform to manage lots of environments for many users.

Omry Hay

CTO & Co-founder, OpenTofu Steering Committee

Creating a Maintenance mode for your API Gateway with Terraform

In a modern application there’s also a public (or private) API that also needs to have a maintenance mode. Let’s see how we can do that using Terraform on API Gateway.

Omry Hay

CTO & Co-founder, OpenTofu Steering Committee

Building a "Maintenance Mode" with Terraform and Github Pages

Even the most highly available applications from the most experienced providers sometimes need to be able to be taken offline for a short period of time. Learn how to do it using Terraform and Github pages.

Omry Hay

CTO & Co-founder, OpenTofu Steering Committee