orchestra on tool roundup
play

Orchestra)on Tool Roundup - Docker Swarm vs. Kubernetes, - PowerPoint PPT Presentation

Orchestra)on Tool Roundup - Docker Swarm vs. Kubernetes, TerraForm vs. TOSCA/Cloudify vs. Heat Agenda Orchestra)on 101.. Different approaches for


  1. Orchestra)on ¡Tool ¡Roundup ¡-­‑ ¡ ¡ Docker ¡Swarm ¡vs. ¡Kubernetes, ¡TerraForm ¡vs. ¡ TOSCA/Cloudify ¡vs. ¡Heat ¡

  2. Agenda ¡ • Orchestra)on ¡101.. ¡ • Different ¡approaches ¡for ¡orchestra)on ¡ ¡ • Method ¡of ¡comparison ¡ • Comparison ¡ ¡ • Synergies ¡ • Summary ¡-­‑ ¡ ¡which ¡tool ¡to ¡choose? ¡

  3. Orchestra)on ¡101 ¡ Orchestra)on ¡is ¡a ¡means ¡to ¡Automate ¡Manual ¡Processes ¡ ¡

  4. Orchestra)on ¡101 ¡ • Common ¡Characteris)cs ¡ – Use ¡DSL ¡to ¡define ¡a ¡model ¡ – Execute ¡processes ¡based ¡on ¡the ¡model ¡ – Pass ¡context ¡informa)on ¡between ¡the ¡deployed ¡ en))es ¡ – Plugin ¡oriented ¡architecture ¡ ¡ • Different ¡assump)ons ¡lead ¡to ¡different ¡ approaches ¡ ¡ – Applica)on ¡Architecture ¡ – PlaRorm ¡bias ¡ – Infrastructure ¡ ¡ – Scope ¡of ¡automa)on ¡ ¡

  5. Goals ¡of ¡this ¡Exercise ¡ Explore ¡the ¡ Infrastructure ¡ different ¡ Centric ¡ approaches ¡to ¡ orchestra)on ¡ ¡ Container ¡ Pure ¡Play ¡ Centric ¡

  6. Method ¡of ¡Comparison ¡ • Same ¡Applica)on ¡Requirements ¡ ¡ • Full ¡Produc)on ¡Deployment ¡ ¡ • Broken ¡into ¡three ¡main ¡groups ¡ – Container ¡Centric ¡ – ¡Kubernetes, ¡Docker/Swarm ¡ – Pure ¡Play ¡ –Cloudify/TOSCA, ¡Terraform, ¡ – Infrastructure ¡Centric ¡ -­‑ ¡Heat ¡ ¡ • Out ¡of ¡scope* ¡ – PaaS, ¡Configura)on ¡Management ¡(e.g ¡Chef, ¡Puppet, ¡Ansible,..) ¡ – Covering ¡all ¡orchestra)ons ¡solu)ons ¡ ¡ – Deep ¡Dive ¡into ¡each ¡orchestra)on ¡technology ¡ ¡ ¡ ¡

  7. The ¡Test ¡Applica)on ¡ ¡ Load ¡Balancer ¡ Mongo-­‑cfg ¡ VM ¡ NodeJS ¡ NodeJS ¡ NodeJS ¡ Mongo-­‑cfg ¡ VM ¡ mongos ¡ mongos ¡ mongos ¡ VM ¡ VM ¡ VM ¡ Mongo-­‑cfg ¡ VM ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡

  8. Orchestra)on ¡Process ¡-­‑ ¡Setup ¡ 1 Create ¡network ¡and ¡ compute ¡resources: ¡ Load ¡Balancer ¡ VMs, ¡security ¡group, ¡ network, ¡subnet, ¡ routers, ¡LB ¡pool ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡

  9. Orchestra)on ¡Process ¡-­‑ ¡Setup ¡ 2 Load ¡Balancer ¡ Install ¡Mongo ¡and ¡ Node ¡Binaries ¡ Mongo-­‑cfg ¡ VM ¡ NodeJS ¡ NodeJS ¡ NodeJS ¡ Mongo-­‑cfg ¡ VM ¡ mongos ¡ mongos ¡ mongos ¡ VM ¡ VM ¡ VM ¡ Mongo-­‑cfg ¡ VM ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡

  10. Orchestra)on ¡Process ¡-­‑ ¡Setup ¡ 3 Load ¡Balancer ¡ Mongo-­‑cfg ¡ VM ¡ NodeJS ¡ NodeJS ¡ NodeJS ¡ Mongo-­‑cfg ¡ VM ¡ mongos ¡ mongos ¡ mongos ¡ Start ¡mongod ¡ Start ¡mongod ¡ Start ¡mongod ¡ VM ¡ VM ¡ VM ¡ processes ¡ processes ¡ processes ¡ Mongo-­‑cfg ¡ VM ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡

  11. Orchestra)on ¡Process ¡-­‑ ¡Setup ¡ 4 Start ¡mongo-­‑cfg ¡ Start ¡mongo-­‑cfg ¡ Start ¡mongo-­‑cfg ¡ proecesses ¡ proecesses ¡ processes ¡ Load ¡Balancer ¡ Mongo-­‑cfg ¡ VM ¡ NodeJS ¡ NodeJS ¡ NodeJS ¡ Mongo-­‑cfg ¡ VM ¡ mongos ¡ mongos ¡ mongos ¡ VM ¡ VM ¡ VM ¡ Mongo-­‑cfg ¡ VM ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡

  12. Orchestra)on ¡Process ¡-­‑ ¡Setup ¡ 5 Start ¡mongos ¡ Start ¡mongos ¡ Start ¡mongos ¡ Load ¡Balancer ¡ processes, ¡poin)ng ¡ processes, ¡ processes, ¡ poin)ng ¡to ¡config ¡ poin)ng ¡to ¡config ¡ to ¡mongo-­‑cfg ¡ Mongo-­‑cfg ¡ servers ¡ ¡ servers ¡ ¡ servers ¡ ¡ VM ¡ NodeJS ¡ NodeJS ¡ NodeJS ¡ Mongo-­‑cfg ¡ VM ¡ mongos ¡ mongos ¡ mongos ¡ VM ¡ VM ¡ VM ¡ Mongo-­‑cfg ¡ VM ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡

  13. Orchestra)on ¡Process ¡-­‑ ¡Setup ¡ 6 Load ¡Balancer ¡ Mongo-­‑cfg ¡ VM ¡ Pick ¡one ¡VM ¡per ¡shard ¡ Pick ¡one ¡mongos ¡and ¡ Pick ¡one ¡mongos ¡and ¡ NodeJS ¡ NodeJS ¡ NodeJS ¡ Mongo-­‑cfg ¡ and ¡ini)alize ¡replica ¡set ¡ ini)alize ¡replica ¡set ¡ ini)alize ¡replica ¡set ¡ VM ¡ mongos ¡ mongos ¡ mongos ¡ VM ¡ VM ¡ VM ¡ Mongo-­‑cfg ¡ VM ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡

  14. Orchestra)on ¡Process ¡-­‑ ¡Setup ¡ 7 Pick ¡one ¡mongos ¡and ¡add ¡ shards, ¡one ¡at ¡a ¡)me ¡ ¡ Load ¡Balancer ¡ Mongo-­‑cfg ¡ VM ¡ NodeJS ¡ NodeJS ¡ NodeJS ¡ Mongo-­‑cfg ¡ VM ¡ mongos ¡ mongos ¡ mongos ¡ VM ¡ VM ¡ VM ¡ Mongo-­‑cfg ¡ VM ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡

  15. Orchestra)on ¡Process ¡-­‑ ¡Setup ¡ 8 Pick ¡one ¡mongos ¡and ¡ ini)alize ¡data ¡in ¡mongodb ¡ Load ¡Balancer ¡ Mongo-­‑cfg ¡ VM ¡ NodeJS ¡ NodeJS ¡ NodeJS ¡ Mongo-­‑cfg ¡ VM ¡ mongos ¡ mongos ¡ mongos ¡ VM ¡ VM ¡ VM ¡ Mongo-­‑cfg ¡ VM ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡

  16. Orchestra)on ¡Process ¡-­‑ ¡Setup ¡ 9 Start ¡nodejs ¡ Start ¡nodejs ¡ Start ¡nodejs ¡ processes ¡ processes ¡ processes ¡ Load ¡Balancer ¡ Mongo-­‑cfg ¡ VM ¡ NodeJS ¡ NodeJS ¡ NodeJS ¡ Mongo-­‑cfg ¡ VM ¡ mongos ¡ mongos ¡ mongos ¡ VM ¡ VM ¡ VM ¡ Mongo-­‑cfg ¡ VM ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡

  17. Orchestra)on ¡Process ¡-­‑ ¡Setup ¡ 10 Add ¡nodejs ¡VMs ¡to ¡ LB ¡pool ¡ Load ¡Balancer ¡ Mongo-­‑cfg ¡ VM ¡ NodeJS ¡ NodeJS ¡ NodeJS ¡ Mongo-­‑cfg ¡ VM ¡ mongos ¡ mongos ¡ mongos ¡ VM ¡ VM ¡ VM ¡ Mongo-­‑cfg ¡ VM ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ mongod ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡ VM ¡

  18. Orchestra)ng ¡in ¡Produc)on ¡ ¡ • Monitoring ¡and ¡log ¡collec)on ¡ ¡ • Manual/Auto ¡healing ¡ ¡ • Manual/Auto ¡scaling ¡ ¡ • Maintenance: ¡ ¡ – Backup ¡and ¡restore ¡ ¡ – Con)nuous ¡deployment ¡ – Infrastructure ¡upgrades ¡and ¡patches ¡ ¡

  19. Common ¡Requirements ¡ • Dependency ¡management ¡ • Reproducible ¡ ¡ • Cloneable ¡ • Recoverable ¡ ¡ ¡

  20. Series ¡ 1 : ¡Container ¡Centric ¡

  21. The ¡Container ¡Difference ¡ • Containers ¡viewed ¡as ¡pre-­‑baked ¡images, ¡not ¡ “machines” ¡ • Why: ¡performance ¡mainly ¡ • Also: ¡it’s ¡logical ¡(one ¡to ¡many) ¡ • Consequences ¡for ¡orchestra)on: ¡ ¡ • CM ¡node ¡prep ¡via ¡Dockerfile ¡ • Images ¡poten)ally ¡need ¡non-­‑trivial ¡startup ¡to ¡ configure ¡run)me ¡ • Thought: ¡how ¡does ¡one ¡ ¡ scale ¡the ¡cluster ¡itself? ¡ ¡ ¡ ¡ ¡

Recommend


More recommend