NomadicML on AWS
This page describes how the video analysis platform is deployed in AWS, how data moves through it on the read and write paths, and how client applications reach it privately over AWS PrivateLink.Looking to run the whole stack inside your own account instead? See Self-Hosted VPC Setup, which is available today for both AWS and GCP.
General Architecture
The platform runs inside a NomadicML-managed VPC. Client applications never reach it over the public internet. They connect through an interface VPC endpoint in their own VPC, which AWS PrivateLink joins to a VPC endpoint service we publish. Everything behind that endpoint service (load balancer, application tier, storage and inference) runs in private subnets with no public IP address.Key Components
VPC endpoint service
The published service a client consumes. It names exactly which AWS principals may connect, and each connection request is accepted individually.
Network load balancer
Internal, no public IP. Backs the endpoint service and distributes traffic across the application tier.
Application tier
The API service handles authentication, upload and result retrieval. Analysis workers claim queued jobs on a lease and run the analysis out of band.
Data services
Amazon S3 for video and derived artifacts, DocumentDB for job and analysis metadata, ElastiCache for progress streams, Amazon Bedrock for model inference. All are reached through VPC endpoints.
Read Path
A client asks for job status, analysis results, or the media behind them. The request enters through the endpoint service and is served from the two data stores inside the VPC.Read Path Flow
- Client application sends the request through AWS PrivateLink, resolving a private DNS name to the interface endpoint in its own subnet.
- Endpoint service accepts the connection from an allow-listed principal and passes it to the internal load balancer.
- API service authenticates the API key and resolves what was asked for: job status, an analysis document, or media.
- DocumentDB and Amazon S3 return the analysis document and the video or derived artifacts behind it. Results travel back on the connection the client already opened.
Write Path
Upload and analysis are decoupled, so a long-running analysis never holds a client connection open.Write Path Flow
The API service writes video to Amazon S3 synchronously and records a job document in DocumentDB, then returns. The upload is complete at that point. Analysis workers claim the queued job on a lease, marking it in progress so no two workers take the same job, and call Amazon Bedrock for inference. As they run they publish progress events to an ElastiCache stream, which the API service relays to the client as server-sent events. Finished results are written back to DocumentDB and derived artifacts to S3, where the read path picks them up.Private Connectivity
AWS PrivateLink is two resources, one in each account. NomadicML publishes the VPC endpoint service; the client creates an interface VPC endpoint in their own VPC. Traffic between them rides the AWS backbone.- The connection is one-way. The client initiates. NomadicML cannot reach back into the client VPC, so exposure is limited to the single published service rather than a route between two networks.
- Consumption is allow-listed. The endpoint service names which AWS principals may create an endpoint against it, and each connection request is accepted individually.
- No address-space coordination. Traffic terminates on an interface in the client’s own subnet, so overlapping CIDR ranges are irrelevant.
- Nothing needs a public IP. The client side needs no internet gateway or NAT for this path, and the load balancer is internal.
Deployment Models
Three options, differing in whose account holds the application and whose holds the data.Fully managed
NomadicML runs both the application and the data services in our AWS account. Clients connect over PrivateLink. Lowest operational burden.
In your VPC
The entire stack deploys into your AWS account, in a VPC with no internet gateway and no NAT. Video never leaves your account and we hold no credentials into it.
Hybrid
We run the application; you supply the S3 buckets. Access is granted by a cross-account IAM role rather than stored credentials.
Setup steps for the in-VPC model are covered in Self-Hosted VPC Setup.
What You Provide
For a PrivateLink connection to the managed service, the client side needs very little.Deployments are configured per customer. Contact your NomadicML representative with your AWS account ID, target region, and preferred deployment model, and we will provision the endpoint service and share the service name.