Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain) - Comment
A talk given to Container Summit 2015, Taipei on 2015-12-10. 【Docker 對傳統 DevOps 工具鏈的衝擊】 Docker 爆紅,以及隨之而來的生態圈,衝擊傳統 DevOps 工具鏈,任何人都無法忽視 Docker 帶來的威脅或機會。 已經上手、或正在評估 DevOps 工具的我們,該如何看待這個新局面?對哪些舊方法該持保留態度?對哪些新方法該積極學習? 本講座會鳥瞰檯面上的 DevOps 工具,提出新舊交替世代的建議方針。 Topics covered: 1. William Yeh Architect @ Gogolook- 2015-12-10 2. Albert Camus 3. - 4. 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong Do you have basic infrastructure? (2015-11-18) http://www.robustperception.io/do-you-have-basic-infrastructure/ 5. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN LB API servers DB servers 1.1 - 1.2 - 6. 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN LB API servers DB servers public network .1 - .2 - 7. 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN LB API servers DB servers public network detection recovery diagnosis 8. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN LB API servers DB servers 1.1 - 1.2 - 9. hardware bare metal OS runtime app VM hardware OS runtime app hypervisor 10. VM hardware OS runtime app hypervisor 11. VM hardware OS runtime app hypervisor Docker hardware OS runtime app hypervisor container 12. Docker hardware OS runtime app hypervisor container We know: • Container is faster than VM • Container is lightweight • Dockerized app anywhere… What if… • An OS runs only containers? 13. Docker hardware OS runtime app hypervisor container CoreOS RancherOS Red Hat Atomic VMware Photon Snappy Ubuntu Core Windows Nano Server 14. Docker hardware OS runtime app hypervisor container Container per VM hardware OS runtime app hypervisor container 15. Container per VM hardware OS runtime app hypervisor container Intel Clear Linux http://www.ithome.com.tw/news/96119 Hyper https://hyper.sh/ 16. Container per VM hardware OS runtime app hypervisor container Unikernel hardware library OS app hypervisor unikernel app stack 17. Unikernel hardware library OS app hypervisor unikernel app stack Unikernels are constructed by using “library operating systems,” from which the developer selects only the minimal set of services required for an application to run. 18. Unikernel hardware library OS app hypervisor unikernel app stack MirageOS https://mirage.io/ Boxfuse https://boxfuse.com/ ClickOS Clive HaLVM LING Rump Kernels OSv 19. Unikernel image Immutable infrastructure 20. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN ELB API servers DB servers 1.1 - 1.2 - 21. service consolidation resourceisolation native app VM container per VM unikernel Docker 22. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN LB API servers DB servers 1.1 - 1.2 - 23. public network private network API servers JDK app server (Tomcat, …) app (jar, war, …) Node.js runtime npm app source Python runtime pip uWSGI/Gunicorn app source 24. public network private network DB servers JDK Elasticsearch JDK CassandraMongoDBMySQL dependenciesdependencies 25. public network private network LB HAProxynginx AWS ELB dependenciesdependencies 26. JDK app server (Tomcat, …) app (jar, war, …) Node.js runtime npm app source Python runtime pip uWSGI/Gunicorn app source JDK Elasticsearch JDK CassandraMongoDBMySQL dependenciesdependencies HAProxynginx AWS ELB dependenciesdependencies 27. JDK app server (Tomcat, …) app (jar, war, …) Node.js runtime npm app source Python runtime pip uWSGI/Gunicorn app source JDK Elasticsearch JDK CassandraMongoDBMySQL dependenciesdependencies HAProxynginx AWS ELB dependenciesdependencies DevOps tools • Configuration management • Build system • Deployment pipeline • Continuous integration 28. JDK app server (Tomcat, …) app (jar, war, …) Node.js runtime npm app source Python runtime pip uWSGI/Gunicorn app source JDK Elasticsearch JDK CassandraMongoDBMySQL dependenciesdependencies HAProxynginx AWS ELB dependenciesdependencies Docker runtime app image immutable image versioned image dev/prod parity Dockerfile docker build docker push docker pull 29. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN ELB API servers DB servers 1.1 - 1.2 - 30. uniform Docker Config management will only be used to install Docker, an orchestration system, configure PAM/SSH auth, and tune OS sysctl values. traditional DevOps toolchain tedious … Basically anything not having to do with app deployment. https://blog.containership.io/containers-vs-config-management-e64cbb744a94 31. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN LB API servers DB servers 1.1 - 1.2 - 32. public network private network API servers As the number of machines grows… how to ensure better allocation? 33. pets cattle 34. pets cattle naming? 35. pets cattle dispensable? 36. pets cattle naming? dispensable? 37. pets cattle PaaS Hadoop MapReduce AWS Lambda AWS Kinesis Google Dataflow 38. public network private network API servers As the number of machines grows… how to ensure better allocation? 39. Traditional app OS runtime app tight interaction host resources pets 40. https://prezi.com/e7sdy9rdujgp 41. public network private network API servers better mobility cattle 42. public network private network API servers even better mobilitycontainer cattle independent of underlying machines 43. cattle Docker Swarm Mesos Kubernetes allocation, orchestration 44. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN ELB API servers DB servers 1.1 - 1.2 - 45. Docker Swarm Mesos Kubernetes Config management will only be used to install Docker, an orchestration system… traditional DevOps toolchain … Don’t assume too much about underlying infrastructure. cattlepets 46. cattle Long Running Services • Aurora • Marathon • Singularity • SSSP Batch Scheduling • Chronos • Jenkins • JobServer Big Data Processing • Cray Chapel • Dpark • Exelixi • Hadoop • Hama • MPI • Spark • Storm Data Storage • Cassandra • Elasticsearch • Hypertable Mesos framework 47. cattle Mesos 48. 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong .1 - .2 - private network CDN LB API servers DB servers public network 49. private network LB API servers DB servers • Rolling upgrade • Blue/green deployment • Canary deployment Traditional app • in-place update • immutable infra 50. public network private network API servers immutable imagescontainer cattle independent of underlying machines 51. cattle Docker Swarm Mesos Kubernetes allocation, orchestration 52. kubectl rolling-update my-nginx --image=nginx:1.9.1 • Rolling upgrade • Canary deployment • use label Kubernetes 53. Mesos http://blog.qubit.com/opensourcing-bamboo-automated-mesos-marathon-load-balancing http://www.slideshare.net/johnadowns/making-developers-happier-with-mesos-docker-and-marathon 54. Universal Control Plane https://www.docker.com/universal-control-plane 55. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN ELB API servers DB servers .1 - .2 - 56. Docker Swarm Mesos Kubernetes traditional DevOps toolchain Consider the benefits: • immutable infrastructure • automated allocation • automated orchestration cattlepets 57. private network CDN LB API servers DB servers Key Takeaways 58. 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong Do you have basic infrastructure? (2015-11-18) http://www.robustperception.io/do-you-have-basic-infrastructure/ 59. service consolidation resourceisolation native app VM container per VM unikernel Docker Immutable infrastructure 60. uniform Docker Config management will only be used to install Docker, an orchestration system… anything other than app deployment. traditional DevOps toolchain tedious 61. Docker Swarm Mesos Kubernetes traditional DevOps toolchain … Don’t assume too much about underlying infrastructure. cattlepets 62. cattle Docker Swarm Mesos Kubernetes allocation, orchestration 63. http://send.wtf/docker2015 |
|||
Posted by : peter88 | Post date : 2020-01-06 16:18 | ||
Category : Technology | Views : 448 | ||
New Comment