Not sure which model fits? See Deployment models for a full comparison of SaaS and BYOC.
Content
In this section, you will find:- Midaz Terraform Foundation: Ready-made Terraform examples for provisioning the cloud infrastructure Midaz runs on — AWS, GCP, or Azure.
Deployment strategies
You manage the infrastructure in both Midaz modules, Community and Enterprise. We strongly recommend using Kubernetes with our Helm Charts. This approach simplifies deployment and scaling, especially if using the Enterprise edition, which includes support and modular microservices. That said, you can choose the deployment strategy that fits your needs.
Deploying with Kubernetes
We recommend our official Helm Charts. They offer a fast and flexible way to install Midaz in a Kubernetes environment. You can either plug Midaz into your existing databases and services or use the default components provided in the Helm chart. This setup adapts to different infrastructure needs and supports production-grade deployments. For a step-by-step guide, check the Deploying using Helm documentation.Self-managed deployment
If you prefer full control, you can deploy Midaz manually. Midaz includes a Docker configuration, which makes local or small-scale setups straightforward. You can also adapt it to your own infrastructure, whether you’re using a different orchestrator or running directly on virtual machines or bare metal. For instructions, check the Installing Midaz page.Platform requirements
The default Helm configuration meets these minimums, except for RabbitMQ. Its bundled subchart installs server 3.13.6. Midaz targets RabbitMQ 4.x for development and tests, so that subchart runs below the target. If you bring your own infrastructure components, make sure you meet the minimum supported versions:
Midaz needs these minimum versions for a stable, performant platform. For the complete compatibility matrix, see Version compatibility.
Best practices
Access to the infrastructure
- Use least privilege policies when connecting to databases.
- Block direct access to databases by default. Only allow it in exceptional cases with approval.
- Store secrets securely using tools like HashiCorp Vault.
- Use dedicated tools for safe access to production data.
Redundancy and high availability
- Enable replication and backups for both Midaz and your databases.
- Use load balancers to route traffic across services evenly.
Network security
- Run your services inside VPCs to isolate critical components.
- Use NAT gateways or proxies for outbound connections.
- Apply security groups or firewall rules to restrict access to required ports and IPs.
Data persistence and storage
- Use replicated databases to support high availability and recovery.
- Choose scalable storage solutions that match your data growth.
- Use Valkey (Redis fork) for caching and background message management.
Observability
- Integrate tools that monitor logs, traces, and metrics.
- Midaz supports observability through OpenTelemetry, making detecting and resolving issues easier.
Shared responsibilities
Under the BYOC model, Lerian and your team share responsibility for running Midaz. For a detailed breakdown of who secures what — including how responsibilities differ between BYOC and SaaS — see the Security page.

