Web Architecture technology that makes the world wide web possible

Table of contents

𝟏. 𝐃𝐍𝐒

DNS stands for “Domain Name System” and it’s a backbone technology that makes the world wide web possible. At the most basic level 𝐃𝐍𝐒 𝐩𝐫𝐨𝐯𝐢𝐝𝐞𝐬 𝐚 𝐤𝐞𝐲/𝐯𝐚𝐥𝐮𝐞 𝐥𝐨𝐨𝐤𝐮𝐩 𝐟𝐫𝐨𝐦 𝐚 𝐝𝐨𝐦𝐚𝐢𝐧 𝐧𝐚𝐦𝐞 (𝐞.𝐠., 𝐠𝐨𝐨𝐠𝐥𝐞.𝐜𝐨𝐦) 𝐭𝐨 𝐚𝐧 𝐈𝐏 𝐚𝐝𝐝𝐫𝐞𝐬𝐬 (𝐞.𝐠., 𝟖𝟓.𝟏𝟐𝟗.𝟖𝟑.𝟏𝟐𝟎), which is required in order for your computer to route a request to the appropriate server.

𝟐. 𝐋𝐨𝐚𝐝 𝐁𝐚𝐥𝐚𝐧𝐜𝐞𝐫

Before diving into details on load balancing, we need to take a step back to discuss horizontal vs. vertical application scaling. What are they and what’s the difference? 𝐇𝐨𝐫𝐢𝐳𝐨𝐧𝐭𝐚𝐥 𝐬𝐜𝐚𝐥𝐢𝐧𝐠 𝐦𝐞𝐚𝐧𝐬 𝐭𝐡𝐚𝐭 𝐲𝐨𝐮 𝐬𝐜𝐚𝐥𝐞 𝐛𝐲 𝐚𝐝𝐝𝐢𝐧𝐠 𝐦𝐨𝐫𝐞 𝐦𝐚𝐜𝐡𝐢𝐧𝐞𝐬 𝐢𝐧𝐭𝐨 𝐲𝐨𝐮𝐫 𝐩𝐨𝐨𝐥 𝐨𝐟 𝐫𝐞𝐬𝐨𝐮𝐫𝐜𝐞𝐬 𝐰𝐡𝐞𝐫𝐞𝐚𝐬 “𝐯𝐞𝐫𝐭𝐢𝐜𝐚𝐥” 𝐬𝐜𝐚𝐥𝐢𝐧𝐠 𝐦𝐞𝐚𝐧𝐬 𝐭𝐡𝐚𝐭 𝐲𝐨𝐮 𝐬𝐜𝐚𝐥𝐞 𝐛𝐲 𝐚𝐝𝐝𝐢𝐧𝐠 𝐦𝐨𝐫𝐞 𝐩𝐨𝐰𝐞𝐫 (𝐞.𝐠., 𝐂𝐏𝐔, 𝐑𝐀𝐌) 𝐭𝐨 𝐚𝐧 𝐞𝐱𝐢𝐬𝐭𝐢𝐧𝐠 𝐦𝐚𝐜𝐡𝐢𝐧𝐞.
 
Ok, back to load balancers. 𝐓𝐡𝐞𝐲’𝐫𝐞 𝐭𝐡𝐞 𝐦𝐚𝐠𝐢𝐜 𝐬𝐚𝐮𝐜𝐞 𝐭𝐡𝐚𝐭 𝐦𝐚𝐤𝐞𝐬 𝐬𝐜𝐚𝐥𝐢𝐧𝐠 𝐡𝐨𝐫𝐢𝐳𝐨𝐧𝐭𝐚𝐥𝐥𝐲 𝐩𝐨𝐬𝐬𝐢𝐛𝐥𝐞. 𝐓𝐡𝐞𝐲 𝐫𝐨𝐮𝐭𝐞 𝐢𝐧𝐜𝐨𝐦𝐢𝐧𝐠 𝐫𝐞𝐪𝐮𝐞𝐬𝐭𝐬 𝐭𝐨 𝐨𝐧𝐞 𝐨𝐟 𝐦𝐚𝐧𝐲 𝐚𝐩𝐩𝐥𝐢𝐜𝐚𝐭𝐢𝐨𝐧 𝐬𝐞𝐫𝐯𝐞𝐫𝐬 𝐭𝐡𝐚𝐭 𝐚𝐫𝐞 𝐭𝐲𝐩𝐢𝐜𝐚𝐥𝐥𝐲 𝐜𝐥𝐨𝐧𝐞𝐬/𝐦𝐢𝐫𝐫𝐨𝐫 𝐢𝐦𝐚𝐠𝐞𝐬 𝐨𝐟 𝐞𝐚𝐜𝐡 𝐨𝐭𝐡𝐞𝐫 𝐚𝐧𝐝 𝐬𝐞𝐧𝐝 𝐭𝐡𝐞 𝐫𝐞𝐬𝐩𝐨𝐧𝐬𝐞 𝐟𝐫𝐨𝐦 𝐭𝐡𝐞 𝐚𝐩𝐩 𝐬𝐞𝐫𝐯𝐞𝐫 𝐛𝐚𝐜𝐤 𝐭𝐨 𝐭𝐡𝐞 𝐜𝐥𝐢𝐞𝐧𝐭. Any one of them should process the request the same way so it’s just a matter of distributing the requests across the set of servers so none of them are overloaded.

𝟑. 𝐖𝐞𝐛 𝐀𝐩𝐩𝐥𝐢𝐜𝐚𝐭𝐢𝐨𝐧 𝐒𝐞𝐫𝐯𝐞𝐫𝐬

At a high level, web application servers are relatively simple to describe. They execute the core business logic that handles a user’s request and sends back HTML to the user’s browser.

𝟒. 𝐃𝐚𝐭𝐚𝐛𝐚𝐬𝐞 𝐒𝐞𝐫𝐯𝐞𝐫𝐬

Every modern web application leverages one or more databases to store information. Databases provide ways of defining your data structures, inserting new data, finding existing data, updating or deleting existing data, performing computations across the data, and more.

𝟓. 𝐂𝐚𝐜𝐡𝐢𝐧𝐠 𝐒𝐞𝐫𝐯𝐢𝐜𝐞

𝐀 𝐜𝐚𝐜𝐡𝐢𝐧𝐠 𝐬𝐞𝐫𝐯𝐢𝐜𝐞 𝐩𝐫𝐨𝐯𝐢𝐝𝐞𝐬 𝐚 𝐬𝐢𝐦𝐩𝐥𝐞 𝐤𝐞𝐲/𝐯𝐚𝐥𝐮𝐞 𝐝𝐚𝐭𝐚 𝐬𝐭𝐨𝐫𝐞 𝐭𝐡𝐚𝐭 𝐦𝐚𝐤𝐞𝐬 𝐢𝐭 𝐩𝐨𝐬𝐬𝐢𝐛𝐥𝐞 𝐭𝐨 𝐬𝐚𝐯𝐞 𝐚𝐧𝐝 𝐥𝐨𝐨𝐤 𝐮𝐩 𝐢𝐧𝐟𝐨𝐫𝐦𝐚𝐭𝐢𝐨𝐧 𝐢𝐧 𝐜𝐥𝐨𝐬𝐞 𝐭𝐨 𝐎(𝟏) 𝐭𝐢𝐦𝐞. Applications typically leverage caching services to save the results of expensive computations so that it’s possible to retrieve the results from the cache instead of recomputing them the next time they’re needed. An application might cache results from a database query, calls to external services, HTML for a given URL, and many more.

Add new comment

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
Image CAPTCHA
Enter the characters shown in the image.