System Architecture for Web Applications

Now that you've learned some of the foundational knowledge for how a web server workes and how to scale a single web server/application, let's now go higher level.

Once you watched the video, please go through the following two articles next:

  1. written version of this (as well as the process flowchart): System Design and How to Design a Complex Web Application.
  2. SOLID Principles. Are they as important as they used to be 20 years ago? Pay attention to the 2nd part of the article where micro-services are explained.

Note about a micro-service

Note that each micro-service would be built with its own unique programming language, framework, and database.

Therefore, if you're designing an application that requires 5 different micro-services, for EACH of the micro-service, you would repeat Step 3/4/5, and pick a programming language, framework, database, and other services to set up each micro-service.

Once you have multiple micro-services, you would probably need to create separate services to coordinate the work between these services. These additional services, you can either built your self from scratch or leverage services that are offered by Amazon AWS, Microsoft Azure, etc.

What are some of your main take aways as you've watched the video and have gone over the articles? Please give a thoughtful response so that you can more fully internalize principles mentioned in this section.

Submitted answers •