
Teleglobal designed and deployed a single AWS structure running three separated environments, Production, Testing and Quality Assurance, each on its own Amazon EKS cluster. Every workload sits in a private subnet, traffic reaches the application only through a load balancer behind AWS WAF, and the release pipeline, the analytics pipeline and the machine learning services were all working before handover.
At a glance
| Field | Detail |
|---|---|
| Client Profile | AI software company, name withheld |
| Engagement | AWS architecture design, deployment and validation |
| Environments | Production, Testing and Quality Assurance |
| Container Platform | Three Amazon EKS clusters, one per environment |
| Core Workloads | Containerised microservices, machine learning, streaming analytics, serverless APIs |
| Delivery | Teleglobal International, AWS Partner |
What was delivered
| Measure | Detail |
|---|---|
| 3 Environments | Production, Testing and QA, separated and independently deployable |
| 3 EKS Clusters | One per environment, each with its own worker nodes |
| 3 Subnet Tiers | Public, private application and private data |
| 0 Public Workloads | Every cluster node, database and cache runs in a private subnet |
| 1 Admin Path | Administrative access runs through OpenVPN, never a public endpoint |
| CI/CD from Day One | Jenkins, SonarQube and ECR wired to all three clusters at handover |
About the client
The client builds a software product where machine learning sits in the main path of the application rather than beside it. Models have to train and serve, documents and images have to be read automatically, and event data arrives continuously rather than in a nightly batch. The platform underneath all of that had to carry live traffic and daily development work at the same time, without the two ever meeting.
What the platform had to support
- Three environments that behave identically and never touch each other, so a release behaves the same way wherever it lands and a mistake in QA never reaches live data.
- Managed Kubernetes in every environment with its own worker nodes, because the application runs as microservices and one shared cluster carved up by namespace was not enough separation.
- Machine learning and analytics inside the platform rather than beside it, with model training, language processing, image analysis, streaming ingestion and SQL analytics all running in the same private network as the application.
- Security that can be demonstrated, with least privilege access, encryption, managed secrets, edge filtering and alerting configured and tested before the client team started using the platform.
Four architecture decisions
| Decision | What It Means in This Build |
|---|---|
| Environment Isolation | Production, Testing and QA each run on their own EKS cluster with dedicated worker nodes, so nothing in one environment reaches another. |
| A Three-Tier Network | One VPC split into public, private application and private data subnets, so only the load balancer faces the internet. |
| Managed Over Self-Managed | PostgreSQL, DynamoDB, Redis and OpenSearch all run managed, so failover, backup and patching come with the platform. |
| Security During Deployment | IAM roles, KMS encryption, Secrets Manager, WAF rules and CloudWatch alerting went up with the platform rather than onto a finished one. |

One VPC split into public, private application and private data subnets, carrying three isolated EKS environments.
The solution
Compute and containers
Three Amazon EKS clusters run the containerised microservices, with worker nodes in private subnets in every environment. Amazon ECR stores and versions the images, so the image that passes QA is the one that reaches production rather than a fresh build that only looks the same. Supporting tools including Jenkins, SonarQube, Grafana, Prometheus, Kibana and the OpenVPN access server run on EC2 inside the same private network.
Network and access
An Application Load Balancer in the public subnets is the only way into the application, with AWS WAF filtering requests before they reach it. A NAT Gateway handles outbound traffic, administrators connect through OpenVPN rather than public endpoints, and VPC Endpoints keep service to service calls inside the AWS network.
Data, streaming and analytics
Amazon RDS for PostgreSQL holds relational data with automatic failover and backup retention, DynamoDB carries metadata and transactional records, and ElastiCache for Redis absorbs read pressure. Amazon S3 stores assets, logs, training datasets and backups under lifecycle policies. Kinesis Data Streams and Firehose ingest events into S3 and OpenSearch, AWS Glue transforms them and registers the schema in the Glue Data Catalog, and Amazon Athena queries the result on S3 with standard SQL.
Machine learning, APIs and events
Amazon SageMaker trains, deploys and runs the models, while Amazon Comprehend and Amazon Rekognition add language and image analysis as managed services rather than models the team has to host. Amazon API Gateway exposes the backend, AWS Lambda runs event driven functions, EventBridge triggers work when something happens, SQS queues messages between microservices, and SNS fans out alerts.
Release, monitoring and security

A single pipeline scanning, building and pushing one container image to three separate EKS clusters.
Jenkins runs the pipelines and SonarQube scans the code before packaging, so one pipeline serves all three clusters with the destination as the only difference. Prometheus and Grafana cover metrics, OpenSearch with Kibana centralises logs, and CloudWatch carries alarms. IAM follows least privilege, KMS handles encryption at rest, and Secrets Manager with Parameter Store keeps credentials out of the code.
Services deployed
| Layer | Services Deployed |
|---|---|
| Containers and Compute | Amazon EKS, Amazon ECR, Amazon EC2 |
| Networking and Access | Amazon VPC, NAT Gateway, VPN with OpenVPN, Application Load Balancer, VPC Endpoints |
| Databases and Storage | Amazon RDS for PostgreSQL, Amazon DynamoDB, Amazon ElastiCache for Redis, Amazon S3 |
| Streaming and Analytics | Kinesis Data Streams, Kinesis Data Firehose, AWS Glue, Amazon Athena, Amazon OpenSearch Service with Kibana |
| Machine Learning | Amazon SageMaker, Amazon Comprehend, Amazon Rekognition |
| APIs, Events and Automation | Amazon API Gateway, AWS Lambda, Amazon EventBridge, Amazon SQS, Amazon SNS |
| Security and Governance | AWS IAM, AWS KMS, AWS Secrets Manager, AWS Systems Manager Parameter Store, AWS WAF |
| Monitoring | Amazon CloudWatch, Prometheus, Grafana, Kibana |
| Build and Release | Jenkins, SonarQube, Amazon ECR |
Validation and handover
Nothing was signed off on the strength of a configuration screen. API endpoints were called, database connections were tested from the workloads that use them, WAF rules were exercised, IAM permissions and security groups were checked against the approved design, and CloudWatch alerts were confirmed to fire. Performance testing and client user acceptance testing both ran before cutover.
The handover pack included the architecture diagrams, an operations runbook and a credential mapping, so the client team could run the platform from the documentation.
Results
| Objective | What Was Delivered | How It Was Verified |
|---|---|---|
| Environment Isolation | Three EKS clusters with dedicated worker nodes, one per environment | Connectivity testing across environment boundaries |
| No Public Exposure | All nodes and data services in private subnets, with one load balancer as the entry point | Access path testing before handover |
| Secure Remote Access | OpenVPN access server for administrative connections | OpenVPN configured and tested |
| Resilient Data Layer | Managed PostgreSQL with automatic failover, plus DynamoDB, Redis and S3 retention policies | Database connection tests and backup policy checks |
| Working Release Pipeline | Jenkins and SonarQube deploying to all three EKS clusters through ECR | Pipeline runs deploying workloads to EKS |
| Analytics End to End | Kinesis into Glue into Athena, with OpenSearch for log analytics | Streaming and analytics pipeline tested end to end |
| AI Workloads Ready | SageMaker, Comprehend and Rekognition running against validated data flows | Machine learning workloads executed without errors |
| Security Baseline | Least privilege IAM, encryption at rest and in transit, WAF rules and CloudWatch alerts | Security benchmark review and WAF rule validation |
The outcome
The client now has three environments that look the same and stay apart. A change can be built, scanned, deployed and tested without going near production, and it lands there on infrastructure that has already run it. Because all three follow one pattern, and because analytics and machine learning already sit inside the same network, growing the platform is a repeat rather than a rebuild.
About Teleglobal International
Teleglobal International is an AWS Partner that designs and delivers production cloud, data and AI infrastructure. Working in cloud and IT transformation since 2016, the company supports clients across BFSI, healthcare, manufacturing and logistics, with delivery from Pune and offices in Mumbai, Gurugram, Dubai, Delaware and Brno.
To plan a build like this one, talk to our team for an architecture review.
Questions we get asked about this build
- Why run Production, Testing and QA as separate AWS environments?
Separate environments stop test activity from touching live data, and they let a release be proven on the same architecture it will run on. In this build each environment has its own EKS cluster and its own worker nodes, so load, failure or a bad deployment in one cannot reach another. - How many EKS clusters does a three environment setup need?
One cluster per environment, so three in total, each with dedicated worker nodes in private subnets. Splitting a single cluster by namespace is possible, but the control plane, the node capacity and the upgrade schedule all stay shared, which is exactly the risk separate clusters remove. - How is the platform protected when no workload sits on the public internet?
An Application Load Balancer in a public subnet is the only entry point, and AWS WAF filters requests before they reach it. Every cluster node, database and cache runs in a private subnet. Administrators connect through OpenVPN, and VPC Endpoints keep service to service traffic inside the AWS network. - How do Jenkins and SonarQube deploy to EKS?
Jenkins runs the pipeline and SonarQube scans the code before it is packaged. The build produces a container image, pushes it to Amazon ECR, and deploys it to the target EKS cluster. The same pipeline serves all three environments, with the destination cluster as the only variable in it. - What does an AWS deployment handover include?
On this engagement the handover covered the architecture diagrams, an operations runbook and a credential mapping, delivered after functional testing, security validation and client user acceptance testing. The client team could run the platform from that documentation rather than depending on the delivery team for context. - Can this architecture support AI workloads without a redesign?
Yes. SageMaker, Comprehend and Rekognition already run inside the same private network as the application, and the streaming pipeline through Kinesis, Glue and Athena feeds them. Adding a model or a new data source uses paths that are already built and already tested.