scaling and monitoring docker environments

19
Scaling and Monitoring Docker environments Alois Mayr @mayralois [email protected] Docker Meetup Amsterdam, Sep 17 th 2015

Upload: alois-mayr

Post on 15-Apr-2017

764 views

Category:

Software


4 download

TRANSCRIPT

Scaling  and  Monitoring  Docker  environments

Alois  Mayr @mayralois [email protected]

Docker  Meetup  Amsterdam,  Sep  17th  2015  

whoami  

•  Alois  Mayr  •  Full  stack  developer  for  10+  years    •  5+  years  researcher  for  so@ware  quality  and  code  analysis  •  Developer  Advocate,  Evangelist  at  Ruxit  •  Austrian  

The  pitch...  

A  full-­‐stack  applicaIon  monitoring  soluIon  designed  for  highly  dynamic  cloud  environments  

Easy  installaIon  Auto  discovery  Scales  to  large  environments  

Who  are  you  folks?

     Docker’s  Mission  

   

docker  build  docker  commit  docker  push    

docker  -­‐H    docker  pull    

docker  run  docker  kill/stop  

Any  App,  Anywhere  

Ship  and  run  –  Orchestra3on  and  scaling  

•  How  are  containers  related  and  need  to  be  co-­‐located?  • Where  do  containers  run?  • What  are  the  resource  limits  for  containers?  •  Are  there  noisy  neighbors  on  a  machine?  •  How  many  containers  of  a  certain  image  are  required  to  run  simultaneously?  •  How  to  check  if  a  container  is  sIll  in  service?  •  How  to  manage  failovers  and  load  balancing?  •  How  to  manage  container  updates?  

A  DevOps’  job  doesn’t  stop  with  docker  run  commands  

•  How  well  are  my  deployments  working?  •  Is  my  applicaIon  healthy?  •  Is  my  applicaIon  fast?  •  How  healthy  is  my  environment?  • What  are  the  criIcal  components  in  terms  of  scalability?  •  Is  my  architecture  scale  well?  

DevOps  need  applica3on  monitoring!  

Build,  Ship,  Run...  Any  App,  Anywhere    Who  monitors?  Any  App,  Anywhere

MONITORS

Top  5  challenges  of  monitoring  Docker  environments

#1  –  Infrastructure  and  container  dynamics    

•  Infrastructures  are  dynamic  and  fragile  •  Cloud  instances  come  and  go  •  Containers  are  started  and  killed  frequently  on  purpose  (by  user  acIon)  •  OrchestraIon  tools  and  plaTorms  kill  and  redeploy  containers  once  they’re  unhealthy  

•  Containers  are  ephemeral  –  they  are  caVle  or  even  chicken  

#2  –  Container  deployment  tracking  

•  Deployment  architecture  validaIon  •  Co-­‐located  containers  •  Checking  impact  of  noisy  neighbors  •  Resource  allocaIon  and  uIlizaIon  •  Capacity  planning  

#3  –  Analysis  of  containerized  services  

•  It’s  what’s  running  inside  that  counts  •  Availability  and  performance  of  services  maVer  •  App-­‐centric  and  runIme  specific  metrics  

•  Response  Ime  •  Failure  rate  •  Throughput  •  GC  suspension  Ime  

•  Error  analysis  through  applicaIon  deep  dive  

#4  –  Applica3on  service  dependency  recogni3on  

•  Architecture  validaIon  •  Service  communicaIon  for  applicaIon  health  •  Inbound  service  calls  •  Outbound  service  calls    •  Breakdown  of  response  Imes  

#5  –  Don’t  let  your  monitoring  tool  be  a  challenge  

•  ConfiguraIon  hassle  for  each  and  every  container  

•  AdapIng  CI/CD  environment  to  get  monitoring  running  

•  AdapIng  applicaIon  deployment  bundles  /  images  

Live  demo...

Free  trial  -­‐  hVps://ruxit.com/docker-­‐monitoring/  Blog  -­‐  hVps://blog.ruxit.com/  

@ruxit  

Work  with  us  and  try  Ruxit  for  free!  Submit  your  feedback  

 

[email protected]