NoteTube

Session - 4 (17-12-2024)
1:20:15

Session - 4 (17-12-2024)

AWS with Devops

5 chapters7 takeaways15 key terms5 questions

Overview

This session explains the fundamental processes behind accessing a website, starting from a user typing a URL into a browser to the page rendering. It details the journey of a request, including the roles of DNS for name resolution, the function of servers (application and database), the importance of protocols like HTTP and HTTPS, the security provided by firewalls, and the efficiency gained through load balancers. The session emphasizes that understanding these backend processes is crucial for troubleshooting and managing applications effectively.

How was this?

Save this permanently with flashcards, quizzes, and AI chat

Chapters

  • Client-server architecture involves clients requesting resources and servers responding.
  • One-tier architecture (client and server on the same machine) is obsolete due to performance and security issues.
  • Two-tier architecture separates client and server, but placing application and database on the same server is not recommended for production.
  • Three-tier architecture separates client, application server, and database server, offering better performance and security.
  • Different environments (Dev, Test, Pre-prod, Prod) are used for software development and deployment.
Understanding client-server models and tiered architectures is foundational to grasping how applications are structured and deployed, impacting performance and security.
The progression from one-tier (client/server on one machine) to two-tier (client layer, server layer) to three-tier (client, app server, DB server) illustrates the evolution of robust system design.
  • When a user types a URL (hostname) into a browser, the browser needs both the hostname and its corresponding IP address to proceed.
  • Humans remember hostnames (like google.com), while computers use IP addresses.
  • DNS (Domain Name System) acts as a translator, mapping hostnames to IP addresses, similar to a phone's contact list.
  • The request first checks a local DNS cache (often in the /etc/hosts file) before querying external DNS servers.
  • The DNS resolution process involves root name servers, top-level domain (TLD) servers (like .com), and authoritative name servers to find the IP address.
This process explains how user-friendly website names are converted into network-navigable IP addresses, a critical step for any internet communication.
When you type 'google.com', your browser uses DNS to find Google's IP address, rather than you needing to remember a string of numbers.
  • Data travels across the network in packets, containing information about the source, destination, and protocol.
  • Protocols like HTTP (port 80) and HTTPS (port 443) govern how web browsers communicate with servers.
  • HTTPS is the secure version of HTTP, encrypting data for safe transmission.
  • Firewalls act as security guards, inspecting incoming and outgoing traffic and blocking unauthorized access based on predefined rules (e.g., allowing HTTPS but denying HTTP).
  • Other protocols include SSH (port 22) for Linux machine access and RDP (port 3389) for Windows machine access.
Understanding protocols and security measures like firewalls is essential for ensuring data integrity and protecting systems from malicious access.
A firewall might deny access if a request uses the insecure HTTP protocol but allow it if it uses the secure HTTPS protocol.
  • Directly exposing servers to the internet is risky; a load balancer acts as an intermediary, similar to a web server.
  • Load balancers distribute incoming traffic across multiple application or web servers.
  • This distribution, often using a round-robin method, prevents any single server from being overloaded and ensures high availability.
  • If one server fails, the load balancer redirects traffic to the remaining healthy servers.
  • Users access applications via a single, friendly DNS name (like 'raj.com'), which resolves to the load balancer.
Load balancers are crucial for scalability and reliability, ensuring applications remain accessible even under heavy traffic or server failures.
Instead of accessing an application via a complex IP address like '192.168.10.20', users access it through a simple name like 'raj.com', which the load balancer then directs to one of several available servers.
  • The entire process involves the browser requesting a hostname, DNS resolving it to an IP, the request passing through firewalls, and being handled by load balancers which distribute it to application and database servers.
  • Understanding this flow allows for effective troubleshooting, pinpointing issues at the firewall, load balancer, web server, or application server level.
  • The `nslookup` command can be used to find the IP address of a website and view its associated DNS records, including load balancer names.
  • The final response travels back through the same path: DB server -> App server -> Load Balancer -> Firewall -> Browser.
By tracing the complete request path, learners can diagnose and resolve issues efficiently, demonstrating a deeper understanding of system architecture.
If a website is slow, a technician can use their knowledge of the request flow to check if the bottleneck is the DNS resolution, firewall rules, load balancer distribution, or the application/database servers themselves.

Key takeaways

  1. 1Understanding the client-server model and tiered architectures is fundamental to web application deployment.
  2. 2DNS is essential for translating human-readable hostnames into machine-readable IP addresses.
  3. 3Protocols like HTTP and HTTPS dictate how data is transmitted, with HTTPS providing crucial security.
  4. 4Firewalls protect networks by controlling access based on rules, enhancing security.
  5. 5Load balancers are vital for distributing traffic, ensuring application availability and scalability.
  6. 6The entire process from typing a URL to seeing a webpage involves multiple interconnected components and steps.
  7. 7Troubleshooting web application issues requires knowledge of the entire request-response lifecycle.

Key terms

Client-Server ArchitectureDNS (Domain Name System)IP AddressHostnameProtocol (HTTP, HTTPS, SSH, RDP)FirewallLoad BalancerData PacketsRound Robin MethodApplication ServerDatabase ServerTop-Level Domain (TLD)Root Name ServerName ServerStart of Authority (SOA)

Test your understanding

  1. 1What is the primary role of DNS in accessing a website, and how does it differ from how humans typically remember website information?
  2. 2Explain the security implications of using HTTP versus HTTPS and how a firewall enforces these differences.
  3. 3How does a load balancer contribute to the high availability and scalability of web applications?
  4. 4Describe the step-by-step process that occurs when a user types a URL into their browser and expects to see a webpage.
  5. 5Why is a three-tier architecture generally preferred over a two-tier architecture for production environments?

Turn any lecture into study material

Paste a YouTube URL, PDF, or article. Get flashcards, quizzes, summaries, and AI chat — in seconds.

No credit card required