Vault is not the only tool in the secret management ecosystem. This article maps the tools landscape — cloud-native secret managers, open-source tools like SOPS and OpenBao — so you can choose the right one, including when Vault is the clear winner.

In episode 1, we understood the problem Vault solves: secret sprawl — secrets spreading uncontrollably across source code, .env files, spreadsheets, and chats. We also saw Vault's four capability pillars: centralized storage, dynamic secrets, encryption-as-a-service, and fine-grained access control with audit logging. Now, in episode 2, we'll broaden our view to the secret management ecosystem as a whole — because Vault is not the only tool on the field.
Why does this matter? Because the best architecture decision is never "use the most popular tool," but "use the tool that best fits the problem." An engineer who understands the landscape can argue: "We're single-cloud on AWS, our secrets are few, and the operational budget is tight — AWS Secrets Manager is enough." Or the opposite: "We're multi-cloud, we need dynamic database credentials, and we must pass compliance audits — this is a case for Vault." This ability to choose is what separates an ordinary engineer from one trusted to make architecture decisions.
In this episode we'll cover: first, cloud-native secret managers from AWS, GCP, and Azure; second, open-source tools like SOPS, Passbolt, Vaultwarden, and OpenBao; third, selection criteria — when Vault, when cloud-native, when other tools — complete with a feature comparison table and a sort of decision tree.
The secret management ecosystem can be mapped into three broad categories. Each occupies a different position on the spectrum between ease and power:
This map matters: no single tool answers every need, and a sign of engineer maturity is precisely the ability to place a tool in the right position.
Each major cloud provider has its own secret management service. Their main advantages: nothing to maintain, seamless integration with their respective ecosystems (IaaS, IAM, Kubernetes), and low initial cost. Let's break them down one by one.
AWS's secret management service. It supports scheduled automatic rotation, integration with RDS, and can be accessed from EC2, Lambda, and EKS using IAM roles — without storing secrets in application code.
aws secretsmanager get-secret-value \
--secret-id api/payment-gateway \
--query SecretString --output textIts strengths: managed rotation support, IAM integration, and no server to maintain. Its weaknesses: AWS vendor lock-in, limited encryption-as-a-service and dynamic secret features for non-AWS databases, and per-secret plus per-API-call costs that can balloon at scale.
Secrets Manager's simpler, cheaper sibling. Parameter Store focuses on key-value storage (can be plain config, not necessarily secrets). Free for standard parameters, and supports encrypted parameters with KMS.
aws ssm get-parameter \
--name "/app/production/db/password" \
--with-decryption --query Parameter.Value --output textNote
Key difference: Secrets Manager is designed for secrets with rotation features, while Parameter Store is designed for parameters/config at minimal cost. Many teams start with Parameter Store, then move to Secrets Manager when rotation and audit needs emerge.
A similar service from Google Cloud. It separates secret material (the secret value) from secret versions, so rotation is done by adding a new version. Access is controlled with Google Cloud IAM and it can integrate with GKE, Cloud Run, and Compute Engine.
gcloud secrets versions access latest \
--secret="api-payment-gateway" --format="value(payload.data)"Microsoft Azure's service. Uniquely, Key Vault handles three categories at once: secrets (passwords/tokens), keys (encryption keys for EaaS), and certificates (TLS certificates). Tight integration with Azure AD (Entra ID), Managed Identity, and other Azure services.
az keyvault secret show \
--name "api-payment-gateway" --vault-name "my-vault" \
--query value --output tsv| Service | Provider | Rotation | EaaS | PKI | Primary integration |
|---|---|---|---|---|---|
| Secrets Manager | AWS | ✅ scheduled | ⚠️ via KMS | ⚠️ via ACM | IAM, RDS, EKS, Lambda |
| Parameter Store | AWS | ❌ | ⚠️ via KMS | ❌ | SSM, EC2, Lambda |
| Secret Manager | GCP | ⚠️ manual (versions) | ⚠️ via Cloud KMS | ⚠️ via CA Service | IAM, GKE, Cloud Run |
| Key Vault | Azure | ⚠️ scheduled | ✅ | ✅ | Entra ID, Azure App Service |
Tip
The pattern to grasp: every cloud provider has a similar service because the need for secret management is universal. But notice the "⚠️" marks in the table — features that exist only partially (EaaS and PKI via separate services, not one integrated platform). That's where Vault has an advantage, as we'll see later.
Beyond the cloud, there's an open-source ecosystem where each tool fills a specific niche. Some are very popular and worth knowing.
Mozilla's SOPS is a file encryption tool — not a secret management server. It encrypts secret values inside YAML, JSON, ENV, or INI files, then stores them in Git safely. Its encryption keys can be managed via cloud KMS (AWS KMS, GCP KMS, Azure Key Vault) or local keys (Age, PGP).
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
database_password: ENC[AES256_GCM,data:Z3VpZGU=,iv:...,tag:...,type:str]
api_key: ENC[AES256_GCM,data:G4d0xPw=,iv:...,tag:...,type:str]
sops:
kms:
- arn: arn:aws:kms:us-east-1:...
created_at: "..."
enc: CiC4...sops --decrypt config.enc.yaml | grep database_password
database_password: G4d0xPwSOPS's strength lies in its simplicity for GitOps / Infrastructure as Code scenarios: you can review secret changes the way you review normal code. Its weaknesses: no dynamic secrets, no granular per-consumer access, no centralized audit trail, and decryption happens on the machine running sops — not on a centralized server.
These two tools focus on a different category: passwords for humans. Passbolt is an open-source password manager for teams (self-hosted) with sharing and per-user audit features. Vaultwarden is a lightweight, self-hosted reimplementation of the Bitwarden server.
Both are excellent for "team members storing their passwords" needs, but not for application needs: no API for automated apps, no dynamic secrets, and the security model is designed for humans, not machines. Use them for their purpose — don't force them into being "secret management for applications."
This is the most relevant for this series. OpenBao is an open-source fork of HashiCorp Vault that was born after HashiCorp changed Vault's license from MPL 2.0 to the Business Source License (BSL) in 2023. OpenBao is maintained by the community and vendor-agnostic, aiming to continue Vault under a fully open-source license.
bao --version
Bao v2.0.1
# Every Vault command (vault kv, vault read, etc.) has an equivalent
# with the 'bao' prefix — 100% compatible syntax
bao kv get secret/api/databaseKey points you should know:
Note
This comparison is similar to Terraform vs OpenTofu, which we discussed in the Terraform series: Vault is the product, and OpenBao is its open-source continuation. The choice between them is usually about licensing and support, not capability — because they share the same foundation.
Now the big question: among all these tools, when do we choose Vault? The honest answer: not always. Vault carries an operational cost — it's a server that must be maintained, monitored, unsealed, and have its keys rotated. You should only pay that cost if you actually need its capabilities.
Important
This is the essence of an architecture decision: Vault wins decisively when the problem is complex — multi-cloud, dynamic secrets, EaaS, audit — but loses decisively when the problem is simple and the team is small. Don't fall into the "use Vault because it's cool" trap. Start from the need, then find the right tool.
To make the decision easier, here's a comprehensive feature comparison table. Notice where Vault excels and where it charges (in the form of operational effort):
| Feature | HashiCorp Vault | AWS Secrets Mgr | GCP Secret Mgr | Azure Key Vault | SOPS + Age/KMS |
|---|---|---|---|---|---|
| Dynamic/ephemeral secrets | ✅ native | ❌ | ❌ | ❌ | ❌ |
| Automatic rotation | ✅ (via engine) | ✅ scheduled | ⚠️ manual | ⚠️ scheduled | ❌ |
| Encryption-as-a-service | ✅ (Transit) | ⚠️ via KMS | ⚠️ via Cloud KMS | ✅ | ❌ |
| Internal PKI CA | ✅ (PKI engine) | ⚠️ via ACM | ⚠️ via CA Service | ✅ | ❌ |
| Fine-grained policy | ✅ (HCL) | ⚠️ via IAM | ⚠️ via IAM | ⚠️ via RBAC | ❌ |
| Centralized audit trail | ✅ complete | ✅ (CloudTrail) | ✅ | ✅ | ❌ |
| Multi-cloud | ✅ | ❌ | ❌ | ❌ | ⚠️ (per-cloud KMS) |
| Git/IaC integration | ⚠️ via Agent/API | ❌ | ❌ | ❌ | ✅ (native) |
| Managed service | ❌ self-hosted | ✅ | ✅ | ✅ | ❌ |
| Cost model | Free open-source + infra ops | Per secret & API call | Per API call + versions | Per operation | Free (tool) |
If you had to decide today, follow this line of thinking:
Note
Simple decision tree:
Tip
Decisions don't have to be final forever. Many large companies start with cloud-native, then migrate to Vault as scale and needs (dynamic secrets, multi-cloud, compliance) grow. What matters is knowing when and why to move — that's what makes you not just a "tool user" but an "architecture decision maker".
In episode 2, we mapped the entire secret management ecosystem: cloud-native secret managers (AWS Secrets Manager, Parameter Store, GCP Secret Manager, Azure Key Vault), open-source tools (SOPS, Passbolt, Vaultwarden, OpenBao), and the criteria for when Vault is the right choice — plus when it isn't.
Key takeaways to remember:
Now you understand Vault's position in the ecosystem. In episode 3, we'll dissect Vault's core architecture and security concepts — how the storage backend and Vault Core work, the request flow from client to storage, the initialization and unsealing process with Shamir's Secret Sharing, and the root token risk. This is the most fundamental episode for understanding why Vault is secure — and it will be the foundation for every technical episode that follows. Keep your enthusiasm up, because in episode 3 the mystery of "why Vault needs to be unsealed" will finally be solved!