

The Backend Engineering Show with Hussein Nasser
Hussein Nasser
Welcome to the Backend Engineering Show podcast with your host Hussein Nasser. If you like software engineering you’ve come to the right place. I discuss all sorts of software engineering technologies and news with specific focus on the backend. All opinions are my own.
Most of my content in the podcast is an audio version of videos I post on my youtube channel here http://www.youtube.com/c/HusseinNasser-software-engineering
Buy me a coffee
https://www.buymeacoffee.com/hnasr
🧑🏫 Courses I Teach
https://husseinnasser.com/courses
Most of my content in the podcast is an audio version of videos I post on my youtube channel here http://www.youtube.com/c/HusseinNasser-software-engineering
Buy me a coffee
https://www.buymeacoffee.com/hnasr
🧑🏫 Courses I Teach
https://husseinnasser.com/courses
Episodes
Mentioned books

Sep 7, 2020 • 20min
Is there a Limit to Number TCP Connections a Backend can handle?
Someone asked me a question and I felt its interesting to make a video about, is there a limit to the maximum number of TCP connections a Client can make to the server? If there is what is it? and how does that make sense in all the configurations?
0:00 Intro
1:00 Is there a Max Connection Limit?
4:30 64K Connection Limit Explained
7:20 Max Connections on Reverse Proxies and Max Connections
14:30 How does Router get around Max Connections?
7:00 3 million whatsapp https://www.youtube.com/watch?v=vQ5o4wPvUXg
10:25 envoy https://www.youtube.com/watch?v=40gKzHQWgP0&
12:50 google https://www.youtube.com/watch?v=CUiBVTcgvBU
14:00 Active Active https://www.youtube.com/watch?v=d-Bfi5qywFo

Sep 6, 2020 • 31min
Doordash moves their Backend to Apache Kafka from RabbitMQ, VERY interesting! Let us discuss it!
Doordash the food delivery service has built an asynchronous task processing backend with Celery and RabbitMQ. They are having lots of outages and problems. Let us discuss how they solved their problem by moving to Apache Kafka.
Very well written article.
Resource
https://doordash.engineering/2020/09/03/eliminating-task-processing-outages-with-kafka/
https://www.rabbitmq.com/connections.html#high-connection-churn

Sep 6, 2020 • 8min
Why Application-Layer Protocol Negotiation is Critical for HTTP/2 Backends
Application-Layer Protocol Negotiation (ALPN) is a Transport Layer Security (TLS) extension that allows the application layer to negotiate which protocol should be performed over a secure connection in a manner that avoids additional round trips and which is independent of the application-layer protocols. It is needed by secure HTTP/2 connections, which improves the compression of web pages and reduces their latency compared to HTTP/1.x. The ALPN and HTTP/2 standards emerged from development work done by Google on the now withdrawn SPDY protocol.
https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation
1:30 TCP Handshake
1:40 TLS

Sep 5, 2020 • 21min
When to use UDP vs TCP in Building a Backend Application?
In this video I explain when to use TCP vs UDP as a communication protocol on your backend app. I go through the advantages and disadvantages of UDP I also discuss the protocol within the context of Chatting System, Multiplayer game, and building a browser and a web server 0:00 Intro 2:00 UDP 3:00 TCP 6:00 UDP vs TCP for Building a Chatting System 9:20 UDP vs TCP for Building a Multiplayer game 15:30 UDP vs TCP for Building a Browser and WebServer 19:11 Summary

Sep 4, 2020 • 18min
Your Backend Might not Be Ready for HTTP/2 - Watch This Before Implementing it
HTTP/2 is a protocol that allows multiplexing which can be very beneficial however HTTP/2 is not always cheap and might not be a good choice for your backend.
* Intro 0:00
* What is HTTP/2 ? 1:30
* HTTP/2 Pros 5:10
* HTTP/2 Advantages on Browsers 5:30
* HTTP/2 Advantages on Reverse Proxy Connection Pooling 9:20
* HTTP/2 Problem 11:00
Google Talk https://www.youtube.com/watch?v=xxN4FfwaANk

4 snips
Aug 31, 2020 • 1h 13min
Envoy Proxy Crash Course, Architecture, L7 & L4 Proxying, HTTP/2, Enabling TLS 1.2/1.3 and more
Dive into the fascinating world of Envoy Proxy, originally crafted at Lyft to enhance microservices communication. Discover its layered architecture, including how it manages different proxying layers. Learn about configuring TLS 1.2 and 1.3 for security and the benefits of HTTP/2. Explore practical optimizations, connection pools, and the art of blocking specific requests. The discussions also touch on Envoy's capabilities compared to other solutions, making this a treasure trove for backend enthusiasts.

Aug 29, 2020 • 7min
I finished Researching Envoy Proxy here is what I think, Let us Discuss
Envoy Proxy is an L3/L4 Proxy that is designed to be service mesh, In this video, I discuss my initial thoughts about the product, design choices, and much more. The actual full video on Envoy will be coming soon stay tuned.

Aug 28, 2020 • 7min
Postgres Vacuum Explained
In this video, I explain Postgres Vacuum while I walk my dog.

Aug 27, 2020 • 16min
Cloudflare fixes a HUGE limitation in HTTP/2 implementation of NGINX - This should be ported to all proxies
Cloudflare is doing fantastic job to the web community security and backend engineering. This latest fix is awesome it is the ability to auto-tune window size buffer when it comes to uploading HTTP/2 traffic.
Article
https://blog.cloudflare.com/delivering-http-2-upload-speed-improvements/
4:15 slow tcp start https://www.youtube.com/watch?v=rgPcxg8gjho&t=1s
5:40 HTTP crash course https://www.youtube.com/watch?v=0OrmKCB0UrQ&t=4s
6:20 TCP crash course https://www.youtube.com/watch?v=qqRYkcta6IE
12:20 Bandwidth bideo https://www.youtube.com/watch?v=6Tf80mbhyAQ

Aug 27, 2020 • 12min
A SameSite Cookie Exception was made to avoid Redirect Loop in Single Sign On (SSO) Let us Discuss
SameSite Cookie Lax is interesting and we are finding new exceptions everyday. Let us discuss this one where lax cookies will be sent on POST request as long as the cookies are fresh (2 minutes)
Resources
https://www.chromestatus.com/feature/5088147346030592


