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. 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. Dev velocity
Need for improving
architecture
Size of a single
service instance
Actions to
split services
平衡迴路路;
穩定均衡態
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. 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. 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. 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. 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. 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. 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
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
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
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. # 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. # 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. 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. # 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. 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. 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. 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. 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. 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
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
44. 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