Successfully reported this slideshow.

微服務導入趨勢 (System Dynamics Model of Microservices Adoption)

10

Share

Loading in …3
×
1 of 47
1 of 47

微服務導入趨勢 (System Dynamics Model of Microservices Adoption)

10

Share

Download to read offline

許多人想導入 microservices,卻鍛羽而歸。為什麼?

此演講以系統思考的 causal loop diagram 角度,探討 microservices 常見的導入誤區:意外的敵人 (accidental adversaries) 及捨本逐末 (shifting the burden) ,並根據系統基模角度提出對應的槓桿解。

發表於資策會創新應用服務研究所主辦之【IDEAS Tech 開源雲端軟體應用與技術研討會】, 2017-07-21. http://seminar.ithome.com.tw/live/20170721iii/
(20 minutes)

後續的 1.5 小時完整版,請見 https://school.soft-arch.net/blog/1192576/devops-a-system-dynamics-perspective

許多人想導入 microservices,卻鍛羽而歸。為什麼?

此演講以系統思考的 causal loop diagram 角度,探討 microservices 常見的導入誤區:意外的敵人 (accidental adversaries) 及捨本逐末 (shifting the burden) ,並根據系統基模角度提出對應的槓桿解。

發表於資策會創新應用服務研究所主辦之【IDEAS Tech 開源雲端軟體應用與技術研討會】, 2017-07-21. http://seminar.ithome.com.tw/live/20170721iii/
(20 minutes)

後續的 1.5 小時完整版,請見 https://school.soft-arch.net/blog/1192576/devops-a-system-dynamics-perspective

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

微服務導入趨勢 (System Dynamics Model of Microservices Adoption)

  1. 1. 微服務導入趨勢 Server Director @ Gogolook 葉秉哲  System Dynamics Model of Microservices Adoption
  2. 2. http://www.gartner.com/smarterwithgartner/top-10-technology-trends-impacting-infrastructure-operations/
  3. 3. http://www.gartner.com/smarterwithgartner/top-10-technology-trends-impacting-infrastructure-operations/
  4. 4. 結論/ Microservices 很夯!
  5. 5. 2015 2016
  6. 6. 2016 2017
  7. 7. Hardware Communication App platform Microservices Domain-driven design DevOps: Jenkins, GitLab, ELK, Prometheus… Service infra: ZooKeeper, etcd, Consul, Kafka… Server infra: Ansible, Docker, Kubernetes, Mesos, OpenStack, db… Microservice ecosystem: 4-layer model
  8. 8. model around business concepts adopt a culture of automation hide internal implementation details decentralize all the things deploy independently isolate failure highly observable Domain-driven design CI/CD: Jenkins, GitLab, Docker ecosystem… API-first design: RAML, Swagger… DevOps: Ansible, Docker, Kubernetes… Async choreography: ZooKeeper, etcd, Kafka… Anti-fragility: Akka, Netflix OSS… Monitoring: Prometheus, ELK…
  9. 9. ⼤大秘寶
 One Piece
  10. 10. 疑點/ 很多⼈人嘗試導入 Microservices, 卻失敗了了?
  11. 11. 我的切入點/ System Dynamics Model of Microservices Adoption
  12. 12. 意外的敵⼈人 Accidental Adversaries 捨本逐末 Shifting the Burden
  13. 13. Dev velocity Need for improving architecture Size of a single service instance Stability Actions to increase operations efficiency # services Need for proper coordination Actions to split services Actions to enhance anti-fragility Desire to take fundamental solutions # unplanned work Operation complexity Actions to merge services Near- sightedness 意外的敵⼈人 Accidental Adversaries 捨本逐末 Shifting the Burden
  14. 14. Dev velocity Need for improving architecture Size of a single service instance Stability Actions to increase operations efficiency # services Need for proper coordination Actions to split services Actions to enhance anti-fragility Desire to take fundamental solutions # unplanned work Operation complexity Actions to merge services Near- sightedness Let’s Begin!
  15. 15. Dev velocity Need for improving architecture Size of a single service instance Actions to split services 平衡迴路路; 穩定均衡態
  16. 16. Dev velocity Need for improving architecture Size of a single service instance Stability # services Need for proper coordination Operation complexity Actions to merge services Actions to split services 平衡迴路路; 穩定均衡態
  17. 17. Dev velocity Need for improving architecture Size of a single service instance Stability # services Need for proper coordination Actions to split services Operation complexity Actions to merge services 雙・穩定均衡態?
  18. 18. Dev velocity Need for improving architecture Size of a single service instance Stability # services Need for proper coordination Actions to split services Operation complexity Actions to merge services
  19. 19. Dev velocity Need for improving architecture Size of a single service instance Stability # services Need for proper coordination Actions to split services Operation complexity Actions to merge services
  20. 20. Dev velocity Need for improving architecture Size of a single service instance Stability # services Need for proper coordination Actions to split services Operation complexity Actions to merge services 滾雪球迴路路; 正增強 or 負增強
  21. 21. Dev velocity Need for improving architecture Size of a single service instance Stability # services Need for proper coordination Actions to split services Operation complexity Actions to merge services
  22. 22. Dev velocity Need for improving architecture Size of a single service instance Stability # services Need for proper coordination Actions to split services Operation complexity Actions to merge services 意外的敵⼈人 Accidental Adversaries
  23. 23. Stability # services Need for proper coordination Operation complexity Actions to merge services
  24. 24. Stability # services Need for proper coordination Actions to enhance anti-fragility Operation complexity Actions to merge services model around business concepts adopt a culture of automation hide internal implementation details decentralize all the things deploy independently isolate failure highly observable
  25. 25. 林林⼦子裡有兩兩條分歧的路路,⽽而我⋯⋯ Stability Actions to enhance anti-fragility Actions to merge services ?Two roads diverged in a wood, and I…
  26. 26. Stability # services Need for proper coordination Actions to enhance anti-fragility Desire to take fundamental solutions Operation complexity Actions to merge services Near- sightedness
  27. 27. Stability Actions to enhance anti-fragility Desire to take fundamental solutions Actions to merge services Near- sightedness
  28. 28. Stability # services Need for proper coordination Actions to enhance anti-fragility Desire to take fundamental solutions Operation complexity Actions to merge services Near- sightedness
  29. 29. # services Need for proper coordination Desire to take fundamental solutions Operation complexity Actions to merge services Near- sightedness Stability Actions to enhance anti-fragility 捨本
  30. 30. # services Need for proper coordination Desire to take fundamental solutions Operation complexity Actions to merge services Near- sightedness Stability Actions to enhance anti-fragility model around business concepts adopt a culture of automation hide internal implementation details decentralize all the things deploy independently isolate failure highly observable Domain-driven design CI/CD: Jenkins, GitLab, Docker ecosystem… API-first design: RAML, Swagger… DevOps: Ansible, Docker, Kubernetes… Async choreography: ZooKeeper, etcd, Kafka… Anti-fragility: Akka, Netflix OSS… Monitoring: Prometheus, ELK… 撇 開 microsevices 不 論 , 試 問 : 這 些 是 本 來來 就 該 做 的 嗎 ? 本?
  31. 31. Actions to enhance anti-fragility Desire to take fundamental solutions Near- sightedness 逐末 Stability # services Need for proper coordination Operation complexity Actions to merge services
  32. 32. # services Need for proper coordination Operation complexity Stability Actions to enhance anti-fragility Desire to take fundamental solutions Actions to merge services Near- sightedness 耽溺
  33. 33. Stability # services Need for proper coordination Actions to enhance anti-fragility Desire to take fundamental solutions Operation complexity Actions to merge services Near- sightedness 逐末 捨本 耽溺
  34. 34. Stability # services Need for proper coordination Actions to enhance anti-fragility Desire to take fundamental solutions Operation complexity Actions to merge services Near- sightedness 捨本逐末 Shifting the Burden
  35. 35. Dev velocity Need for improving architecture Size of a single service instance Stability # services Need for proper coordination Actions to split services Actions to enhance anti-fragility Desire to take fundamental solutions Operation complexity Actions to merge services Near- sightedness
  36. 36. Dev velocity Need for improving architecture Size of a single service instance Stability # services Need for proper coordination Actions to split services Actions to enhance anti-fragility Desire to take fundamental solutions Operation complexity Actions to merge services Near- sightedness 意外的敵⼈人 Accidental Adversaries 捨本逐末 Shifting the Burden
  37. 37. Desire to take fundamental solutions Near- sightedness Actions to merge services Dev velocity Need for improving architecture Size of a single service instance Stability # services Need for proper coordination Actions to split services Actions to enhance anti-fragility Operation complexity 捨本逐末 Shifting the Burden
  38. 38. Dev velocity Stability Actions to increase operations efficiency # unplanned work 意外的敵⼈人 Accidental Adversaries
  39. 39. Desire to take fundamental solutions Near- sightedness Actions to merge services Dev velocity Need for improving architecture Size of a single service instance Stability Actions to increase operations efficiency # services Need for proper coordination Actions to split services Actions to enhance anti-fragility # unplanned work Operation complexity
  40. 40. 總結
  41. 41. ⼤大秘寶
 One Piece
  42. 42. 意外的敵⼈人 Accidental Adversaries 捨本逐末 Shifting the Burden 嘗試導入前,請先做些系統思考
  43. 43. Dev velocity Need for improving architecture Size of a single service instance Stability # services Need for proper coordination Actions to split services Actions to enhance anti-fragility Desire to take fundamental solutions Operation complexity Actions to merge services Near- sightedness 意外的敵⼈人 Accidental Adversaries 捨本逐末 Shifting the Burden
  44. 44. 知道何時該堅持,何時該妥協, 以及為何妥協。
  45. 45. http://DevOpsTW.club

×