SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 30 day free trial to unlock unlimited reading.
微服務導入趨勢 (System Dynamics Model of Microservices Adoption)
11.
我的切入點/
System Dynamics Model of Microservices Adoption
12.
意外的敵⼈人
Accidental Adversaries
捨本逐末
Shifting the Burden
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
23.
Stability
# services
Need for proper
coordination
Operation
complexity
Actions to
merge services
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.
林林⼦子裡有兩兩條分歧的路路,⽽而我⋯⋯
Stability
Actions to
enhance
anti-fragility
Actions to
merge services
?Two roads diverged in a wood, and I…
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.
Stability
Actions to
enhance
anti-fragility
Desire to take
fundamental
solutions
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
38.
Dev velocity Stability
Actions to increase
operations efficiency
# unplanned work
意外的敵⼈人
Accidental Adversaries
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
42.
意外的敵⼈人
Accidental Adversaries
捨本逐末
Shifting the Burden
嘗試導入前,請先做些系統思考
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