SlideShare une entreprise Scribd logo
1  sur  71
Télécharger pour lire hors ligne
Docker	
  Cluster	
  Management	
  with	
  ECS
Matt	
  Callanan
mcallanan@expedia.com
linkedin.com/in/matthewcallanan
@mcallana
©	
  2016	
  Expedia Group	
  Australia	
  and	
  New	
  Zealand.	
  All	
  rights	
  reserved.
Table	
  of	
  Contents
• How	
  Do	
  We	
  Bootstrap	
  Instances?
• Rolling	
  Update	
  with	
  AutoScaling Group
• How	
  Do	
  We	
  Update	
  Cluster	
  Instances?
• How	
  Do	
  We	
  Detect	
  &	
  Remediate	
  Broken	
  Instances?
• How	
  Do	
  We	
  AnalyseCluster-­‐Wide	
  Issues?
• How	
  Do	
  We	
  Auto-­‐Scale?
• Lessons	
  Learned
• Future	
  Work
Production	
  Clusters	
  – Serving	
  200	
  applications
7
14	
  instances:	
  	
  56	
  apps	
  (+	
  19	
  canaries) 17	
  instances:	
  	
  78	
  apps	
  (+	
  25	
  canaries)
35	
  instances:	
  	
  107	
  apps	
  (+	
  23	
  canaries) 5	
  instances:	
  	
  7	
  apps	
  (+	
  4	
  canaries)
Charts	
  produced	
  with	
  c3vis:	
  github.com/ExpediaDotCom/c3vis
How	
  Do	
  We	
  Bootstrap	
  Instances?
How	
  Do	
  We	
  Bootstrap	
  Instances?
• Based	
  on	
  Amazon’s	
  ECS	
  Optimized	
  AMI
• e.g.	
  “amzn-­‐ami-­‐2016.03.b-­‐amazon-­‐ecs-­‐optimized”
• CloudFormation userdata runs	
  at	
  launch	
  time	
  to	
  set	
  up:
• Networking
• Security
• Log	
  forwarding
• Cron job:	
  Push	
  EC2	
  statistics	
  and	
  custom	
  metrics
• Run	
  ‘cadvisor’	
  and	
  ‘docker-­‐cleanup’	
  as	
  ECS	
  Tasks	
  on	
  each	
  instance	
  (using	
  ‘start-­‐task’)
Rolling	
  Update	
  with	
  AutoScaling Group
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
How	
  Do	
  We	
  Update	
  Cluster	
  Instances?
Zero-­‐Downtime	
  Instance	
  Replacement
• Uses	
  a	
  Lambda	
  to	
  avoid	
  outages	
  in	
  production	
  during	
  a	
  cluster	
  instance	
  rolling	
  update
• Lambda	
  is	
  triggered	
  by	
  AutoScaling EC2_INSTANCE_TERMINATE SNS	
  events
• Lambda	
  deregisters	
  the	
  instance	
  from	
  the	
  ECS	
  cluster
• Lambda	
  also	
  sends	
  a	
  heartbeat	
  to	
  the	
  ASG	
  to	
  keep	
  the	
  instance	
  in	
  Terminating:Wait state	
  for	
  
30mins
• This	
  is	
  generally	
  enough	
  to	
  allow	
  ECS	
  to	
  reschedule	
  any	
  tasks	
  that	
  are	
  part	
  of	
  a	
  service	
  to	
  another	
  
instance
• Downsides:
• Tasks	
  can	
  get	
  rescheduled	
   to	
  another	
  old	
  instance	
  in	
  the	
  ASG	
  that	
  is	
  about	
  to	
  be	
  replaced	
  -­‐ so	
  tasks	
  can	
  
get	
  bumped	
  from	
  instance	
  to	
  instance	
  until	
  all	
  instances	
  are	
  replaced
• 30mins	
  is	
  a	
  long	
  time	
  for	
  old	
  containers	
  to	
  still	
  be	
  registered	
  in	
  the	
  services'	
   ELBs.	
  Any	
  deploys	
  during	
  
that	
  time	
  can	
  cause	
  confusion	
  around	
  why	
  old	
  and	
  new	
  versions	
  of	
  service	
   are	
  running	
  behind	
  ELB
• ECS	
  agent	
  pulls	
  Docker	
  containers	
  serially	
  so	
  can	
  take	
  a	
  while	
  to	
  launch	
  a	
  bunch	
  of	
  new	
  tasks
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
Old	
  Instance
New	
  Instance
Terminating:Wait
Active	
  Task
Relocated	
  Task
“Ghost”	
  Task
How	
  Do	
  We	
  Detect	
  &	
  Remediate	
  Broken	
  Instances?
How	
  Do	
  We	
  Detect	
  &	
  Remediate	
  Broken	
  Instances?
• Custom	
  Cloudwatch metrics
• How	
  long	
  does	
  “docker images”	
  take?	
  	
  Alarm	
  if	
  longer	
  than	
  4	
  seconds for	
  5mins
• How	
  long	
  does	
  “docker ps”	
  take?	
  	
  Alarm	
  if	
  longer	
  than	
  4	
  seconds	
  for	
  5mins
• Is	
  the	
  ecs agent	
  running?	
  Alarm	
  if	
  not	
  for	
  5mins
• Manual	
  remediation	
  based	
  on	
  email	
  alert
• Run	
  “evict_instance”	
   script
• Terminates	
  instance	
  via	
  ASG	
  – allows	
  Lambda	
  to	
  deregister	
  and	
  pause	
  termination
• aws autoscaling terminate-­‐instance-­‐in-­‐auto-­‐scaling-­‐group   -­‐-­‐region   $REGION  -­‐
-­‐instance-­‐id   $INSTANCE_ID   -­‐-­‐no-­‐should-­‐decrement-­‐desired-­‐capacity
How	
  Do	
  We	
  Analyse Cluster-­‐Wide	
  Issues?
How	
  Do	
  We	
  Analyse Cluster-­‐Wide	
  Issues?
• Centralised Logging
• Forward	
  instance	
  logs	
  to	
  Splunk:
• /var/log/cfn-­‐*
• /var/log/ecs*
• Query	
  with	
  timechart
How	
  Do	
  We	
  Auto-­‐Scale?
How	
  Do	
  We	
  Auto-­‐Scale?
• Scale	
  Up:
• CPU	
  Reservation	
  across	
  entire	
  cluster	
  >	
  70%	
  for	
  5mins
or
• Memory	
  Reservation	
  across	
  entire	
  cluster	
  >	
  60%	
  for	
  5mins
• Scale	
  Down
• CPU	
  Reservation	
  <	
  20%	
  for	
  5mins
or
• Memory	
  Reservation	
  < 40%	
  for	
  5mins
Lessons	
  Learned
Lesson	
  #1
Use	
  Immutable	
  Servers	
  with	
  CloudFormation
Lesson	
  #1:	
  Use	
  Immutable	
  Servers	
  with	
  CloudFormation
• cfn-­‐update	
  is	
  dangerous	
  if	
  you	
  don’t	
  know	
  what	
  you’re	
  doing
• Problem:
• Rolled	
  out	
  change	
  that	
  configures	
  an	
  extra	
  docker EBS	
  volume	
  on	
  new	
  instances
• cfn-­‐update	
  ran	
  simultaneously	
  on	
  all	
  old instances
• Simultaneously	
  restarted	
  docker and	
  deleted	
  /var/lib/docker on	
  all	
  old	
  instances	
  – 5mins	
  prod	
  outage
• Solution:
• Removed	
  cfn-­‐update	
  from	
  userdata
• Rename	
  launch	
  configuration	
  every	
  time	
  to	
  force	
  CFN’s	
  ASG	
  Rolling	
  Update	
  even	
  for	
  minor	
  config
changes
• Changed	
  our	
  mentality	
  by	
  renaming	
  our	
  “update”	
  command	
  to	
  “replace_instances”
Lesson	
  #2
Suspend	
  ASG	
  Processes	
  During	
  CFN	
  Rolling	
  Update
Lesson	
  #1:	
  Suspend	
  ASG	
  Processes	
  During	
  CFN	
  Rolling	
  Update
• CFN	
  and	
  ASG	
  are	
  independent	
  services
• Problem:
• Changed	
  ASG	
  from	
  1	
  to	
  2	
  subnets	
  as	
  part	
  of	
  CFN	
  update
• ASG	
  instantly	
  tries	
  to	
  launch	
  n/2	
  instances	
  in	
  new	
  subnet
• Meanwhile	
  CFN	
  is	
  waiting	
  for	
  1	
  signal	
  at	
  a	
  time	
  – times	
  out	
  – rolls	
  back
• Solution:
• Suspend	
  processes	
  with	
  CFN	
  Update	
  Policy:	
  
• 'AlarmNotification’
• 'HealthCheck’
• 'ReplaceUnhealthy’
• 'AZRebalance’
CloudFormation Auto-­‐Scaling	
  Group	
  Update	
  Policy
UpdatePolicy: {
AutoScalingRollingUpdate: {
MinInstancesInService: current_desired_capacity,
MaxBatchSize: '1',
PauseTime: 'PT30M',
WaitOnResourceSignals: 'true',
SuspendProcesses: ['AlarmNotification',
'HealthCheck',
'ReplaceUnhealthy',
'AZRebalance']
}
}
Lesson	
  #3
Don’t	
  Use	
  CloudFormation for	
  Rolling	
  Updates
Lesson	
  #3:	
  Don’t	
  Use	
  CloudFormationfor	
  Rolling	
  Updates
• CFN	
  interaction	
  with	
  ASG	
  is	
  too	
  unreliable
• Problem:
• CFN	
  timed	
  out	
  after	
  not	
  receiving	
  a	
  signal	
  from	
  instance	
  created	
  by	
  ASG
• AWS	
  support	
  explained	
  there	
  was	
  an	
  issue	
  with	
  the	
  Auto	
  Scaling	
  service	
  for	
  3hrs	
  that	
  caused	
  
CloudFormation to	
  experience	
   increased	
  latency	
  when	
  creating,	
  updating	
  and	
  deleting	
  stacks	
  in	
  us-­‐
east-­‐1
• Solution:
• Replace	
  CFN	
  rolling	
  update	
  with	
  programmatic	
  logic
• Include	
  health	
  checks
• Include	
  deregistration	
  logic
Lesson	
  #4
Scale	
  Down	
  Carefully
Lesson	
  #4:	
  Scale	
  Down	
  Carefully
• Problem:
1. ASG	
  scales	
  up	
  due	
  to	
  high	
  Memory	
  Reservation
2. 5mins	
  later	
  ASG	
  scales	
  down	
  due	
  to	
  low	
  CPU	
  Reservation
3. Repeat	
  from	
  #1
• Solution:
• Fix	
  scaling	
  dimensions
• Scale	
  up	
  when	
  either CPU	
  or	
  Memory	
  Reservation	
  is	
  high
• Scale	
  Down	
  only	
  on	
  when	
  both are	
  low
• Tightly	
  control	
  cpu /	
  mem reservations	
  per	
  service
• Match	
  equal	
  ratios	
  of	
  instance	
  type	
  resources
Future	
  Work
Future	
  Work:	
  “Bulk	
  Instance	
  Replacement”
• Bulk	
  Instance	
  Replacement
• 1	
  canary	
  instance
• Increment	
  DesiredCapacity /	
  MaxSize
• Add	
  1	
  instance	
  to	
  ASG	
  and	
  Cluster
• Monitor	
  /	
  Test
• Replace	
  N-­‐1	
  instances
• Suspend	
  Processes
• Add	
  n-­‐1	
  instances	
  to	
  ASG
• Deregister	
  /	
  Terminate	
  old	
  n-­‐1	
  instances
Future	
  Work:	
  “Workload	
  Profiles”
• Predictable	
  resource	
  reservation
• Workload	
  Profiles
• Opinionated	
  resource	
  sizings based	
  on	
  equal	
  CPU	
  /	
  Memory	
  ratio	
  of	
  instance	
  type	
  resources
• App	
  owners	
  cannot	
  specify	
  cpu /	
  mem	
  – can	
  only	
  choose	
  from	
  preset	
  profiles
• Downsides:
• Ties	
  cluster	
  to	
  instance	
  type	
  family
• Example:
• For	
  “m4”	
  family…
Profile CPU	
  (Cores) Memory	
  (GiB)
Tiny 0.25 1
Small 0.5 2
Medium 1 4
Large 2 8
X.Large 4 16
Future	
  Work:	
  Treat	
  Clusters	
  as	
  Cattle
• Automate	
  all	
  manual	
  aspects	
  of	
  cluster	
  updates
• Building	
  confidence	
  in	
  our	
  automated	
  checks
• Are	
  there	
  enough	
  IP	
  addresses	
  in	
  target	
  subnets?
• Is	
  there	
  enough	
  EBS	
  volume	
  space	
  for	
  N instances?
• Are	
  there	
  enough	
  instances	
  of	
  desired	
  instance	
  type	
  available?
• Packer	
  for	
  building	
  AMIs
• Jenkins	
  Pipeline	
  for	
  rolling	
  out	
  with	
  confidence
Q	
  &	
  AThanks!
Any	
  Questions?
Matt	
  Callanan
mcallanan@expedia.com
linkedin.com/in/matthewcallanan
@mcallana

Contenu connexe

Tendances

Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...Amazon Web Services
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...Amazon Web Services
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsAmazon Web Services
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Edureka!
 
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)Amazon Web Services
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSAmazon Web Services
 
Into the cloud
Into the cloudInto the cloud
Into the cloudTomas Riha
 
Implementing blue-green deployment with Atlassian Bamboo
Implementing blue-green deployment with Atlassian BambooImplementing blue-green deployment with Atlassian Bamboo
Implementing blue-green deployment with Atlassian BambooDave Clark
 
Deploying Azure DevOps using Terraform
Deploying Azure DevOps using TerraformDeploying Azure DevOps using Terraform
Deploying Azure DevOps using TerraformAdin Ermie
 
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Simplilearn
 
Continuous Integration and Deployment Best Practices on AWS
 Continuous Integration and Deployment Best Practices on AWS  Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS Amazon Web Services
 
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)Amazon Web Services
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
Deploying and running Grails in the cloud
Deploying and running Grails in the cloudDeploying and running Grails in the cloud
Deploying and running Grails in the cloudPhilip Stehlik
 
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014Amazon Web Services
 
(SPOT302) Under the Covers of AWS: Core Distributed Systems Primitives That P...
(SPOT302) Under the Covers of AWS: Core Distributed Systems Primitives That P...(SPOT302) Under the Covers of AWS: Core Distributed Systems Primitives That P...
(SPOT302) Under the Covers of AWS: Core Distributed Systems Primitives That P...Amazon Web Services
 
Adopting Java for the Serverless world at JUG London
Adopting Java for the Serverless world at  JUG LondonAdopting Java for the Serverless world at  JUG London
Adopting Java for the Serverless world at JUG LondonVadym Kazulkin
 

Tendances (19)

Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
 
PaaSing Your Code Around
PaaSing Your Code AroundPaaSing Your Code Around
PaaSing Your Code Around
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
 
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Into the cloud
Into the cloudInto the cloud
Into the cloud
 
Implementing blue-green deployment with Atlassian Bamboo
Implementing blue-green deployment with Atlassian BambooImplementing blue-green deployment with Atlassian Bamboo
Implementing blue-green deployment with Atlassian Bamboo
 
Deploying Azure DevOps using Terraform
Deploying Azure DevOps using TerraformDeploying Azure DevOps using Terraform
Deploying Azure DevOps using Terraform
 
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
 
Continuous Integration and Deployment Best Practices on AWS
 Continuous Integration and Deployment Best Practices on AWS  Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Carlos Conde : AWS Game Days - TIAD Paris
Carlos Conde : AWS Game Days - TIAD ParisCarlos Conde : AWS Game Days - TIAD Paris
Carlos Conde : AWS Game Days - TIAD Paris
 
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Deploying and running Grails in the cloud
Deploying and running Grails in the cloudDeploying and running Grails in the cloud
Deploying and running Grails in the cloud
 
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
 
(SPOT302) Under the Covers of AWS: Core Distributed Systems Primitives That P...
(SPOT302) Under the Covers of AWS: Core Distributed Systems Primitives That P...(SPOT302) Under the Covers of AWS: Core Distributed Systems Primitives That P...
(SPOT302) Under the Covers of AWS: Core Distributed Systems Primitives That P...
 
Adopting Java for the Serverless world at JUG London
Adopting Java for the Serverless world at  JUG LondonAdopting Java for the Serverless world at  JUG London
Adopting Java for the Serverless world at JUG London
 

Similaire à Docker Cluster Management with ECS

Deep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSDeep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSAmazon Web Services
 
Automating Zero-Downtime Production Cluster Upgrades for Amazon ECS
Automating Zero-Downtime Production Cluster Upgrades for Amazon ECSAutomating Zero-Downtime Production Cluster Upgrades for Amazon ECS
Automating Zero-Downtime Production Cluster Upgrades for Amazon ECSMatt Callanan
 
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵Amazon Web Services Korea
 
Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...
Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...
Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...Amazon Web Services
 
Quest overview
Quest overviewQuest overview
Quest overviewAdam Pah
 
Ceph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer SpotlightCeph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer SpotlightRed_Hat_Storage
 
Ceph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer SpotlightCeph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer SpotlightColleen Corrice
 
Service Delivery Assembly Line with Vagrant, Packer, and Ansible
Service Delivery Assembly Line with Vagrant, Packer, and AnsibleService Delivery Assembly Line with Vagrant, Packer, and Ansible
Service Delivery Assembly Line with Vagrant, Packer, and AnsibleIsaac Christoffersen
 
Chef cookbooks for OpenStack HA
Chef cookbooks for OpenStack HAChef cookbooks for OpenStack HA
Chef cookbooks for OpenStack HAAdam Spiers
 
Advanced technic for OS upgrading in 3 minutes
Advanced technic for OS upgrading in 3 minutesAdvanced technic for OS upgrading in 3 minutes
Advanced technic for OS upgrading in 3 minutesHiroshi SHIBATA
 
OpenStack Summit Vancouver: Lessons learned on upgrades
OpenStack Summit Vancouver:  Lessons learned on upgradesOpenStack Summit Vancouver:  Lessons learned on upgrades
OpenStack Summit Vancouver: Lessons learned on upgradesFrédéric Lepied
 
End to-end async and await
End to-end async and awaitEnd to-end async and await
End to-end async and awaitvfabro
 
Learn you some Ansible for great good!
Learn you some Ansible for great good!Learn you some Ansible for great good!
Learn you some Ansible for great good!David Lapsley
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeSarah Z
 
The rice and fail of an IoT solution
The rice and fail of an IoT solutionThe rice and fail of an IoT solution
The rice and fail of an IoT solutionRadu Vunvulea
 
Integration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container serviceIntegration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container serviceSaltStack
 
Scylla Summit 2018: Meshify - A Case Study, or Petshop Seamonsters
Scylla Summit 2018: Meshify - A Case Study, or Petshop SeamonstersScylla Summit 2018: Meshify - A Case Study, or Petshop Seamonsters
Scylla Summit 2018: Meshify - A Case Study, or Petshop SeamonstersScyllaDB
 
Oracle real application clusters system tests with demo
Oracle real application clusters system tests with demoOracle real application clusters system tests with demo
Oracle real application clusters system tests with demoAjith Narayanan
 
How to improve lambda cold starts
How to improve lambda cold startsHow to improve lambda cold starts
How to improve lambda cold startsYan Cui
 

Similaire à Docker Cluster Management with ECS (20)

Deep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSDeep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECS
 
Automating Zero-Downtime Production Cluster Upgrades for Amazon ECS
Automating Zero-Downtime Production Cluster Upgrades for Amazon ECSAutomating Zero-Downtime Production Cluster Upgrades for Amazon ECS
Automating Zero-Downtime Production Cluster Upgrades for Amazon ECS
 
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 
Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...
Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...
Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...
 
OpenWhisk Go Runtime
OpenWhisk Go RuntimeOpenWhisk Go Runtime
OpenWhisk Go Runtime
 
Quest overview
Quest overviewQuest overview
Quest overview
 
Ceph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer SpotlightCeph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer Spotlight
 
Ceph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer SpotlightCeph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer Spotlight
 
Service Delivery Assembly Line with Vagrant, Packer, and Ansible
Service Delivery Assembly Line with Vagrant, Packer, and AnsibleService Delivery Assembly Line with Vagrant, Packer, and Ansible
Service Delivery Assembly Line with Vagrant, Packer, and Ansible
 
Chef cookbooks for OpenStack HA
Chef cookbooks for OpenStack HAChef cookbooks for OpenStack HA
Chef cookbooks for OpenStack HA
 
Advanced technic for OS upgrading in 3 minutes
Advanced technic for OS upgrading in 3 minutesAdvanced technic for OS upgrading in 3 minutes
Advanced technic for OS upgrading in 3 minutes
 
OpenStack Summit Vancouver: Lessons learned on upgrades
OpenStack Summit Vancouver:  Lessons learned on upgradesOpenStack Summit Vancouver:  Lessons learned on upgrades
OpenStack Summit Vancouver: Lessons learned on upgrades
 
End to-end async and await
End to-end async and awaitEnd to-end async and await
End to-end async and await
 
Learn you some Ansible for great good!
Learn you some Ansible for great good!Learn you some Ansible for great good!
Learn you some Ansible for great good!
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less Coffee
 
The rice and fail of an IoT solution
The rice and fail of an IoT solutionThe rice and fail of an IoT solution
The rice and fail of an IoT solution
 
Integration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container serviceIntegration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container service
 
Scylla Summit 2018: Meshify - A Case Study, or Petshop Seamonsters
Scylla Summit 2018: Meshify - A Case Study, or Petshop SeamonstersScylla Summit 2018: Meshify - A Case Study, or Petshop Seamonsters
Scylla Summit 2018: Meshify - A Case Study, or Petshop Seamonsters
 
Oracle real application clusters system tests with demo
Oracle real application clusters system tests with demoOracle real application clusters system tests with demo
Oracle real application clusters system tests with demo
 
How to improve lambda cold starts
How to improve lambda cold startsHow to improve lambda cold starts
How to improve lambda cold starts
 

Dernier

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Docker Cluster Management with ECS