DevOps Infrastructure
Comprehensive overview of iMBrace DevOps Infrastructure and its documentation set for AWS Private Cloud deployments
iMBrace DevOps Infrastructure Overview
Introduction
The iMBrace DevOps Infrastructure documentation set provides a comprehensive guide to deploying, configuring, and managing the iMBrace Platform within a Private Cloud environment on AWS.
It covers everything from infrastructure provisioning and system setup to automated application deployment using Ansible, Docker, and AWS CLI.
The documentation package is structured into distinct parts for various deployment models:
- Standard Private Cloud Single Node Deployment Guide — Single-node setup for testing or on-premise use.
- Standard Private Cloud HA Deployment Guide — Multi-node High Availability (HA) setup with EC2 instances, load balancers, and distributed services.
- Standard HA Infra Configuration and Provision Guide on AWS — AWS resource provisioning guide including VPC, ALB/NLB, RDS, ElastiCache, MSK, IAM, and Bedrock configuration.
- iMBrace Platform Environment Specification — Hardware, OS, software dependencies, and environmental standards for both single and HA configurations.
- ALB and NLB Config.xlsx — Reference sheet for listener rules and target group mappings.
Infrastructure Architecture
Overall Design
The iMBrace infrastructure follows a multi-layer architecture designed for scalability, security, and high availability.
-
Public Layer (OnServer Nodes)
Hosts public-facing applications such asapp-gateway,backend,dashboard,marketplace,chat-widget, andwfconnectorservice. -
Private Layer (Engine Nodes)
Hosts backend services and core logic components such asai-service,aiv2, andworkflow-engine. -
Load Balancing & Networking Layer
- AWS Application Load Balancer (ALB): Handles HTTPS traffic for public-facing web services.
- AWS Network Load Balancer (NLB): Routes internal traffic to engine servers.
- AWS Route 53: Manages both public (
*.io) and private (*.lan) DNS zones.
-
Data Layer
- MongoDB Atlas (or local MongoDB container)
- PostgreSQL RDS
- ElastiCache Redis
- Apache Kafka / AWS MSK
-
AI & Search Layer
- AWS Bedrock: Provides access to LLMs (Titan, Llama 4).
- MeiliSearch: Lightweight full-text search engine installed on engine nodes.
⚙️ DevOps Workflow
1. Local Environment Setup
- Install dependencies:
git,ansible,python3,sops,awscli,VSCode. - Retrieve and decrypt credentials (GitLab, IAM keys, SSH private key).
- Configure AWS CLI profile:
aws configure --profile imbrace
2. Repository Management
- Clone repositories from GitLab (
private-cloud-singleorprivate-cloud-ha):git clone https://gitlab.com/imbraceco/partners/private-cloud-single.git # or git clone https://gitlab.com/imbraceco/partners/private-cloud-ha.git - Checkout the
developbranch and pull the latest commits:cd private-cloud-*/ # enter the cloned repo git fetch --all git checkout develop git pull - Main directories include:
ai-serviceaiv2app-gatewaybackendchat-widgetdashboardwfconnectorserviceworkflow-engine
3. Infrastructure Provisioning
- Execute Ansible playbooks from the repo’s ansible/ directory:
- Install required system packages:
ansible-playbook -i hosts ansible/sysinit-alux.yml - Configure AWS & GitLab credentials:
ansible-playbook -i hosts ansible/set-credentials.yml - Clone repositories on target servers:
ansible-playbook -i hosts ansible/clone-repo.yml - Deploy containerized system components:
ansible-playbook -i hosts ansible/site-deploy-remote.yml
- Install required system packages:
4. Application Configuration
- Decrypt, update, and re-encrypt .env files using SOPS:
export AWS_PROFILE=imbrace # decrypt sops -d ai-service/secrets.enc.env > ai-service/secrets.env # edit ai-service/secrets.env as needed # e.g. MONGODB_URI=..., AWS_ACCESS_KEY_ID=..., AWS_SECRET_ACCESS_KEY=..., WORKFLOW_URL=..., AWS_S3_BUCKET=..., AWS_S3_URL=... # re-encrypt sops -e ai-service/secrets.env > ai-service/secrets.enc.env - Update AWS keys, Mongo URIs, workflow endpoints, S3 buckets, etc. for each app directory.
- Commit and push configuration changes to GitLab:
git add . git commit -m "chore(config): update env and secrets" git push
5. Application Deployment
- SSH into each server and synchronize files:
# on each target server sh /opt/imbrace/repos/<repo-name>/ansible/files/sync-files.sh - Define service mappings in app_mapping.txt (example):
# Format: <folder> <service> app-gateway app-gateway backend backend chat-widget chat-widget dashboard dashboard wfconnectorservice wfconnectorsvc ai-service ai-service aiv2 ai-v2 workflow-engine workflow - Start application containers:
# on each target server sh deploy-apps.sh - Restart the Nginx proxy:
docker restart nginx-proxy
☁️ AWS Resource Stack
The following components are provisioned for the HA environment:
| Component | AWS Service | Role |
|---|---|---|
| Domain & DNS | Route53 | Public + Private Zone |
| SSL | ACM | Wildcard Certificate |
| Compute | EC2 | OnServer & Engine nodes |
| Load Balancer | ALB, NLB | Public/Private Load Balancing |
| Database | RDS PostgreSQL | Workflow & backend data |
| Cache | ElastiCache Redis | Session & caching |
| Streaming | MSK Kafka | Event streaming |
| Object Storage | S3 | App data & logs |
| AI | Bedrock | LLM APIs |
| Search | MeiliSearch | Full-text search engine |
Security & Management
- IAM Role-based Authentication between EC2 ↔ MSK ↔ Bedrock.
- Encrypted credentials managed through
sopsand AWS KMS. - Network isolation enforced via dedicated VPCs with separated engine/onserver subnets.
- Logging & monitoring handled through AWS CloudWatch and S3 logs (MSK, ALB).
DevOps Infrastructure Documentation Includes
| Document | Description |
|---|---|
| Standard Private Cloud Single Node Deployment Guide | Workflow for deploying iMBrace on a single node — ideal for PoC or on-prem environments. |
| Standard Private Cloud HA Deployment Guide | HA (multi-node) deployment guide using Ansible, Nginx proxy, Kafka CLI, and MeiliSearch. |
| Standard HA Infra Configuration & Provision Guide on AWS | Full AWS resource provisioning: Route53, ALB, NLB, SG, IAM, RDS, Redis, MSK, Bedrock. |
| iMBrace Platform Environment Specification | Hardware and software requirements, OS setup, Docker, GPU configuration, networking, firewall, and IAM. |
| ALB and NLB Config.xlsx | Detailed domain ↔ target group ↔ listener rule mappings across the system. |
Purpose of the DevOps Infrastructure Documentation
This documentation helps DevOps engineers and system administrators:
- Standardize the deployment of iMBrace infrastructure on AWS Private Cloud environments.
- Automate provisioning & deployment using Ansible, reducing manual operations.
- Easily replicate or scale the infrastructure for new customers.
- Ensure security, HA (High Availability), and stability for the entire system.
Schedule APIs
Schedule APIs provide functionality to manage and retrieve scheduled tasks and automations within your organization. These APIs allow you to access scheduler configurations, recurring events, and automation workflows.
Getting Started with iMBrace DevOps Infrastructure
Quick start guide for deploying and managing iMBrace Platform infrastructure on AWS Private Cloud
Dev portal