Files
system-design-101/data/guides/10-essential-components-of-a-production-web-application.md
Kamran Ahmed ee4b7305a2 Adds ByteByteGo guides and links (#106)
This PR adds all the guides from [Visual
Guides](https://bytebytego.com/guides/) section on bytebytego to the
repository with proper links.

- [x] Markdown files for guides and categories are placed inside
`data/guides` and `data/categories`
- [x] Guide links in readme are auto-generated using
`scripts/readme.ts`. Everytime you run the script `npm run
update-readme`, it reads the categories and guides from the above
mentioned folders, generate production links for guides and categories
and populate the table of content in the readme. This ensures that any
future guides and categories will automatically get added to the readme.
- [x] Sorting inside the readme matches the actual category and guides
sorting on production
2025-03-31 22:16:44 -07:00

1.5 KiB

title, description, image, createdAt, draft, categories, tags
title description image createdAt draft categories tags
10 Essential Components of a Production Web Application Explore 10 key components for building robust web applications. https://assets.bytebytego.com/diagrams/0395-typical-architecture-of-a-web-application.png 2024-02-20 false
api-web-development
Web Architecture
System Design

  1. It all starts with CI/CD pipelines that deploy code to the server instances. Tools like Jenkins and GitHub help over here.
  2. The user requests originate from the web browser. After DNS resolution, the requests reach the app servers.
  3. Load balancers and reverse proxies (such as Nginx & HAProxy) distribute user requests evenly across the web application servers.
  4. The requests can also be served by a Content Delivery Network (CDN).
  5. The web app communicates with backend services via APIs.
  6. The backend services interact with database servers or distributed caches to provide the data.
  7. Resource-intensive and long-running tasks are sent to job workers using a job queue.
  8. The full-text search service supports the search functionality. Tools like Elasticsearch and Apache Solr can help here.
  9. Monitoring tools (such as Sentry, Grafana, and Prometheus) store logs and help analyze data to ensure everything works fine.
  10. In case of issues, alerting services notify developers through platforms like Slack for quick resolution.