foreign ninjas today we are going to start a new series on system designs right so I'm Naman Jain I'm a software engineer at Microsoft and we are going to demystify a lot of things related to system designs now you might be wondering why are we actually studying system designs correct you guys must be from your second year third year first your fourth year or maybe you must be you might be a fresher just on a fresher in the industry or someone who's experienced but this is the topic a lot of people struggle with because system
designs when you talk about it it comes with a combination of your experience your curiosity and your knowledge and it takes a lot of time to master this right so it requires you it doesn't I mean it you cannot Master it within three months or six months or one year it might require more time but it is actually a combination of your curiosity your knowledge and experience so when you talk about this system designs this is not just a very small topic it is a very vast topic because this is we are talking about the
whole system right so uh when you talk about like large scale systems with large-scale systems what I mean is uh the application of the system which have a lot of customer base for example if you talk about Instagram if you talk about your Facebook if you talk about your uh Gmail uh Google a lot of uh these companies are these are highly scalable and these are very scalable product I mean they are used at a very large scale right a lot of users come on to Facebook and post something a lot of users come on
to Instagram when you talk about hotstar a lot of people use hotstar to watch IPL matches um I'm sure you might uh you you are fond of India versus Pakistani you guys watch on hotstar so what I'm trying to say here is you're talking about large-scale systems right um which has like millions of daily uh active users which have billions of daily active users and a lot of thing happens so to build such uh application to build such system what exactly do we need to learn this is the intent of this course and I promise
you by the end of this course you're gonna answer a lot of questions related to this so whether it be how to build Twitter how to build Facebook how to build Netflix how to build you or Uber you're going to learn a lot and you're gonna get a lot of sense out of it and the only thing that I required from you guys is that your energy is maintained at the utmost high level um because I'm gonna set my bar high so that you can understand everything uh from I mean at a minute level you
get everything all the nitty-gritties and all stuff so this is the intent and then and I'll guarantee you that towards the end of the course you're gonna learn a lot you're gonna be a good one at least you're gonna cater all the interviews related to system designs and when I talk about interviews just a point this particular section if you talk about for example going from normal software engineer to a senior software engineer or if you talk about um going in some good companies system design uh role I mean system Design Round is very important
because that tells you how overall knowledge and how much curious you are to build a new system so with that keeping in mind let's start with what exactly system designs is so we're going to talk about what system is how do we design what things to keep in mind while designing something and why exactly we are doing system design so we're going to answer all of that and I'm going to tell you um a little without system designs in this and then we'll move on to the second video so this is going to be uh
throughout in the series you're going to learn a lot we are going to learn about components we are going to Deep dive into single com into each and every component of system design so make sure that you watch every single video and you do not miss out on anything because again I'm just telling this course is going to be very beautiful and I promise you guys I'm searching a lot I'm trying to give you the best that you can have out here so with that keeping in mind let's start with that so when I talk
about system design I think we can divide this into two terms so one is system and one is one exact design so we need to talk about a system correct so when you talk about system in simple terms a system is that it is some uh collection of Technologies let me just write it uh in a better way just a sec okay so when you talk about system it is the architecture or we can say it as collection of Technologies collection of Technologies which serves some set of people so set of users we can say
to fulfill some requirements to fulfill some set of requirements right so system is collectively collection of Technologies or it is some kind of architecture that serves some set of users to fulfill some requirements so we have some set of requirements that you want to get fulfilled so this whole I mean if you call let's let's make a bundle out of it this whole bundle is called a system right now this is something which is common in every system for example if you talk about your Computing system right computing system correct or if you talk about
your uh let's say your buildings for example I'll have something in common for example if you talk about building we have some kind of building components so we can't we call them building blocks right similarly for computing system also we do have building blocks or you can just call it as a website website has some building blocks now there is some fundamental similarity in them that they have uh building blocks like for example all the buildings if you talk about they have bricks in them correct which is a building material they have electricity Connection in
them they have water Connection in them all of the buildings have this thing in common but purpose of each building can be different that means there are multiple softwares they have built of some components but their purpose is different for example Computing system will be having a database correct Computing system will be having a cache right if you don't know about cash we are going to learn about it a Computing system must be having a you can just call that it as a server for example it is a website it must be having a server
so all the Computing system or software must be having the server must be having cash to store uh some information some relevant information and some database where they can store their infinite storage correct so system has these components but the purpose can be different for example if you talk about Facebook Facebook also has a database it also has a cache it also has its own server right but Facebook has some different problem but when I talk about Uber Uber also has a database Uber also has a cache Uber also has servers it serves a different
purpose similarly building if you talk about hospital it has bricks it has electricity it has water but it serves to the patient if you talk about for example a normal corporate office it has bricks it has electricity it has water it serves some different purpose so there is some fundamental block present in every system that we are going to discover we are going to demystify components correctly so we're going to demystify components in the upcoming uh videos now I think this is what exactly a system is so when I talk about systems it is a
collection of collection of Technologies which serves some set of users uh to fulfill some requirements so that is what I call a system Curry when I talk about its design right let's let's write it over here when I talk about the design so designing is exactly uh process of understanding user requirement so designing is a process of understanding user requirement and after understanding user requirement we have to design the components correct how can we actually use components how can we make them communicate right make them communicate so for example in designing uh after thinking of
the design part I've realized that I require these two components let's say I have this component A and B now how I'm going to make them talk to each other correct this also come in design so first step in design is what exactly do I need to choose for example we need to choose a do I need to choose B correct and how I'm going to enable communication routine these two components so this all comes under design so in overall system design is actually process of understanding the user requirements right process of understanding your user
requirements thinking of the collection of technologies that we want to have to think of components and then serving the set of users you've got a lot of information through this video make sure that you like share and subscribe the channel because again system designs is the most beautiful course that you're gonna have on our Channel and everywhere we are going to learn a lot of new things we are ending this video on a very high note and I want you to keep up the spirit with the second with the third and for all the videos
in the series I promise you this is going to be this is probably going to be the best system design series that you're going to get on web since uh because I'm lurking on a lot of resources to get you the best content out here so with that note please guys take care stay uh stay healthy and keep learning we'll see you in the next video where we are going to learn components of system designs till then make sure that you like share and subscribe the channel thank you