From 3a215d2526666d902bc96a4a945e0017e7a1ba43 Mon Sep 17 00:00:00 2001 From: Kalyanasundaram Somasundaram Date: Mon, 2 Nov 2020 15:31:04 +0530 Subject: [PATCH] Moving image to Git for systems design --- courses/systems_design/availability.md | 2 +- courses/systems_design/fault-tolerance.md | 4 ++-- courses/systems_design/images/availability.jpg | Bin 0 -> 48556 bytes courses/systems_design/images/cdn.jpg | Bin 0 -> 33651 bytes .../images/first-architecture.jpg | Bin 0 -> 23340 bytes .../images/horizontal-scaling.jpg | Bin 0 -> 28643 bytes courses/systems_design/images/microservices.jpg | Bin 0 -> 40884 bytes courses/systems_design/images/sharding-1.jpg | Bin 0 -> 46583 bytes courses/systems_design/images/sharding-2.jpg | Bin 0 -> 24157 bytes courses/systems_design/images/swimlane-1.jpg | Bin 0 -> 26864 bytes courses/systems_design/images/swimlane-2.jpg | Bin 0 -> 30777 bytes courses/systems_design/intro.md | 2 +- courses/systems_design/scalability.md | 10 +++++----- 13 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 courses/systems_design/images/availability.jpg create mode 100644 courses/systems_design/images/cdn.jpg create mode 100644 courses/systems_design/images/first-architecture.jpg create mode 100644 courses/systems_design/images/horizontal-scaling.jpg create mode 100644 courses/systems_design/images/microservices.jpg create mode 100644 courses/systems_design/images/sharding-1.jpg create mode 100644 courses/systems_design/images/sharding-2.jpg create mode 100644 courses/systems_design/images/swimlane-1.jpg create mode 100644 courses/systems_design/images/swimlane-2.jpg diff --git a/courses/systems_design/availability.md b/courses/systems_design/availability.md index 54242a3..48c1ad8 100644 --- a/courses/systems_design/availability.md +++ b/courses/systems_design/availability.md @@ -84,5 +84,5 @@ https://engineering.linkedin.com/blog/2017/11/resilience-engineering-at-linkedin Post our understanding about HA, our architecture diagram looks something like this below -![HA Block Diagram](https://user-images.githubusercontent.com/1917513/97536836-c21ec880-19e3-11eb-9e22-9baef14a70a4.jpg) +![HA Block Diagram](images/availability.jpg) diff --git a/courses/systems_design/fault-tolerance.md b/courses/systems_design/fault-tolerance.md index faf3d5d..d33003a 100644 --- a/courses/systems_design/fault-tolerance.md +++ b/courses/systems_design/fault-tolerance.md @@ -34,13 +34,13 @@ Systems should have a short circuit. Say in our content sharing system, if “No Swimlane is one of the commonly used fault isolation methodology. Swimlane adds a barrier to the service from other services so that failure on either of them won’t affect the other. Say we roll out a new feature ‘Advertisement’ in our content sharing app. We can have two architectures -![Swimlane](https://user-images.githubusercontent.com/1917513/97346462-79ff8900-18b1-11eb-9fe3-5bb42e4a9630.jpg) +![Swimlane](images/swimlane-1.jpg) If Ads are generated on the fly synchronously during each Newsfeed request, the faults in Ads feature gets propagated to Newsfeed feature. Instead if we swimlane “Generation of Ads” service and use a shared storage to populate Newsfeed App, Ads failures won’t cascade to Newsfeed and worst case if Ads don’t meet SLA , we can have Newsfeed without Ads. Let's take another example, we come up with a new model for our Content sharing App. Here we roll out enterprise content sharing App where enterprises pay for the service and the content should never be shared outside the enterprise. -![Swimlane-principles](https://user-images.githubusercontent.com/1917513/97346569-9f8c9280-18b1-11eb-942e-9274a7ac50ef.jpg) +![Swimlane-principles](images/swimlane-2.jpg) ### Swimlane Principles diff --git a/courses/systems_design/images/availability.jpg b/courses/systems_design/images/availability.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f1272283b8eeb69606393e72993c130c417319ba GIT binary patch literal 48556 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≈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 literal 0 HcmV?d00001 diff --git a/courses/systems_design/images/cdn.jpg b/courses/systems_design/images/cdn.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ece4402d521224cbc57cb9fd1c678d7a07192cf6 GIT binary patch literal 33651 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 literal 0 HcmV?d00001 diff --git a/courses/systems_design/images/horizontal-scaling.jpg b/courses/systems_design/images/horizontal-scaling.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9462401803c55c1f4bdd2625a20f9da55d534c2a GIT binary patch literal 28643 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 DGoGRm literal 0 HcmV?d00001 diff --git a/courses/systems_design/images/sharding-1.jpg b/courses/systems_design/images/sharding-1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..da3f64db0258cc9f99b8631a40606e0ff03ba0c8 GIT binary patch literal 46583 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 literal 0 HcmV?d00001 diff --git a/courses/systems_design/images/sharding-2.jpg b/courses/systems_design/images/sharding-2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6786b98bc70e2e339b89db3ea31ab07b0a04d573 GIT binary patch literal 24157 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 Q5B$Lc|9|rU%)`w80VN8UhX4Qo literal 0 HcmV?d00001 diff --git a/courses/systems_design/images/swimlane-2.jpg b/courses/systems_design/images/swimlane-2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2edfd20fd05705c0998e862e71bd4589a5689728 GIT binary patch literal 30777 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 literal 0 HcmV?d00001 diff --git a/courses/systems_design/intro.md b/courses/systems_design/intro.md index b548549..4f74620 100644 --- a/courses/systems_design/intro.md +++ b/courses/systems_design/intro.md @@ -42,5 +42,5 @@ This course will be a starter to make one think about scalability, availability, Let’s design a simple content sharing application where users can share photos, media in our application which can be liked by their friends. Let’s start with a simple design of the application and evolve it as we learn system design concepts -![First architecture diagram](https://user-images.githubusercontent.com/1917513/97340392-b8914580-18a9-11eb-864d-c39728898a37.jpg) +![First architecture diagram](images/first-architecture.jpg) diff --git a/courses/systems_design/scalability.md b/courses/systems_design/scalability.md index c74a447..87fa6a7 100644 --- a/courses/systems_design/scalability.md +++ b/courses/systems_design/scalability.md @@ -19,7 +19,7 @@ Horizontal scaling stands for cloning of an application or service such that wo Lets see how our monolithic application improves with this principle -![Horizontal Scaling](https://user-images.githubusercontent.com/1917513/97341202-c1cee200-18aa-11eb-9a36-92dc2d59a095.jpg) +![Horizontal Scaling](images/horizontal-scaling.jpg) Here DB is scaled separately from the application. This is to let you know each component’s scaling capabilities can be different. Usually web applications can be scaled by adding resources unless there is no state stored inside the application. But DBs can be scaled only for Reads by adding more followers but Writes have to go to only one master to make sure data is consistent. There are some DBs which support multi master writes but we are keeping them out of scope at this point. @@ -94,7 +94,7 @@ More advanced client/server-side example techniques CDNs are added closer to the client’s location. If the app has static data like images, Javascript, CSS which don’t change very often, they can be cached. Since our example is a content sharing site, static content can be cached in CDNs with a suitable expiry. -![CDN block diagram](https://user-images.githubusercontent.com/1917513/97535126-23916800-19e1-11eb-998c-40b8efad4bbd.jpg) +![CDN block diagram](images/cdn.jpg) **WHAT:** Use CDNs (content delivery networks) to offload traffic from your site. @@ -123,7 +123,7 @@ This pattern represents the separation of work by service or function within the Microservices can scale transactions, data sizes, and codebase sizes. They are most effective in scaling the size and complexity of your codebase. They tend to cost a bit more than horizontal scaling because the engineering team needs to rewrite services or, at the very least, disaggregate them from the original monolithic application. -![Microservices block diagram](https://user-images.githubusercontent.com/1917513/97342890-d2805780-18ac-11eb-8f6e-7437bedfe046.jpg) +![Microservices block diagram](images/microservices.jpg) **WHAT:** Sometimes referred to as scale through services or resources, this rule focuses on scaling by splitting data sets, transactions, and engineering teams along verb (services) or noun (resources) boundaries. @@ -146,13 +146,13 @@ Very often, a lookup service or deterministic algorithm will need to be written Sharding aids in scaling transaction growth, scaling instruction sets, and decreasing processing time (the last by limiting the data necessary to perform any transaction). This is more effective at scaling growth in customers or clients. It can aid with disaster recovery efforts, and limit the impact of incidents to only a specific segment of customers. -![Sharding-block-1](https://user-images.githubusercontent.com/1917513/97343099-16735c80-18ad-11eb-8bf5-f5a1370cd370.jpg) +![Sharding-block-1](images/sharding-1.jpg) Here the auth data is sharded based on user names so that DBs can respond faster as the amount of data DBs have to work on has drastically reduced during queries. There can be other ways to split -![Sharding-block-2](https://user-images.githubusercontent.com/1917513/97343189-3440c180-18ad-11eb-8e3c-ae1afbe62431.jpg) +![Sharding-block-2](images/sharding-2.jpg) Here the whole data centre is split and replicated and clients are directed to a data centre based on their geography. This helps in improving performance as clients are directed to the closest Data centre and performance increases as we add more data centres. There are some replication and consistency overhead with this approach one needs to be aware of. This also gives fault tolerance by rolling out test features to one site and rollback if there is an impact to that geography