Web Architecture 101 - Deepstash
Product Management Starter Kit

Learn more about computerscience with this collection

How to focus on the present moment

How to cultivate empathy and understanding towards others

How to set personal and professional goals

Product Management Starter Kit

Discover 28 similar ideas in

It takes just

4 mins to read

DNS

  • DNS stands for “Domain Name System” and it’s a backbone technology that makes the world wide web possible. 
  • At the most basic level DNS provides a key/value lookup from a domain name (e.g., google.com) to an IP address (e.g., 85.129.83.120), which is required in order for your computer to route a request to the appropriate server. 
  • Analogizing to phone numbers, the difference between a domain name and IP address is the difference between “call John Doe” and “call 201-867–5309.” Just like you needed a phone book in the old days, you need DNS to look up the IP address for a domain. 

3

5 reads

Load Balancer

They’re the magic sauce that makes scaling horizontally possible. They route incoming requests to one of many application servers that are typically clones/mirror images of each other and send the response from the app server back to the client. 

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.

3

4 reads

Web Application Servers

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 bac HTML to the user’s browser. 

To do their job, they typically communicate with a variety of backend infrastructures such as databases, caching layers, job queues, search services, other microservices, data/logging queues, and more. As mentioned above, you typically have at least two and often times many more, plugged into a load balancer in order to process user requests.

3

2 reads

Database Servers

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.

In most cases the web app servers talk directly to one, as will the job servers. Additionally, each backend service may have it’s own database that’s isolated from the rest of the application.

3

2 reads

Caching Service

A caching service provides a simple key/value data store that makes it possible to save and lookup information in close to O(1) time. 

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.

3

2 reads

Job Queue & Servers

  • Job queues store a list of jobs that need to be run asynchronously. The simplest are first-in-first-out (FIFO) queues though most applications end up needing some sort of priority queuing system. Whenever the app needs a job to be run, either on some sort of regular schedule or as determined by user actions, it simply adds the appropriate job to the queue.
  • Job servers process jobs. They poll the job queue to determine if there’s work to do and if there is, they pop a job off the queue and execute it. 

3

2 reads

Full-text Search Service

It leverages an inverted index to quickly look up documents that contain the query keywords.

The most popular Full-Text search platform today is Elasticsearch though there are other options such as Sphinx or Apache SOLR. 

Full-text search leverages an inverted index to quickly look up documents that contain the query keywords.

3

2 reads

Services

Once an app reaches a certain scale, there will likely be certain “services” that are carved out to run as separate applications. 

They’re not exposed to the external world but the app and other services interact with them. 

3

1 read

Data

Today, companies live and die based on how well they harness data. Almost every app these days, once it reaches a certain scale, leverages a data pipeline to ensure that data can be collected, stored, and analyzed. A typical pipeline has three main stages:

  1. The app sends data, typically events about user interactions, to the data “firehose” which provides a streaming interface to ingest and process the data. 
  2. The raw data as well as the final transformed/augmented data are saved to cloud storage. 
  3. The transformed/augmented data is often loaded into a data warehouse for analysis. 

3

4 reads

11. CDN

The technology provides a way of serving assets over the web much faster than serving them from a single origin server. It works by distributing the content across many "edge" Servers around the world. In general a web App should always use a CDN to serve CSS, Javascript, images, videos.

3

4 reads

Parting thoughts

And that’s a wrap on Web Architecture 101. I hope you found this useful. I’ll hopefully post a series of 201 articles that provide deep dives into some of these components over the course of the next year or two. 

3

5 reads

CURATED BY

linholme

Engineer/ technical sales

stash-superman-illustration

Explore the World’s

Best Ideas

200,000+ ideas on pretty much any topic. Created by the smartest people around & well-organized so you can explore at will.

An Idea for Everything

Explore the biggest library of insights. And we've infused it with powerful filtering tools so you can easily find what you need.

Knowledge Library

Powerful Saving & Organizational Tools

Save ideas for later reading, for personalized stashes, or for remembering it later.

# Personal Growth

Take Your Ideas

Anywhere

Organize your ideas & listen on the go. And with Pro, there are no limits.

Listen on the go

Just press play and we take care of the words.

Never worry about spotty connections

No Internet access? No problem. Within the mobile app, all your ideas are available, even when offline.

Get Organized with Stashes

Ideas for your next work project? Quotes that inspire you? Put them in the right place so you never lose them.

Join

2 Million Stashers

4.8

5,740 Reviews

App Store

4.7

72,690 Reviews

Google Play

Ashley Anthony

This app is LOADED with RELEVANT, HELPFUL, AND EDUCATIONAL material. It is creatively intellectual, yet minimal enough to not overstimulate and create a learning block. I am exceptionally impressed with this app!

Sean Green

Great interesting short snippets of informative articles. Highly recommended to anyone who loves information and lacks patience.

samz905

Don’t look further if you love learning new things. A refreshing concept that provides quick ideas for busy thought leaders.

Shankul Varada

Best app ever! You heard it right. This app has helped me get back on my quest to get things done while equipping myself with knowledge everyday.

Ghazala Begum

Even five minutes a day will improve your thinking. I've come across new ideas and learnt to improve existing ways to become more motivated, confident and happier.

Giovanna Scalzone

Brilliant. It feels fresh and encouraging. So many interesting pieces of information that are just enough to absorb and apply. So happy I found this.

Laetitia Berton

I have only been using it for a few days now, but I have found answers to questions I had never consciously formulated, or to problems I face everyday at work or at home. I wish I had found this earlier, highly recommended!

Jamyson Haug

Great for quick bits of information and interesting ideas around whatever topics you are interested in. Visually, it looks great as well.

Read & Learn

20x Faster

without
deepstash

with
deepstash

with

deepstash

Access to 200,000+ ideas

Access to the mobile app

Unlimited idea saving & library

Unlimited history

Unlimited listening to ideas

Downloading & offline access

Personalized recommendations

Supercharge your mind with one idea per day

Enter your email and spend 1 minute every day to learn something new.

Email

I agree to receive email updates