EP80: Explaining 8 Popular Network Protocols in 1 Diagram

This week’s system design refresher:


Study: Performance Metrics Of The Best Startups, Enterprises & Mid-Size Engineering Orgs (Sponsored)

"Essential insights into how engineering teams continue to evolve” — Nathen Harvey, Head of Google's DORA team

LinearB’s new 2023 Software Engineering Benchmarks Report is out! This analysis of 3.6 million pull requests from 2,000+ development teams across 64 countries explores benchmarks for additional critical engineering metrics and presents key findings based on organization size and location!

Here are a few insights from the study:

Grab your free copy right here 👇

2023 Software Engineering Benchmarks


How does Docker Work? Is Docker still relevant?

Docker's architecture comprises three main components:


Explaining 8 Popular Network Protocols in 1 Diagram

Network protocols are standard methods of transferring data between two computers in a network.

No alternative text description for this image
  1. HTTP (HyperText Transfer Protocol)
    HTTP is a protocol for fetching resources such as HTML documents. It is the foundation of any data exchange on the Web and it is a client-server protocol.

  2. HTTP/3
    HTTP/3 is the next major revision of the HTTP. It runs on QUIC, a new transport protocol designed for mobile-heavy internet usage. It relies on UDP instead of TCP, which enables faster web page responsiveness. VR applications demand more bandwidth to render intricate details of a virtual scene and will likely benefit from migrating to HTTP/3 powered by QUIC.

  3. HTTPS (HyperText Transfer Protocol Secure)
    HTTPS extends HTTP and uses encryption for secure communications.

  4. WebSocket
    WebSocket is a protocol that provides full-duplex communications over TCP. Clients establish WebSockets to receive real-time updates from the back-end services. Unlike REST, which always “pulls” data, WebSocket enables data to be “pushed”. Applications, like online gaming, stock trading, and messaging apps leverage WebSocket for real-time communication.

  5. TCP (Transmission Control Protocol)
    TCP is is designed to send packets across the internet and ensure the successful delivery of data and messages over networks. Many application-layer protocols build on top of TCP.

  6. UDP (User Datagram Protocol)
    UDP sends packets directly to a target computer, without establishing a connection first. UDP is commonly used in time-sensitive communications where occasionally dropping packets is better than waiting. Voice and video traffic are often sent using this protocol.

  7. SMTP (Simple Mail Transfer Protocol)
    SMTP is a standard protocol to transfer electronic mail from one user to another.

  8. FTP (File Transfer Protocol)
    FTP is used to transfer computer files between client and server. It has separate connections for the control channel and data channel.


😘Kiss bugs goodbye with fully automated end-to-end test coverage (Sponsored)

QA Wolf gets web apps to 80% automated end-to-end test coverage in just 4 months. They are a tech-enabled service that creates and maintains your test suite in open-source Playwright (no vendor lock-in, you own the code) and provides unlimited parallel test runs on their infrastructure. 

What's better is QA Wolf offers test coverage at a significantly lower cost than trying to build, run, and maintain it in-house. They have multiple case studies of customers saving at least $200k/year in QA engineering and infrastructure costs. Schedule a demo to learn more.

PS: QA Wolf has a 4.8/5 🌟rating on G2 

Learn more


IBM MQ -> RabbitMQ -> Kafka ->Pulsar: How do message queue architectures evolve?

graphical user interface

Over to you: which message queues have you used?


What is a database? What are some common types of databases?

First off, what's a database? Think of it as a digital playground where we organize and store loads of information in a structured manner. Now, let's shake things up and look at the main types of databases.

diagram

Relational DB: Imagine it's like organizing data in neat tables. Think of it as the well-behaved sibling, keeping everything in order.

OLAP DB: Online Analytical Processing (OLAP) is a technology optimized for reporting and analysis purposes.

NoSQL DBs: These rebels have their own cool club, saying "No" to traditional SQL ways. NoSQL databases come in four exciting flavors:

Over to you: So, the next time you hear about databases, remember, it's a wild world out there - from orderly tables to rebellious NoSQL variants! Which one is your favorite? Share your thoughts!