Technically
AI Reference
Your dictionary for AI terms like LLM and RLHF
Company Breakdowns
What technical products actually do and why the companies that make them are valuable
Learning Tracks
In-depth, networked guides to learning specific concepts
Posts Archive
All Technically posts on software concepts since the dawn of time
Terms Universe
The dictionary of software terms you've always wanted

Explore learning tracks

AI, it's not that ComplicatedAnalyzing Software CompaniesBuilding Software ProductsWorking with Data Teams
Loading...
I'm feeling luckyPricing
Log In

What does Hashicorp do?

Hashicorp sells software that helps developers manage their cloud infrastructure via code-based configuration.

Last updated Jun 18, 2026devops
Justin Gage
Justin Gage
Read within learning track:Analyzing Software Companies

The TL;DR#

Hashicorp sells open-core software that helps developers manage their cloud infrastructure via code-based configuration and access.

  • Cloud infrastructure is constantly evolving – larger organizations need to create and modify their resources on the reg 
  • As organizations move towards multi-cloud and infrastructure breadth increases, managing this stuff is getting more annoying
  • Hashicorp provides a suite of open-core tools like Terraform and Vault to make this process easier for developers
  • The company makes money by selling packaged solutions to large enterprises (and a little via cloud)

Hashicorp is a beloved and respected (importantly) brand among developers. And since raising at a $5B valuation in March 2020 and going public in December 2021, they've grown to generate $583.1 million in revenue in 2024. [1] From Hashicorp's most recent 10-K filing: Our revenue was $583.1 million, $475.9 million, and $320.8 million for the fiscal year ended January 31, 2024, or fiscal 2024, the fiscal year ended January 31, 2023, or fiscal 2023, and the fiscal year ended January 31, 2022, or fiscal 2022, respectively, representing period-over-period growth of 23% and 48%, respectively.

Terms Mentioned

Open Source

Remote

SSH

Server

Cloud

Infrastructure

Docker

Networking

API

Metric

Analytics

Data warehouse

Deploy

Web App

Database

VPN

Kubernetes

Companies Mentioned

AWS logo

AWS

AMZN
Docker logo

Docker

PRIVATE
Hashicorp logo

Hashicorp

HCP

The core Hashicorp product: simplifying cloud#

You can think of Hashicorp as a layer on top of your infrastructure, cloud or otherwise, agnostic to who you’re actually using – Amazon, Google, both of them, on-prem, whatever. And they help developers create and manage that infrastructure in a simple, scale-friendly way. They have products across several categories – cloud, security, networking, and apps – that abstract the lower level details and make it easier for developers to focus on just building their apps.

Why infrastructure needs managing#

To understand Hashicorp, we’ll first need to get a view of what it’s like to manage cloud infrastructure, especially for larger companies. Let’s put on our x-ray goggles and venture into the desk clump by the wall that gets no light where they put the software engineers.

If you’re running your app(s) on cloud infrastructure today (and this also applies somewhat to home-grown stuff), your team runs up against 4 major problems. Well, more than that, but 4 for the purposes of this post.

1) Product overload#

AWS has literally hundreds of products, and it’s not at all uncommon for companies to use 10 or even 20 of them at once. To quote from the original Technically post on AWS:

Even medium sized startups will often be using 10+ AWS services from the get go, and more established businesses can easily go past 100. Let’s imagine we’re a startup that sells technical literacy and education software to tech businesses (let’s imagine). We’ve got a basic web application, and a little data warehouse for our Growth Lead to report basic company metrics. We might be using:EC2 to deploy our web app in a few Docker containersLambda to process form submissions on the marketing siteEBS for block storage connected to our EC2 instance(s)S3 to store backups and files for the app and marketing siteRoute53 to connect our domain name to our AWS serversRDS (Postgres) as our managed database for our web appCloudfront as our CDN for serving assets quicklyVPC to isolate our resources into a private, secure networkBackup to back up our data across servicesRedshift to store analytics data as our data warehouseThese are just the AWS products that you’ll be using - but there are other parts of the ecosystem that help support this product usage; sort of like the glue that keeps things together.

As you might imagine, working with all of these products can get a bit hairy. It’s hard to understand what’s running, what state it’s in, and what you should use for spinning up new apps or services. 

2) Configuration hell#

Each infrastructure product has different configurations. What region should your EC2 instance be in? What’s the timeout for your Lambda function? What size is your EBS instance? 

These configurations are essential to an efficient infrastructure setup, but creating and maintaining them is understandably complex. It doesn’t help that the AWS console is notoriously difficult to work with. 

3) Permissions #

When you’re a small shop with a few developers, it’s OK for everyone to have master access to your infrastructure. But as the team grows, it can get dangerous to be loose with access controls – you’ll want to start giving different developer groups different permission levels. Maybe your platform team has access to adjusting existing configurations, while your application team can only create new instances. 

AWS – and other cloud providers – offer internal IAM (Identity & Access Management) utilities, but they, too, aren’t particularly smooth or easy to use.

4) Multi-cloud#

The overwhelming majority of cloud-native enterprises are using multiple cloud providers. Now what multi-cloud actually means in practice is beyond the scope of this piece (how diversified do you need to be?), but suffice it to say that large enterprises are using products from multiple cloud providers. That means multiple UIs and CLIs to manage this stuff, multiple billing portals, etc. This is not fun. 

Hashicorp is a layer on top of your infrastructure#

This is where Hashicorp comes in. You can think of them as a layer on top of your infrastructure, cloud or otherwise (like I literally just said in the headline), agnostic to who you’re actually using – Amazon, Google, both of them, on-prem, whatever. And they help developers create and manage that infrastructure in a simple, scale-friendly way. 

🚨 Confusion Alert

“Infrastructure” can mean a lot of different things – a lot of people would call Hashicorp itself part of infrastructure. For the purposes of this post, think of it as anything you’d run an application on: a virtual machine, a Docker container, or any combination of those sorts of things.

We’ll start by running (jogging?) through some high level descriptions of Hashicorp’s core products, and then dive deeper into their most popular one, called Terraform. And unlike AWS, the good people over at Hashicorp seem to be actually able to name their products nicely, which we love. 

Loading image...

😰 Don’t sweat the details

Feel free to skip through this section if it’s too in detail – there’s a lot here. Just keep in mind that Hashicorp’s goal is to be the one-stop-shop for filling in the gaps in your infrastructure – anything that AWS and co. don’t do, plus making them all work together.

Infrastructure#

These products help you manage your infrastructure primitives.

  • Terraform – create, manage, and destroy infrastructure from any provider with an easy programmatic interface.
  • Packer – service for building images that you can place on virtual machines.
  • Vagrant – sort of a Docker alternative. Hashicorp’s first product, back in 2010.

Security#

These products help you manage your credentials and access controls.

  • Vault – create and manage access to secrets (API Keys, access tokens, etc).
  • Boundary – system for managing remote access (like SSH Keys or a VPN).

Networking#

Consul is a server / service for running your networking infrastructure – think a centralized registry of all of your different infrastructure, and policies for how they can connect to each other.

Applications#

These products help teams deploy their apps on existing infrastructure setups.

  • Nomad – sort of a Kubernetes alternative. Lets you deploy apps on a pool of infrastructure, containerized or otherwise.
  • Waypoint – Automates deploying your app on any infrastructure, like Kubernetes or EC2.

---

All of the above products are open source. But Hashicorp does make at least some money, and they do that by packaging a couple of these services into a cloud-based offering, mostly for enterprises (on-prem). The big two are Terraform and Vault, which generated over 88% of their revenue in 2024. [2] From Hashicorp's most recent 10-K filing: Terraform and Vault are our most established products with commercial offerings at scale and make up the majority of our revenues, generating collectively over 88% and 85% of our revenues for fiscal 2024 and fiscal 2023, respectively.

Their HashiCorp Cloud Platform (HCP) now offers Terraform, Boundary, Consul, Vault, and Waypoint as fully managed services [3] From Hashicorp's most recent 10-K filing: HCP is a common foundation for delivering our products through our fully-managed cloud platform across the public cloud providers. All of our products can be self-managed; our Terraform, Boundary, Consul, Vault, and Waypoint products are available as managed services through HCP. — meaning you don't need to run your own HashiCorp servers. This cloud business is growing, generating $76.1 million in revenue for fiscal 2024 (about 13% of their total revenue).

Deeper dive: Terraform#

To get a better sense of what you’d be doing with these products, let’s dive a bit deeper into Terraform. It’s the piece of Hashicorp that you’ll see discussed most often on the web. Terraform helps you manage infrastructure primitives – things like virtual machines, Docker containers, databases, really anything. 

Why you’d use Terraform#

You might use Terraform if:

  • You’re on a platform team and need to build an interface for other engineers at the company to work with your infrastructure securely
  • You want a simpler way to work with the AWS API 
  • You need an easy way to create / manage / destroy infrastructure from multiple providers at the same time

The product is pretty broad, so you’ll find users on smaller and larger teams (and companies) alike.

Core concepts#

You can use Terraform to create, manage, and destroy infrastructure.

  • Create – spin up new virtual machines, Docker containers, Kubernetes clusters, etc.
  • Manage – change machine sizes, regions, rollover clusters, etc.
  • Destroy – you can guess what this one means

Terraform’s secret sauce (or at least some of it) is the concept of state. The product keeps a running log of exactly what your active infrastructure looks like at a given point in time – that helps developers debug and make changes without breaking things. You can even store that state remotely, which is part of why folks pay for Terraform Cloud.

Quick example#

Everything in Terraform starts with a provider. You can use Hashicorp official ones, like the AWS provider, but there are hundreds built by the community themselves. Everything is available via their Registry site.

For our example, the provider we need is AWS. So we’d get started by declaring the provider and resources we’d want to use:

terraform {
required_providers {
aws = {
source  = "hashicorp/aws"
version = "~> 2.70"
}
}
}

Then we might add a resource that we want our fellow developers (or ourselves) at the company to be using:

resource "aws_instance" "example" {
ami           = "ami-830c94e3"
instance_type = "t2.micro"
}

These properties (AMI and Instance Type) are infinitely configurable, and there are hundreds to choose from based on your provider. The power of Terraform is that once you define them here, you can have users spin up new ones based on existing configurations. 

If later on we wanted to update the machine image that this little resource is based on, Terraform gives us a nice change management utility:

resource "aws_instance" "example" {

ami           = "ami-830c94e3"

This is a tiny piece of what you can do – read more in the docs here.

Up Next
What does JFrog do?

JFrog provides a bunch of products and services around DevOps, i.e. taking your software and deploying it to the world.

What does GitLab do?

A complete platform for building and deploying software.

What's Docker, and what are containers?

Containers helps developers run code in isolated boxes so it works the same every time.

Content
  • All Posts
  • Learning Tracks
  • AI Reference
  • Companies
  • Terms Universe
Company
  • Pricing
  • Sponsorships
  • Contribute
  • Contact
Connect
SubscribeSubstackYouTubeXLinkedInInstagram📞Call for advice
Legal
  • Privacy Policy
  • Terms of Service

© 2026 Technically.