From f3161a0b63674d0ca90b5bbee6a229f60e00e658 Mon Sep 17 00:00:00 2001 From: Muthuraj Thangavel Date: Fri, 6 Aug 2021 16:59:26 +0530 Subject: [PATCH] Add System Design content (#116) * Add System Design content * Fix Phase 1 course URL --- courses/level102/system_design/conclusion.md | 1 + .../images/initial_application_sketch.jpeg | Bin 0 -> 142509 bytes .../images/initial_architecture.jpeg | Bin 0 -> 49901 bytes .../system_design/images/microservices.jpg | Bin 0 -> 107515 bytes courses/level102/system_design/intro.md | 67 +++++++ .../system_design/large-system-design.md | 164 ++++++++++++++++++ courses/level102/system_design/resiliency.md | 58 +++++++ .../scaling-beyond-the-datacenter.md | 33 ++++ courses/level102/system_design/scaling.md | 142 +++++++++++++++ courses/stylesheets/custom.css | 37 +++- mkdocs.yml | 7 + 11 files changed, 508 insertions(+), 1 deletion(-) create mode 100644 courses/level102/system_design/conclusion.md create mode 100644 courses/level102/system_design/images/initial_application_sketch.jpeg create mode 100644 courses/level102/system_design/images/initial_architecture.jpeg create mode 100644 courses/level102/system_design/images/microservices.jpg create mode 100644 courses/level102/system_design/intro.md create mode 100644 courses/level102/system_design/large-system-design.md create mode 100644 courses/level102/system_design/resiliency.md create mode 100644 courses/level102/system_design/scaling-beyond-the-datacenter.md create mode 100644 courses/level102/system_design/scaling.md diff --git a/courses/level102/system_design/conclusion.md b/courses/level102/system_design/conclusion.md new file mode 100644 index 0000000..3075cf5 --- /dev/null +++ b/courses/level102/system_design/conclusion.md @@ -0,0 +1 @@ +We have looked at designing a sytem from the scratch, scaling it up from a single server to multiple datacenters and hundreds of thousands of users. However, you might have (rightly!) guessed that there is a lot more to system design than what we have covered so far. This course should give you a sweeping glance at the things that are fundamental to any system design process. Specific solutions implemented, frameworks and orchestration systems used evolve rapidly. However, the guiding principles remain the same. We hope you this course helped in getting you started along the right direction and that you have fun designing systems and solving interesting problems. \ No newline at end of file diff --git a/courses/level102/system_design/images/initial_application_sketch.jpeg b/courses/level102/system_design/images/initial_application_sketch.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..032e0ea4a9df535f178b3e11dd4f832f375992d3 GIT binary patch literal 142509 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 P;NLCqKWzc4zlQ%CmkF5N literal 0 HcmV?d00001 diff --git a/courses/level102/system_design/images/initial_architecture.jpeg b/courses/level102/system_design/images/initial_architecture.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e550ac9f1592d6ee34f80e3a9843e80803ad4b2c GIT binary patch literal 49901 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

$-q-UAN~-^e(&x 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

6vSo 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 F{|n2~nNt7& literal 0 HcmV?d00001 diff --git a/courses/level102/system_design/images/microservices.jpg b/courses/level102/system_design/images/microservices.jpg new file mode 100644 index 0000000000000000000000000000000000000000..10ade7cbd22bb855a142e76e7c06616cba575e59 GIT binary patch literal 107515 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 literal 0 HcmV?d00001 diff --git a/courses/level102/system_design/intro.md b/courses/level102/system_design/intro.md new file mode 100644 index 0000000..4d9c7f2 --- /dev/null +++ b/courses/level102/system_design/intro.md @@ -0,0 +1,67 @@ +# System Design Phase 2 + +## Prerequisites + +- [School of SRE - System Design - Phase I](https://linkedin.github.io/school-of-sre/level101/systems_design/intro/) + +## What to expect from this course + + The aim is to empower the reader to understand the building blocks of a well-designed system, evaluate existing systems, understand the trade-offs, come up with their own design, and to explore the various tools available to implement such a system. In phase one of this module, we talked about the fundamentals of system design including concepts like scalability, availability and reliability. We continue to build on those fundamentals in this phase. + +

+ +## What is not covered under this course + +While this course covers many aspects of system design, it does not +cover the most fundamental concepts. For such topics, it is advised to +go through the prerequisites. + +In general, this module will not go into actually implementing the architecture - we will not talk about choosing a hosting/cloud provider or an orchestration setup or a CI/CD +system. Instead, we try to focus on the fundamental considerations that need to go into system design. + +## Course Contents + +- [Introduction](https://linkedin.github.io/school-of-sre/level102/system_design/intro/) +- [Large system Design](https://linkedin.github.io/school-of-sre/level102//large-system-design/) +- [Scaling](https://linkedin.github.io/school-of-sre/level102/scaling/) +- [Scaling beyond the datacentre](https://linkedin.github.io/school-of-sre/level102/scaling-beyond-the-datacenter/) +- [Design patterns for resiliency](https://linkedin.github.io/school-of-sre/level102/resiliency/) +- [Conclusion](https://linkedin.github.io/school-of-sre/level102/conclusion/) + +## Introduction + +We talked about building a basic photo sharing application in the previous phase of this course. Our basic requirements for the application were that + +1. It should work for a reasonably large number of users +2. Avoid service failures/cluster crash in case of any issues + +In other words, we wanted to build a system that was available, scalable and fault tolerant. We will continue designing that application, and cover additional concepts in the course of doing so. + +The photo sharing application is a web application that will handle everything from user sign up, log in, uploads, feed generation, user interaction and interaction with uploaded content. Also a database to store this information. In the simplest design, both the web app and the database can run on the same server. Recall this initial design from Phase 1. + +![First architecture diagram](images/initial_architecture.jpeg) + + +Building on that, we will talk about performance elements in system design - setting the right performance measurement metrics and using them to drive our design decisions, improving performance using caching, Content Delivery Networks (CDNs), etc. We will also talk about how to design for resilience by looking at some system design patterns - +graceful degradation, time-outs and circuit breakers. + +
+

Cost

+System design considerations like availability, scalability cannot exist in isolation. When operating outside the lab, we have other considerations / the existing considerations take on a different hue. One such consideration is cost. Real world systems almost always have budget constraints. System design, implementation and continued operation needs to have predictable costs per unit output. The output is usually the business problem you are trying to solve. Striking a balance between the two is very important. +
+ +
+ diff --git a/courses/level102/system_design/large-system-design.md b/courses/level102/system_design/large-system-design.md new file mode 100644 index 0000000..13b49fa --- /dev/null +++ b/courses/level102/system_design/large-system-design.md @@ -0,0 +1,164 @@ + +Designing a system usually starts out to be abstract - we have large functional blocks that need to work together and are abstracted away into frontend, backend and database layers. However, when it is time to implement the system, especially as an SRE we have no other choice but to think in specific terms. Servers have a fixed amount of memory, storage capacity and processing power. So we need to think about the realistic expectations from our system, assess the requirements, translate them into specific requirements from each component of the system like network, storage and compute. This is typically how almost +all large scale systems are built. The folks over at Google have formalized this approach to designing systems as ‘Non abstract large system design’ (NALSD). According to the Google site reliability workbook, +> “Practically, NALSD combines elements of capacity planning, component isolation, and graceful system degradation that are crucial to highly available production systems.” + +We will be using an approach similar to this to build our system. + +## Application requirements + +Let us define our application requirements in more concrete terms i.e., +specific functions: + +Our photo sharing application must let the user + +- Sign up to become a member, and login to the application + +- Upload photographs, and optionally add a description and tag location and/or people + +- Follow other users on the platform + +- See a feed comprising of photos from other users that they follow + +- View their own profile page, and manage who they follow + +Let us define expectations for the application’s performance for a +better user experience. We also need to define the health of the system. +SLIs and SLOs help us do just that. + +## SLIs and SLOs + +The Google SRE book defines service level indicator(SLI) as “a carefully +defined quantitative measure of some aspect of the level of service that +is provided.” For our application, we can define multiple SLIs. One +indicator can be the response time for loading the feed for our photo +sharing application. Picking the right set of SLIs is very important +since they essentially help us define the health of the system as a +whole using concrete data. SLIs for an application are defined by the +owners of the service, in consultation with the SREs. + +Service level objective (SLO) is defined as “a target value or range of +values for a service level that is measured by an SLI”. SLO is a way for +us to anchor ourselves to an optimal user experience by defining SLI +boundaries. If our application takes a long time to load the feed, users +might not open it very often. As a result, an example of SLO can be that +at least 99% of the users should see their feed loaded within 1 second. + +Now that we have defined SLIs and SLOs, let us define the application’s +scalability, reliability and performance characteristics in terms of +specific SLI and SLO levels. + +## Defining application requirements in terms of SLIs and SLOs + +The following can be some of the expectations for our application: + +- Once the user successfully uploads the image, it should be accessible to the user and their followers 100% of the time, barring user elected deletion. + +- At least 50000 unique visitors should be able to visit the site at any given time and view their feed. + +- 99% of the users should be able to view their feeds in less than 1 second. + +- Upon uploading a new image, it should show up in the feed of the user’s followers within 15 minutes. + +- Users should be able to upload potentially thousands of images. (as long as they are not abusing the service) + +Since our ultimate aim is to learn system design, we will arbitrarily limit the functionalities of the system. This will help us keep sight of our aim, and keep us focussed. + +Having defined the functionalities and expectations for our system, let us quickly sketch an initial design. + +![Initial Application Sketch](images/initial_application_sketch.jpeg) + +As of now, all the functionalities are residing on a single server, +which has endpoints for all of these functions. We will attempt to build +a system that satisfies our SLOs, is able to serve 50k concurrent users, +and about a million total users. In the course of this attempt, we will +discuss a string of concepts, some of which we have already seen in +Phase 1 of this course. + +
+

Caution

+Note that the numbers we have picked in the following sections are completely arbitrary. They have been chosen to demonstrate thinking about system design in a non-abstract manner. They have not been benchmarked, and bear no real world resemblance. Do not use them in any real world systems that you may be designing. You should come up with your own numbers, using the guiding principles we have relied upon here. +
+ +## Estimating resource requirements + +**Single Computer** + +If we wished to run the application on a single server, we would need to +perform all the above functionalities from the diagram on this server +itself. Let us perform some calculations to figure out what kind of +resources we will need. + +Before anything else, we need to store the data about users, their +uploads, follower information and any other metadata. We will choose a +relational DB to store this information, like MySQL. Do note that we can also choose to use a NOSQL solution here. That would require a similar approach to calculate the requirements. Let us represent the users like so: +``` +UserID(int) +UserName(varchar) +DisplayName(varchar) +YearOfBirth(year) +Email(varchar) +``` +Photos can be represented like this: + +``` +PhotoID(int) +PhotoHash(varchar) +Uploadtime(datetime) +Location(varchar) +OptionalFlag(varchar) +``` + +Followers can be represented like this: + +``` +Follower(int) +Followee(int) +``` + +Let us quickly estimate the storage needed for a hundred million total +users. A single user would need 4B + 32B + 32B + 4B + 32B = 104 bytes. A +hundred million users would need 10.4 GB storage. A single photo would +need about 4B + 20B + 4B + 32B + 4B = 64 bytes of storage to store the metadata related to the photo. Assuming a +million photos uploaded in one day, we would need about 64 MB of storage +per day, just for the metadata. For the photo storage itself, we will need about 300GB per day, +assuming 300KB average photo size. + +A single visitor opening our application simply hits our /get_feed +endpoint upon logging in to the application. Let us quickly calculate +the resources needed to serve this request. Assuming the initial feed +loads 5 images (of 300 KB size on an average) and then does lazy loading +to infinitely scroll, we will need to send about 1.5 megabytes of images +to the user for his initial call. With a 1000 Mbps\* network link to the +server, we can send only about (1000/8)/1.5 or about 83 users all +loading the feed at the same time, before we saturate the network link. +If we needed to serve 50k concurrent users every second, we would need +1.5\*50000\*8 = 600000 Mbps network throughput needed for every 5 images +sent, assuming we send out all 5 images in a single second. If we are +reading all of it from disk, we would likely hit disk throughput limits +far before approaching anywhere near this amount of traffic. + +So in order to meet our application requirements, we would need a server +that has ~310GB storage for the database and the images of one day, and +about 600 Gbps link to serve 50k users concurrently, along with CPU +required to perform all this. Clearly not the task for a single server. + +And do note that we have severely limited the information we are storing +in the database. We would likely need an order of magnitude more +information to be stored. + +While we clearly do not have any real world server that has the +resources we calculated above, this exercise provides us some valuable +data points about what the resource cost is. Armed with this +information, let us work on scaling our system through system design to +get us as close as possible to our goals for the application. + +\* Modern servers even have multi-gigabit links, but it is highly +unlikely that such a huge server will be serving our application alone. +Modern cloud providers have VMs that also boast several gigabits of +bandwidth, but they usually end up being throttled after certain limits. + + +## References: +1. [SQL vs NoSQL databases](https://www.mongodb.com/nosql-explained/nosql-vs-sql) +2. [Introducing Non-Abstract Large System Design](https://sre.google/workbook/non-abstract-design/) diff --git a/courses/level102/system_design/resiliency.md b/courses/level102/system_design/resiliency.md new file mode 100644 index 0000000..14f1b2c --- /dev/null +++ b/courses/level102/system_design/resiliency.md @@ -0,0 +1,58 @@ +A resilient system is one that can keep functioning in the face of +adversity. With our application, there can be numerous failures that act +as adversities. There can be network level failures that take out entire +data centres, there might be issues at the rack level or at the server +level, or there might be something wrong with the cloud provider. We may also run out of capacity, or there might be a wrong code push that +breaks the system. We will talk about a couple of such issues, and +understand how we might design a system to work around such things. In +some cases, a workaround might not be possible. However it is still +valuable to know potential vulnerabilities to the system stability. + +Resilient architectures leverage system design patterns such as +graceful degradation, quotas, timeouts and circuit breakers. Let us look +at some of them in this section. + +## Quotas + +A system may have a component or an endpoint that is consumed by +multiple components and endpoints. It is important to have something in +place that will prevent one consumer or client from overwhelming such a +system. Quotas are one way to do this - we simply assign a specific +quota for each component - by way of specifying requests per unit time. +Anyone who breaches the quota is either warned or dropped, depending on +the implementation. This way, one of our own systems misbehaving cannot +result in denial of service to others. Quotas also help us prevent cascading failures. + +## Graceful Degradation + +When a system with multiple dependencies encounters failure in one of +the dependencies, gracefully degrading to minimum viable functionality +would be a lot better than grinding the entire system to a halt. For +example, let us assume there is an endpoint (an URL for a service or a specific function) in our application whose responsibility is to parse the location information in an user uploaded +image from the image's metadata and provide suggestions for location +tagging to the user. Rather than failing the entire upload, it is much +better to skip over this functionality and still give the user an option +to manually tag a location. Gracefully degrading is always better +compared to total failures. + +## Timeouts + +We sometimes call other services or resources like databases or API endpoints in our application. When calling such a resource from our application, it is important to always have a reasonable timeout. It doesn’t necessarily even have to be that the resource will fail for all requests. It just might be that a specific request falls in the high tail latency category. A reasonable time out is helpful to keep the user experience consistent - it is better to fail rather than to have frustratingly long delays, in some cases. + +## Exponential back-offs + +When a service endpoint fails, retries are one way to see if it was a momentary failure. However, if the retry is also going to fail, there is no point in endlessly retrying. At large enough scale, the retries can compete with the new requests (which might very well be served as expected) and saturate the system. To avoid this, we can look at exponential back-off for retries. This essentially decreases the rate at which the clients retry, upon encountering consecutive failures on retries. + +## Circuit breakers + +While exponential back off is one way to deal with retry storms, circuit breakers can be another. Circuit breakers can help failures from percolating the entire system. Else, an unmitigated failure that flows through the system may result in false alerts, worsening the mean time to detection(MTTD) and mean time to resolution(MTTR). For example, in case one of the in-memory cache nodes fails resulting in requests reaching the database post the initial timeouts for cache, it might end up overloading the database. If the initial connection between cache node failure and DB node failure is not made, then it might result in increased MTTD of the actual cause and consequently the MTTR. + +## Self healing systems + +A traditionally load-balanced application with multiple instances might fail when more than a threshold of instances stop responding to requests - either because they are down, or suddenly there is a huge influx of requests, resulting in degraded performance. A self-healing system adds more instances in this scenario to replace the failed instances. +Auto-scaling like this can also help when there is a sudden spike in query. If our application runs on a public cloud, it might simply be a matter of spinning up more [virtual machines](https://azure.microsoft.com/en-in/overview/what-is-a-virtual-machine/). If we are running on-premise out of our data center, then we will want to think about capacity planning much more carefully. Regardless of how we handle adding additional +capacity - simply addition may not be enough. We should also think about additional potential failure modes that might be encountered. For example, the load balancing layer itself might need scaling up, to handle the influx of new backends. + +## Continuous Deployment and Integration + +A well designed system also needs to take into account the need for a proper staging setup that can mimic the production environment as closely as possible. There should also be a way for us to replay production traffic in the staging environment to test changes to production thoroughly. \ No newline at end of file diff --git a/courses/level102/system_design/scaling-beyond-the-datacenter.md b/courses/level102/system_design/scaling-beyond-the-datacenter.md new file mode 100644 index 0000000..15d0997 --- /dev/null +++ b/courses/level102/system_design/scaling-beyond-the-datacenter.md @@ -0,0 +1,33 @@ +## Caching static assets + +Extending the existing caching solution a bit, we arrive at Content Delivery Networks(CDNs). CDNs are the caching layer that is closest to the user. A significant chunk of resources served in a webpage, may not be changing on an hourly or even a daily basis. In those cases, we would want to cache these at the CDN level, reducing our load. CDNs not only help reduce the load on our servers by removing the burden of serving static / bandwidth intensive resources, they also let us be present closer to our users, by way of points of presence(POPs). CDNs also let us do geo-load balancing, in case we have multiple data centres around +the world, and would want to serve from the closest data center (DC) possible. + +**Taking it a step further** + +With the addition of caching and distributing our application into simpler services, we have solved the problem of scaling to 50000 users. However, our users may be geographically distributed locations and may not be at the same distance from our data centre or our cloud region. Consistency in user experience is important, else we are excluding users who are far away from our location, potentially eliminating a significant chunk of potential users. However, it is not impractical to have data centers all over the world, or even in more than a couple of locations in the world. This is where CDNs and POPs come into picture. + +## Points of Presence + +CDN POPs are geographically distributed data centers aimed at being close to users. POPs reduce the round trip time by delivering content from a location that is nearest to the user. POPs typically may not have all the content, but have caching servers that cache the static assets, and fetch the rest of the content from the [origin server](https://www.cloudflare.com/en-in/learning/cdn/glossary/origin-server/) where the application actually resides. Their main function is to reduce round trip time by bringing the content closer to the website’s visitor. POPs can also route traffic to one of the multiple origin DCs possible. This way, POPs can be leveraged to add resiliency as well as load-balancing. + + +Now, with our image sharing application becoming more popular by the day, let us assume that we have hit 100,000 concurrent users. And we have built another data center, predicting this increase in traffic. Now we need to be able to route the service to both of these data centers in a reliable manner, while also retaining the ability to fall back to a single data center in case there is an issue with one of the two DCs. This is where sticky routing comes into play. + +## Sticky Routing + +When an user sends a request, there are cases in which we might want to serve a specific user’s requests from a DC if we have multiple DCs, or a specific server inside a DC. We may also wish to serve all requests from a specific POP by a single data center. Sticky routing helps us do exactly that. It might be simply pinning all users to a specific DC or pinning specific users to specific servers. This is typically done from the POP, so that as soon as the user enters reaches our servers, we can route them to the nearest DC possible. + +## Geo DNS + +When a user opens the application, the user can be directed to one of the multiple +globally distributed POPs. This can be done using [GeoDNS](https://jameshfisher.com/2017/02/08/how-does-geodns-work/), which simply put, gives out a different IP address(which are distributed geographically), depending on the location of the user making the DNS request. GeoDNS is the first step in distributing users to different locations - it is not 100% accurate, and typically makes use of IP address allotment information for guessing the location of the user. However, it works well enough for \>90% of the users. After this, we can have a sticky routing service that assigns each user to a specific DC, which we can use to assign a DC to this user, and set a cookie. When the user next visits, the cookie can be read at the POP to decide which data center the user’s traffic must be directed to. + +Having multiple DCs and leveraging sticky routing has not only scaling benefits, but also adds to the resiliency of the service, albeit at the cost of additional complexity. + +Let us consider another use case in which an user uploads a new profile picture for themselves. If we have multiple data centres or POPs which are not synced in real time - not all of them might have the newer picture. In such a case, it would make sense to tie that user to a specific DC/region until the update has propagated to all regions. Sticky routing would enable us to do this. + + +## References +1. [CDNs](https://www.cloudflare.com/en-in/learning/cdn/what-is-a-cdn/) +2. LinkedIn's TrafficShift [blog](https://engineering.linkedin.com/blog/2017/05/trafficshift--load-testing-at-scale) talks about sticky routing \ No newline at end of file diff --git a/courses/level102/system_design/scaling.md b/courses/level102/system_design/scaling.md new file mode 100644 index 0000000..a51f7be --- /dev/null +++ b/courses/level102/system_design/scaling.md @@ -0,0 +1,142 @@ + +In the Phase 1 of this course, we had seen AKF [scale cube](https://akfpartners.com/growth-blog/scale-cube) and how it can help in segmenting services, defining microservices and scaling the overall application. We will use a similar strategy to scale our application - while using the estimates from the previous section, so that we can have a data driven design rather than arbitrarily choosing scaling patterns. + +## Splitting the application + +Considering the huge volume of traffic that might be generated by our application, and the related resource requirements in terms of memory and CPU, let us split the application into smaller chunks. One of the simplest ways to do this would be to simply divide the application along the endpoints, and spin them up as separate instances. In reality, this decision would probably be a little more complicated, and you might end up having multiple endpoints running from the same instance. + +The images can be stored in an [object store](https://en.wikipedia.org/wiki/Object_storage) that can be scaled independently, rather than locating it on the servers where the application or the database resides. This would reduce the resource requirements for the servers. + +## Stateful vs Stateless services +
+A stateless process or service doesn’t rely on stored data of it’s past invocations. A stateful service on the other hand stores its state in a datastore, and typically uses the state on every call or transaction. In some cases, there are options for us to design services in such a way that certain components can be made stateless and this helps in multiple ways. Applications can be containerized easily if they are stateless. Containerized applications are also easier to scale. Stateful services require you to scale the datastore +with the state as well. However, containerizing databases or scaling databases is out of the scope of this module. +
+ + + +The resulting design after such distribution of workloads might look +something like this. + +![Microservices diagram](images/microservices.jpg) + +You might notice that the diagram also has multiple databases. We will see more about this in the following sharding section. + +Now that we have split the application into smaller services, we need to +look at scaling up the capacity of each of these endpoints. The popular +Pareto principle states that “80% of consequences come from 20% of the +causes”. Modifying it slightly, we can say that 80% of the traffic will +be for 20% of images. The no. of images uploaded vs the no. of images +seen by the user is going to be similarly skewed. An user is much more +likely to view images on a daily basis than they are to upload new ones. + +In our simple design, generating the feed page with initial 5 images +will be a matter of choosing 5 recently uploaded images from fellow +users whom this user follows. While we can dynamically fetch the images +from the database and generate the page on the fly once the user logs +on, we might soon overwhelm the database in case a large number of users +choose to login at the same time and load their feeds. There are two +things we can do here, one is caching, and the other one is ahead of +time generation of user feeds. + +An user with a million followers can potentially lead to hundreds of +thousands of calls to the DB, simply to fetch the latest photoID that +the user has uploaded. This can quickly overwhelm any DB, and can +potentially bring down the DB itself. + +## Sharding + +One way to solve the problem of DB limitation is scaling up the DB write +and reads. Sharding is one way to scale the DB writes, where the DB +would be split into parts that reside in different instances of the DB +running on separate machines. DB reads can be scaled up similarly by +using read replicas as we had seen in Phase 1 of this module. + +Compared to the number of images the popular user uploads, the number of +views generated would be massive. In that case, we should cache the +photoIDs of the user’s uploads, to be returned without having to perform +a potentially expensive call to the DB. + +Let us consider another endpoint in our application named +`/get_user_details`. It simply returns the page an user would see upon +clicking another user’s name. This endpoint will return a list of posts +that the user has created. Normally, a call to that endpoint will +involve the application talking to the DB, fetching a list of all the +posts by the user and returning the result. If someone’s profile is +viewed thousands of times that means there are thousands of calls to the +DB - which may result in issues like hot keys and hot partitions. As +with all other systems, an increase in load may result in worsening +response times, resulting in inconsistent and potentially bad user +experience. A simple solution here would be a cache layer - one that +would return the user’s profile with posts without having to call the DB everytime. + +## Caching + +A cache is used for the temporary storage of data that is likely to be +accessed again, often repetitively. When the data requested is found in +the cache, it is termed as a \`cache hit’. A ‘cache miss’ is the obvious +complement. A well positioned cache can greatly reduce the query +response time as well as improve the scalability of a system. Caches can +be placed at multiple levels between the user and the application. In +Phase 1, we saw how we could use caches / CDNs to service static +resources of the application, resulting in quicker response times as +well as lesser burden on the application servers. Let us look at more +situations where caching can play a role. + +### In-memory caching: + +In memory caching is when the information to be cached is kept in the +main memory of the server, allowing it to be retrieved much faster than +a DB residing on a disk. We cache arbitrary text (which can be HTML +fragments or may be JSON objects) and fetch it back really fast. An in +memory cache is the quickest way to add a layer of fast cache that can +optionally be persisted to disk as well. + +
+While caching can aid significantly in scaling up and improving +performance, there are situations where cache is suddenly not in place. +It might be that the cache was accidentally wiped, leading to all the +queries falling through to the DB layer, often multiple calls for the +same piece of information. It is important to be aware of this potential +‘thundering herd’ problem and design your system accordingly. +
+ +**Caching proxies:** + +There are cases where you may want to cache entire webpages / responses +of other upstream resources that you need to respond to requests. There +are also cases where you want to let your upstream tell you what to +cache and how long to cache it for. In such cases, it might be a good +idea to have a caching solution that understands Cache related HTTP +headers. One example for our usecase can be when users search for a +specific term in our application - if there is a frequent enough search +for a user or a term, it might be more efficient to cache the responses +for some duration rather than performing the search anew everytime. + +Let’s recap one of the goals - Atleast 50000 unique visitors should be +able to visit the site at any given time and view their feed. With the +implementation of caching, we have removed one potential bottleneck - +the DB. We also decomposed the monolith into smaller chunks that provide +individual services. Another step closer to our goal is to simply +horizontally scale the services needed for feed viewing and putting them +behind a load balancer. Please recall the scaling concepts discussed in +Phase 1 of this module. + +## Cache managment +
+While caching sounds like a simple, easy solution for a hard problem, an +even harder problem is to manage the cache efficiently. Like most things +in your system, the cache layer is not infinite. Effective cache +management means removing things from the cache at the right time, to +ensure the cache hit rate remains high. There are many strategies to +invalidate cache after a certain time period or below certain usage +thresholds. It is important to keep an eye on cache-hit rate and fine +tune your caching strategy accordingly. +
+ +## References +1. There are many object storage solutions available. [Minio](https://github.com/minio/minio) is one self hosted solution. There are also vendor-specific solutions for the cloud like [Azure Blob storage](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction) and [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html). +2. Microservices architecture style - [Azure architecture guide](https://docs.microsoft.com/en-us/azure/architecture/guide/architecture-styles/microservices) +3. There are many in-memory caching solutions. Some of the most popular ones include [redis](https://redis.io) and [memcached](https://memcached.org). Cloud vendors also have their managed cache solutions. +4. Some of the most popular proxies include [squid](https://www.squid-cache.org) and [Apache Traffic Server](https://trafficserver.apache.org) +5. Thundering herd problem - how instagram [tackled it](https://instagram-engineering.com/thundering-herds-promises-82191c8af57d). \ No newline at end of file diff --git a/courses/stylesheets/custom.css b/courses/stylesheets/custom.css index 7b56339..b35dbb0 100644 --- a/courses/stylesheets/custom.css +++ b/courses/stylesheets/custom.css @@ -1 +1,36 @@ -div.md-content img { border: 4px solid #ddd; padding: 12px; } \ No newline at end of file +div.md-content img { border: 4px solid #ddd; padding: 12px; } +.callout { + padding: 20px; + margin: 20px 0; + border: 1px solid #eee; + border-left-width: 5px; + border-radius: 3px; + h4 { + margin-top: 0; + margin-bottom: 1px; + } + p:last-child { + margin-bottom: 0; + } + code { + border-radius: 3px; + } +} +.callout-info { + border-left-color: #428bca; + h4 { + color: #428bca; + } +} +.callout-primary { + border-left-color: #5bc0de; + h4 { + color: #5bc0de; + } +} +.callout-danger { + border-left-color: #d9534f; + h4 { + color: #d9534f; + } +} diff --git a/mkdocs.yml b/mkdocs.yml index 629fdf3..9df02d0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -92,6 +92,13 @@ nav: - RTT: level102/networking/rtt.md - Infrastructure Services: level102/networking/infrastructure-features.md - Conclusion: level102/networking/conclusion.md + - System Design: + - Introduction: level102/system_design/intro.md + - Large System Design: level102/system_design/large-system-design.md + - Scaling: level102/system_design/scaling.md + - Scaling Beyond the Data Center: level102/system_design/scaling-beyond-the-datacenter.md + - Resiliency: level102/system_design/resiliency.md + - Conclusion: level102/system_design/conclusion.md - System Troubleshooting and Performance Improvements: - Introduction: level102/system_troubleshooting_and_performance/introduction.md - Troubleshooting: level102/system_troubleshooting_and_performance/troubleshooting.md