Video summary
Session - 4 (17-12-2024)
Main summary
Key takeaways
Main ideas & concepts covered
1) Recap: Client–Server architectures
- Client: requests a resource.
- Server: responds with the requested resource.
- Devices in a network can act as clients or servers.
Types of client–server architectures (3)
-
1-tier
- Client and server on the same device
- Not used (as stated in the summary)
-
2-tier
- Separates into client layer + server layer
- Server layer stack (bottom → top):
- hardware → OS → application → database
- Notes:
- Not recommended to keep application and database on the same machine for production
- Leads to bad performance
- Clients get affected
- Also described as not secure enough for production
-
3-tier
- client layer + application server layer + database server layer
- Roles:
- Application server: hosts the application
- Database server: hosts/stores the database
- For production, 3-tier is stated as the best architecture
Network addressing concepts
- IP address: unique identifier for a device in the network
- Host name: name of a server/application (e.g.,
google.com) - Systems should be in a private network; customers can’t directly connect to it
- A web server “in between” mediates requests (linked to the idea of a 3-tier approach)
2) Why understanding “back-end” matters
- When an end user types a URL (e.g.,
google.com), they expect the page quickly. - If it’s slow or fails, users get frustrated.
- The owner/engineer must understand what’s happening behind the scenes to troubleshoot.
- This motivates learning the end-to-end request path.
3) DNS: translating hostnames to IP addresses
A browser needs two things:
- Host name (e.g.,
google.com) - IP address
Because users don’t want to remember IPs, the network uses DNS.
DNS concepts
- DNS (Domain Name System / Domain Name Server):
- Tracks hostnames ↔ IP addresses
- Converts host name → IP (and IP → host name)
Local DNS
- Located on the client machine via
/etc/hosts(as described) - If the mapping isn’t found locally, DNS queries continue further.
Root name server (RNS)
- Checks the top-level domain (TLD) like
.com,.org,.net, etc. - Forwards the query to the correct TLD authority.
Name server / authoritative server
- Identifies where the specific domain lives inside the TLD
- Example: where
google.comlives within.com
- Example: where
- SOA (Start of Authority) is referenced as holding/providing the IP address in the described flow.
Key outcome
- The browser finally obtains the IP address needed to connect.
4) Protocols, firewall behavior, and port numbers
When a user accesses a site, traffic includes data packets with source/destination details.
HTTP vs HTTPS
- HTTP: port 80
- HTTPS: port 443
- Firewall behavior described as:
- It allows/denies based on protocol security preference
- Example policy: deny HTTP, allow HTTPS
Other protocols + common ports (mentioned)
- SSH → port 22 (used to connect to Linux machines)
- RDP → port 389 (as stated in the subtitles; commonly 3389, but the subtitle value was 389)
Firewall definition and purpose
- A firewall stops unauthorized access to the network.
- It can allow or deny traffic based on rules (including protocol/port expectations).
- Analogy used: “protocol + port must be shown” for the request to pass.
5) Load balancer: avoiding direct exposure and distributing traffic
Problem described
- If users had to use backend server IP addresses directly, that’s inconvenient and brittle.
- Example: if one server goes down, users would need to try multiple IPs.
Solution: load balancer + friendly DNS name
- A load balancer provides a friendly DNS name (example:
raj.com). - Instead of connecting to a single fixed server, requests go through the load balancer.
Load balancer behavior
- Receives requests (indirectly via the friendly domain)
- Distributes to multiple servers using round-robin
- Alternates requests across servers in order
Role in the architecture
- For the topic being taught, the “web server” concept is effectively served by the load balancer.
- The load balancer sits after the firewall in the request path.
6) End-to-end request flow (from the subtitles)
- Browser supplies:
- Host name (e.g.,
google.com) - IP address (resolved via DNS)
- Host name (e.g.,
- Conceptual request path:
- Browser → Firewall → Load balancer
- Load balancer forwards to:
- Web server / application server
- Database server
- Response travels back in reverse order until the browser receives the page.
Troubleshooting insight
- If a customer says “application not working,” knowing where it might be stuck (firewall, load balancer, web/app server, database) makes troubleshooting easier.
7) Using nslookup (practical command mentioned)
- To find an IP for a domain:
nslookup <domain>
- Example shown conceptually:
nslookup facebook.com
- Result may point to load balancer targets rather than a single backend server.
Methodology / instruction-style content
DNS resolution steps (conceptual methodology)
- User types a host name in the browser (e.g.,
google.com) - Browser needs the IP address, so it consults DNS:
- Query local DNS
- Check
/etc/hosts
- Check
- If not found locally, query root name server (RNS)
- Determine the applicable TLD (e.g.,
.com)
- Determine the applicable TLD (e.g.,
- RNS forwards to the correct TLD name server
- The authoritative name server (SOA referenced) provides the IP address
- Browser then has:
- host name + IP address
- The browser can contact the server.
Firewall + protocol access decision (conceptual methodology)
- Browser sends request using protocol (HTTP/HTTPS) and therefore a port:
- HTTP → 80
- HTTPS → 443
- Firewall applies rules:
- Allowed policy → allow
- Otherwise → deny
- Example policy: HTTP denied, HTTPS allowed
Load balancing distribution (round-robin methodology)
- Load balancer receives requests for a friendly domain (e.g.,
raj.com) - It forwards each request to backend servers using round-robin:
- Request 1 → server 1
- Request 2 → server 2
- Request 3 → server 3
- Request 4 → server 1
- Reason given: distribute load and improve reliability (high availability concept mentioned)
Practical DNS lookup using nslookup
- Open Command Prompt
- Run:
nslookup <website>
- Observe returned IP address
- It may correspond to load balancer targets
Speakers / sources featured
- Trainer / Instructor (main speaker; name mentioned): Rias (also referenced as “trainer rias … email”)
- Students/participants mentioned in the dialogue:
- Manikanta
- Vishwa
- Harindra
- Tjas
- Dali
- Naven
- Surup
- Ramesh
- Ganesha / Ganesh
- Pawan
- Raj / Rajes
- Kyra
- Mark
- Roxy
- Malata
- Rajat
- Others referenced collectively as “everyone/online people”