
Container Architecture in AWS
A. Amazon ECS (Elastic Container Service)
Structure:
- ECS Cluster → A logical grouping of container instances or Fargate-managed tasks.
- Container Instances (EC2 mode) → EC2 instances running the ECS agent.
- ECS Task Definition → Specifies the Docker image, CPU, memory, and networking.
- ECS Task → A running instance of a container.
- ECS Service → Manages multiple ECS tasks for high availability and auto-scaling.
Use Case for Cost Optimization:
- CloudThrottle allows scheduled start/stop of EC2-based tasks/Services, reducing costs during idle periods.
B. Amazon EKS (Elastic Kubernetes Service)
Structure:
- EKS Cluster → A managed Kubernetes control plane.
- Kubernetes Nodes (EC2/Fargate) → Worker machines running pods.
- Pods → The smallest deployable unit in Kubernetes (can run multiple containers).
- Deployments → Manages pod scaling and rolling updates.
Use Case for Cost Optimization:
- CloudThrottle integration ensures that non-essential pods scale down/off during off-hours.
C. AWS Fargate (Serverless Containers)
Structure:
- AWS Managed Compute (No EC2 instances needed).
- ECS Tasks or EKS Pods run directly on Fargate.
- Fargate handles scaling, networking, and security transparently.
Use Case for Cost Optimization:
- CloudThrottle can schedule Fargate task execution at specific times, starting and stopping workloads dynamically.
Containers in Other Cloud Platforms
- Google Kubernetes Engine (GKE) and Azure Kubernetes Service (AKS) function similarly to EKS, providing managed Kubernetes environments.
- Azure Container Instances (ACI) and Google Cloud Run offer serverless container execution (similar to AWS Fargate).
- On-Prem Kubernetes (Self-Managed) can integrate with CloudThrottle for custom workload scheduling.
How CloudThrottle Helps Optimize Container Costs
- Scheduled Start/Stop: Automate containerized workloads to run only during business hours.
- Autoscaling Integration: CloudThrottle helps scale containers based on demand while ensuring cost-efficient operations.
- Multi-Cloud Support: CloudThrottle extends beyond AWS, allowing similar scheduling in Azure, GCP, and on-premise Kubernetes.