
The Backend Engineering Show with 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
Latest episodes

Sep 13, 2020 • 6min
Another Unsecured ElasticSearch Cluster Exposed with 900GB worth of private data, let us discuss
It seems like these incidents are very common and not sure why ElasticSearch in particular. Let us discuss https://www.zdnet.com/article/leaky-server-exposes-users-of-dating-site-network/

Sep 13, 2020 • 27min
How I deal with Stress and being Overwhelmed during the Pandemic as a Software Engineer and a Content Creator
Some of you asked me how to deal with stress at my work and my content creation here on YouTube I share my thoughts with you
Intro 0:00
Stress from Work 2:40
Feeling down with no clear reason 7:13
Feeling anxious overwhelmed with stuff to learn 14:55
Pandemic 21:14

Sep 12, 2020 • 42min
Unimog - Cloudflare’s edge load balancer has blown me away, let us discuss
Unimog is a layer 4 load balancer built for Cloudflare scale. Cloudflare has written a great blog about it so let us discuss this technology. Video: https://youtu.be/Q0irm6xzNNk
Resources
https://blog.cloudflare.com/unimog-cloudflares-edge-load-balancer/
0:00 Intro
3:33 Layer 4 vs Layer 7 Load Balancers
7:00 Anycast
13:45 Packet Forwarding
23:30 XDP and Network stack
26:45 Maintaining established connection
31:00 Edge Computing
32:00 UDP Routing
33:00 Unimog Summary
34:00 Open Source Software
36:00 K8 Rant
40:00 Conclusion
Cards
6:30 L4 vs L7 proxying https://www.youtube.com/watch?v=aKMLgFVxZYk
12:30 vip https://www.youtube.com/watch?v=85XY7H2JPbs
13:30 tcp handshake https://www.youtube.com/watch?v=bW_BILl7n0Y&t=5s

Sep 11, 2020 • 20min
WOW! h2c Smuggling is a serious flaw and very easy to execute, Let us discuss this
Jake Miller a security researcher discovered a serious flaw in proxies that allow h2c clear text upgrade and bypass proxy rules. Let us discuss
Thanks to @Textras for sending this article!
https://twitter.com/thebumblesec/status/1303305853525725184?s=21
https://labs.bishopfox.com/tech-blog/h2c-smuggling-request-smuggling-via-http/2-cleartext-h2c?hs_amp=true

Sep 9, 2020 • 21min
Kafka Consumer Group is a Brilliant Design Choice and We should Discuss it
Apache Kafka is an interesting software, every design decision the team makes perfect sense. I decided to dive deep into the discussion of the consumer group concept which is underrated and talk more about it.
0:00 Intro
1:24 Messaging Systems Explained
3:30 Partitioning
4:30 Pub/Sub vs Queue
6:55 Consumer Group
10:00 Parallelism in Consumer Group
10:30 Partition awareness in Consumer Group
11:30 Achieving Pub/Sub with Consumer Group
14:00 Head of Line blocking in Kafka

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