> For the complete documentation index, see [llms.txt](https://docs.caf.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.caf.io/caf-api/all-id/production-guidance.md).

# Production Guidance

Deployment examples and best practices for running All ID in production.

## Overview

This section provides platform-specific deployment guides to help you run All ID in production. Each guide includes complete setup instructions, security configurations, monitoring, and operational best practices.

## Deployment guides

### AWS ECS

Complete guide for deploying All ID on AWS ECS Fargate with Application Load Balancer, RDS Aurora MySQL, and Cloud Map service discovery.

We provide two Infrastructure as Code (IaC) options:

#### AWS CDK (TypeScript)

[**View AWS ECS Deployment Guide (CDK) →**](/caf-api/all-id/production-guidance/ecs.md)

**Includes**:

* Infrastructure as Code using AWS CDK (TypeScript)
* Network and security group configuration
* ECS Fargate cluster setup
* Aurora MySQL Serverless v2 database
* Application Load Balancer with path-based routing
* Multi-tenant deployment support
* Complete step-by-step deployment instructions

{% hint style="info" %}
The CDK guide includes a complete CDK project for automated infrastructure provisioning. Certta will provide the CDK code as part of the deployment package.
{% endhint %}

#### Terraform (HCL)

[**View AWS ECS Deployment Guide (Terraform) →**](/caf-api/all-id/production-guidance/ecs-terraform.md)

**Includes**:

* Infrastructure as Code using Terraform (HCL)
* Modular architecture with reusable modules
* Network and security group configuration
* ECS Fargate cluster setup
* Aurora MySQL Serverless v2 database
* Application Load Balancer with path-based routing
* Multi-tenant deployment support
* Complete step-by-step deployment instructions
* State management best practices

{% hint style="info" %}
The Terraform guide includes complete Terraform modules and configurations. Certta will provide the Terraform code as part of the deployment package.
{% endhint %}

{% hint style="success" %}
**Which IaC tool should I choose?**

* **AWS CDK**: Choose if you prefer TypeScript/JavaScript, want strong AWS integration, or have existing CDK expertise
* **Terraform**: Choose if you prefer declarative HCL syntax, need multi-cloud support, or have existing Terraform expertise

Both options create identical infrastructure and are fully supported by Certta.
{% endhint %}

### Other platforms

Additional deployment guides for other platforms (EKS, Kubernetes, Docker Compose) can be provided based on customer requirements. Contact your Certta technical account manager for assistance with alternative deployment platforms.

## General best practices

Regardless of your deployment platform, follow these core principles:

### High availability

* Deploy across multiple availability zones
* Use database replication with automatic failover
* Configure health checks and readiness probes
* Implement auto-scaling based on load metrics

### Security

* Deploy services in private networks
* Use secrets management for credentials (never hardcode)
* Implement IP whitelisting for Certta Router Service

{% hint style="info" %}
See [Security Best Practices](/caf-api/all-id/security-best-practices.md) for detailed security guidelines including network segmentation, encryption, and IP whitelisting.
{% endhint %}

### Monitoring and operations

* Set up alerting for CPU, memory, and error rates
* Monitor database performance and connection pools
* Track API latency and throughput
* Enable automated database backups with 7+ days retention
* Test restoration procedures regularly

## Environment sizing

Balance cost with reliability based on environment:

**Development/Testing**:

* Single instances of each service
* Smaller database configurations
* Minimal monitoring

**Production**:

* Multi-instance deployments with auto-scaling
* Multi-AZ database with replicas
* Comprehensive monitoring and alerting

{% hint style="success" %}
Start with a minimal production setup and scale based on actual usage patterns. Monitor costs and adjust resource allocations as needed.
{% endhint %}

## Getting support

For deployment assistance:

* Review platform-specific guides in this section
* Consult [Technical Requirements](/caf-api/all-id/technical-requirements.md) for resource specifications
* Review [Configuration](/caf-api/all-id/configuration.md) for environment variables
* Contact your Certta technical account manager for deployment support

## Next steps

1. Choose your deployment platform and IaC tool:
   * [AWS ECS with CDK](/caf-api/all-id/production-guidance/ecs.md) (TypeScript)
   * [AWS ECS with Terraform](/caf-api/all-id/production-guidance/ecs-terraform.md) (HCL)
2. Review [Technical Requirements](/caf-api/all-id/technical-requirements.md) for resource specifications
3. Prepare your infrastructure prerequisites
4. Follow the step-by-step deployment instructions
5. Configure monitoring and alerting
6. Validate your deployment


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.caf.io/caf-api/all-id/production-guidance.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
