Instagram System Design

<p>If you are on social media, then there is a high probability that you have used instagram at-least once in your life. Have you ever wondered how the app works so flawlessly and if you have to build a similar app how will you proceed? In this article we will be covering how we can design an app similar to instagram.</p> <h1>Requirements</h1> <h2>Functional</h2> <ol> <li>User should be able to upload an image/video on his profile.</li> <li>User should be able to see uploads of other users followed the user.</li> <li>User should be able to follow other users.</li> <li>User can perform search for an image/video based on title.</li> </ol> <h2>Non Functional</h2> <ol> <li>The user feed latency should be low.</li> <li>We are okay with eventual consistency as uploaded image can be shown to another user after few milliseconds.</li> <li>Our app needs to be highly available.</li> <li>The Data store we will be using for storing image/video should be reliable and data should not be lost.</li> </ol> <h2>Additional Requirements</h2> <ol> <li>Users can add tags to a photo/video.</li> <li>Users can put comments on a post.</li> <li>Users can search photo based on tags.</li> </ol> <h1>Capacity Estimation</h1> <h2>Traffic estimation</h2> <p>Let&rsquo;s assume we have 500 million daily active users and we get roughly 5 million uploads per day.</p> <p>Total number of uploads ~ 57 per sec</p> <h2>Storage estimation</h2> <p>Let&rsquo;s assume average upload size of 200KB.</p> <p>Then total storage required for 1 day is 200*5 ~ 1 TB per day.</p> <p><a href="https://nikhilgupta1.medium.com/instagram-system-design-f62772649f90">Click Here</a></p>