Class: Aws::ECS::Types::DeploymentController
- Inherits:
-
Struct
- Object
- Struct
- Aws::ECS::Types::DeploymentController
- Defined in:
- gems/aws-sdk-ecs/lib/aws-sdk-ecs/types.rb
Overview
The deployment controller to use for the service.
Constant Summary collapse
- SENSITIVE =
[]
Instance Attribute Summary collapse
-
#type ⇒ String
The deployment controller type to use.
Instance Attribute Details
#type ⇒ String
The deployment controller type to use.
The deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are:
ECS
When you create a service which uses the
ECS
deployment controller, you can choose between the following deployment strategies:ROLLING
: When you create a service which uses the rolling update (ROLLING
) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.Rolling update deployments are best suited for the following scenarios:
Gradual service updates: You need to update your service incrementally without taking the entire service offline at once.
Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments).
Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one.
No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds.
Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners.
No load balancer requirement: Your service doesn't use or require a load balancer, Application Load Balancer, Network Load Balancer, or Service Connect (which are required for blue/green deployments).
Stateful applications: Your application maintains state that makes it difficult to run two parallel environments.
Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment. Rolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios.
BLUE_GREEN
: A blue/green deployment strategy (BLUE_GREEN
) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.Amazon ECS blue/green deployments are best suited for the following scenarios:
Service validation: When you need to validate new service revisions before directing production traffic to them
Zero downtime: When your service requires zero-downtime deployments
Instant roll back: When you need the ability to quickly roll back if issues are detected
Load balancer requirement: When your service uses Application Load Balancer, Network Load Balancer, or Service Connect
External
Use a third-party deployment controller.
Blue/green deployment (powered by CodeDeploy)
CodeDeploy installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it.
4157 4158 4159 4160 4161 |
# File 'gems/aws-sdk-ecs/lib/aws-sdk-ecs/types.rb', line 4157 class DeploymentController < Struct.new( :type) SENSITIVE = [] include Aws::Structure end |