Escolar Documentos
Profissional Documentos
Cultura Documentos
Vlad Korolev
vlad@dblfuzzr.com
Microservices
2 / 50
Microservices
3 / 50
Microservices
3 / 50
Microservices
3 / 50
Microservices
3 / 50
Microservices
3 / 50
Microservices
3 / 50
Microservices
3 / 50
4 / 50
5 / 50
5 / 50
Prehistoric technology
6 / 50
Prehistoric technology
SOA
7 / 50
Prehistoric technology
SOA
Domain driven design
7 / 50
Prehistoric technology
SOA
Domain driven design
Continous delivery
7 / 50
Case study
8 / 50
Case study
9 / 50
Case study
Catalog
Recommendations / Promotions
Shopping Cart
Search
Orders
RMA
Customer Support
10 / 50
11 / 50
12 / 50
SOA
13 / 50
SOA
13 / 50
SOA
13 / 50
14 / 50
15 / 50
Conways Law
16 / 50
Conways Law
17 / 50
Conways Law
18 / 50
Fallacies of distributed
computing
19 / 50
20 / 50
CAP Theorem
21 / 50
CAP Theorem
Consistency
Availability
Partitioning tolerance
22 / 50
23 / 50
Bounded contexts
24 / 50
Bounded contexts
Draw boundaries around business domains
24 / 50
Bounded contexts
Draw boundaries around business domains
Do not partition system based on technology
24 / 50
Application Composition :
Microservices
25 / 50
26 / 50
27 / 50
28 / 50
29 / 50
29 / 50
29 / 50
29 / 50
29 / 50
29 / 50
Why bother?
30 / 50
Why bother?
Latest Buzzword
31 / 50
Why bother?
Latest Buzzword
All the cool kids are doing it
31 / 50
Why bother?
Latest Buzzword
All the cool kids are doing it
Probably, not good reasons
31 / 50
Why bother?
32 / 50
Why bother?
32 / 50
Why bother?
32 / 50
Challenges
Complex runtime
33 / 50
Challenges
Complex runtime
Distributed deployment
33 / 50
Challenges
Complex runtime
Distributed deployment
Extensive communication
33 / 50
Challenges
Complex runtime
Distributed deployment
Extensive communication
Handling failures
33 / 50
Good practices
Humane registries
34 / 50
Good practices
Humane registries
Team composition
34 / 50
Good practices
Humane registries
Team composition
Isolate failures
34 / 50
Good practices
Humane registries
Team composition
Isolate failures
Fail fast
34 / 50
Good practices
Humane registries
Team composition
Isolate failures
Fail fast
Bulkheading
34 / 50
Good practices
Humane registries
Team composition
Isolate failures
Fail fast
Bulkheading
Standardize communications
34 / 50
Good practices
Humane registries
Team composition
Isolate failures
Fail fast
Bulkheading
Standardize communications
REST or Message Queues
34 / 50
Good practices
Humane registries
Team composition
Isolate failures
Fail fast
Bulkheading
Standardize communications
REST or Message Queues
34 / 50
Good practices
Humane registries
Team composition
Isolate failures
Fail fast
Bulkheading
Standardize communications
REST or Message Queues
34 / 50
Good practices
Humane registries
Team composition
Isolate failures
Fail fast
Bulkheading
Standardize communications
REST or Message Queues
34 / 50
Deployments
35 / 50
Deployments
35 / 50
Deployments
35 / 50
Deployments
Test
35 / 50
Deployments
Test
Contract Tests
35 / 50
Deployments
Test
Contract Tests
Consumer driven development
35 / 50
Potential pitfalls
Incorrect partitioning
36 / 50
Potential pitfalls
Incorrect partitioning
Distributed point of failure
36 / 50
Potential pitfalls
Incorrect partitioning
Distributed point of failure
Misunderstanding your network
36 / 50
Refactoring to Microservices
Strangler pattern
37 / 50
Refactoring to Microservices
Strangler pattern
Use static analysis tool to find natural boundaries
37 / 50
Refactoring to Microservices
Strangler pattern
Use static analysis tool to find natural boundaries
Shadow systems
37 / 50
Personal Experiences
38 / 50
Monitor Everything
Exception catchers
39 / 50
Monitor Everything
Exception catchers
Centralized log collections
39 / 50
Monitor Everything
Exception catchers
Centralized log collections
39 / 50
Monitor Everything
Exception catchers
Centralized log collections
Synthetic transactions
39 / 50
40 / 50
40 / 50
40 / 50
40 / 50
40 / 50
41 / 50
41 / 50
41 / 50
41 / 50
41 / 50
41 / 50
41 / 50
42 / 50
42 / 50
42 / 50
42 / 50
43 / 50
44 / 50
Further resources
45 / 50
Further resources
46 / 50
Further resources
47 / 50
Further resources
48 / 50
???
49 / 50
Thank you
50 / 50