to build Distributed systems
Non Distributed System
Distributed System
Monolithic is also distributed
Microservices approach is just 'more' distributed
vertical
horizontal
33.3%
33.3%
33.3%
Bottleneck
Scalability is the ability of a system to expand to meet your business needs.
https://msdn.microsoft.com/en-us/library/aa578023.aspx
Works well on small data set, number of requests as working on large ones
can handle increased loads of work
load
stability
vertical
horizontal
( scale up}
( scale out}
http://epis.com/powermarketinsights/wp-content/uploads/2016/09/cpu_dev.png
https://aws.amazon.com/ec2/instance-types/
https://www.techopedia.com/definition/17035/amdahls-law
https://thenewstack.io/from-monolith-to-microservices/
0.0.0
1.1.1
https://thenewstack.io/from-monolith-to-microservices/
https://www.slideshare.net/fabiofumarola1/nosql-databases-pros-and-cons
but some problems require different approach to data
availability is a measure of how often the application is available for use
Hidden
Disabled - Cached Data
Cached data
- A computer program that is used will be modified
- When a program is modified, its complexity will increase, provided that one does not actively work against this.
https://en.wikipedia.org/wiki/Software_entropy
The first rule of distributed systems is don’t distribute your system until you have an observable reason to