How do you design a system like Google drive?
System design is one of the most important and feared aspects of software engineering. This opinion comes from my own learning experience in an associate architecture course. When I started my associate architecture course, I had a hard time understanding the idea of designing a system.
One of the main reasons was that the terms used in software architecture books are pretty hard to understand at first, and there is no clear step by step guidelines. Everybody seems to have a different approach. And of course, there is a mental block also that these topics might be tough to understand.
So, I set out to design a system based on my experience of learning architecture courses. The first one is on Google Auto Suggestion. For this one, let’s design a cloud file storage service like Google drive. It’s a file storage and synchronization service, enables users to store their data on a remote server.
Now those who already used Google drive know that we can upload any size of files from any device, and it can be found on our mobile, laptop, personal computer, etc. A lot of us wonder how the system handles such a massive amount of files. In this article, we will design a google drive service!! This is by no means a comprehensive guide, rather it’s an introduction to system design and a good place to start your journey to be a software architect.
**Those who do not have an account in @medium, here is the link