System Design

Duration : 10 hours
Prerequisite : None


Start Now

Prerequisite :
Interested in High-Level System Design? Curious to know what goes on behind the scenes when you use a browser to navigate to

Create your own virtual machine (VM) in the cloud and set up a webserver on it that can be accessed using any browser.

Set up DNS to access your VM using a custom domain. Add a load balancer and a CDN to handle large traffic volumes with ease.

Trace an HTTP request from your browser to the webserver you set up to get a closer view of how it travels across the internet and eventually returns a response.

Take this Micro-Experience to get a preview of how scalable, distributed and fault-tolerant systems are designed.


Start Now

Prerequisite :

What will you learn?

  • Run your own web server in the cloud

    Cloud servers
    Static IP
    • - Create a virtual machine (VM) in the cloud and assign a static IP address to it.
    • - Configure and run a web server (Nginx) to handle web requests.
    • - Set up a firewall running in the VM to accept incoming HTTP requests.

  • Learn more about HTTP and configure DNS

    Chrome Developer Tools
    • - Trace an HTTP request all the through to the response.
    • - Purchase a custom domain and configure its DNS settings to point to your web server.

  • Setup load balancing for high availability

    HTTP Load Balancing
    • - Create additional servers to host your website and configure DNS A-records for load balancing between them.
    • - Configure layer-7 load balancing for HTTP/HTTPS applications.

  • Add a CDN to improve server performance

    Data Caching and Consistency
    Performance Measurement
    • - Improve the performance of your web server using a CDN to serve large files and images.
    • - Create performance benchmarks and measure improvements achieved by offloading large files to a CDN provider.

Developers love Crio