The Backend Engineering Show with Hussein Nasser cover image

The Backend Engineering Show with Hussein Nasser

Latest episodes

undefined
Apr 28, 2022 • 42min

DNS is Beautiful

DNS or Domain Name System, despite its drawbacks, is brilliantly designed for scale. We can learn few lessons from this protocol especially when designing our own apps. This episode of the backend engineering show I go through how DNS works, the pros and the cons and attacks that happened on this system. 0:00 Intro 2:00 Overview DNS 7:40 How DNS works (Details) 15:44 DNS uses UDP 19:30 DNS Poisoning 24:10 is DNS really distributed? 26:30 How Attackers Abuse DNS 30:30 How Chrome overloaded the ROOT servers for 12 years Resources https://blog.apnic.net/2020/08/21/chromiums-impact-on-root-dns-traffic/ https://www.cloudflare.com/learning/dns/what-is-dns/ https://www.cloudflare.com/learning/dns/dns-cache-poisoning/ https://blog.cloudflare.com/sad-dns-explained/ https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610 Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon) https://network.husseinnasser.com Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) https://database.husseinnasser.com Introduction to NGINX (link redirects to udemy with coupon) https://nginx.husseinnasser.com
undefined
Apr 24, 2022 • 27min

The Beauty of the Internet Protocol

In this episode of the backend engineering show we discuss the Internet Protocol. A beautiful, elegant protocol that made the Internet possible. We discuss why we need an IP address, how routing is done and how VPNs take advantage of the agnostic nature to encrypt traffic
undefined
Apr 15, 2022 • 21min

Caching is hard | The Backend Engineering Show

In this episode of the backend engineering show we discuss an article written by the Forem team illustarting a bug they recently fixed in their caching layers. They go into good level of details explaining the 3 levels of caching that they have. I go through this article in this episode and give my opinion at the end as to why we shouldn’t really cache unless we need to. Enjoy 0:00 Intro 1:00 Three level of caching summary 7:39 Edge Caching 8:30 Backend Rails Caching 10:30 Database Caching 15:00 Understand why you Cache Article https://dev.to/devteam/the-three-caches-of-forem-492p
undefined
Apr 10, 2022 • 26min

The Limitations of Today's SSDs | The Backend Engineering Show

Backend database applications relay on good storage systems for performance, durability and low latency. SSDs have been a great invention that changed the storage game compared to mechanical drives. However, SSDs came with their own sets of problems which can cause database reads and writes to plummet after a while. This episode discusses the current limitations of SSDs include garbage collection, wear leveling, over provisioning and how zoned name spaces “may” fix this. 0:00 Intro 1:40 Block 4:00 Logical Block Addressing 6:00 Flash Translation Layer 6:50 DRAM 8:50 Erase unit 11:11 Namespace 12:00 Summary 13:40 Garbage collection 16:49 Over provisioning 18:00 Write amplification 21:28 Wear leveling Resources https://www.guru3d.com/news-story/new-malware-bypasses-security-measures-by-using-ssd-over-provisioning.html https://www.snia.org/educational-library/zoned-namespaces-zns-ssds-disrupting-storage-industry-2020 https://www.youtube.com/watch?v=cbX3P56Jp0o&feature=emb_title
undefined
Mar 30, 2022 • 9min

Google thinks Linux is slow to reboot, so they patch it

Google linux boxes have over 16 NVMe SSD PCIe Express drives.When a shutdown signal is sent to linux, the OS iterate through each NVMe and send synchronous request to shutdown that takes 4.5 seconds. This adds up to over a minute to achieve a reboot. Google patches linux with asynchronous Shutdown APIs    Resources https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1316262-google-has-a-problem-with-linux-server-reboots-too-slow-due-to-too-many-nvme-drives  patch https://lore.kernel.org/lkml/20220328230008.3587975-1-tansuresh@google.com/  Sync vs async  https://www.youtube.com/results?search_query=asynchronous+vs+synchronous+hussein
undefined
Mar 29, 2022 • 26min

The cost of Hash tables | The Backend Engineering Show

Hash tables are effective for caching, database joins, sets to check if something is in a list and even load balancing, partitioning and sharding and many other applications. Most programming languages support hash tables. However they don’t come without their cost and limitations lets discuss this. 0:00 Intro 1:50 Arrays 3:50 CPU Cost (NUMA/M1 Ultra) 6:50 Hash Tables 10:00 Hash Join 16:00 Cost of Hash Tables 20:00 Remapping Cost Hash Tables 22:30 Consistent hashing
undefined
Mar 23, 2022 • 24min

Understanding Aggregate Functions Performance | The Backend Engineering Show

Aggregate functions like Count, max, min, avg performance really depends on how did you tune your database for that kind of workload. Let us discuss this. 0:00 Intro 1:22 SELECT COUNT(*) 4:30 SELECT AVG(A) 5:15 SELECT MAX(A) 8:00 Best case scenario 11:30 Clustering 14:00 Clustering Sequential Writes 17:19 Clustering Random Writes 20:30 Summary
undefined
Mar 22, 2022 • 6min

Why checking the URL won’t prevent all phishing attacks

99% of phishing attacks can be avoided by looking at the URL. However this secuirty researcher proves that not enough.   https://mrd0x.com/browser-in-the-browser-phishing-attack/
undefined
Mar 18, 2022 • 22min

Its always Microservices - The Spotify Outage Explained (March 8 2022)

On March 8 2022 Spotify and Discord experienced an outage latest 2-3 hours. The reason was a configuration on the xDS formats on Google Traffic Director. Let us discuss how this change caused the outage and what Spotify did to mitigate that outage without relying on Google restoring the service back up. Resources Spotify outage https://engineering.atspotify.com/2022/03/incident-report-spotify-outage-on-march-8/ Google Cloud outage https://status.cloud.google.com/incidents/LuGcJVjNTeC5Sb9pSJ9o Envoy xDS https://blog.envoyproxy.io/the-universal-data-plane-api-d15cec7a Microservices scaling with common sense https://www.youtube.com/watch?v=NsIeAV5aFLE CARDS 4:36 Miicros https://www.youtube.com/watch?v=NsIeAV5aFLE 9:30 Spotify Hermes https://www.youtube.com/watch?v=fMq3IpPE3TU&t=21s 0:00 Intro 2:00 Spotify Outage 3:30 Microservices 6:10 Service Discovery 10:00 Spotify Quick Workaround 12:15 Google Traffic Director Outage
undefined
Mar 7, 2022 • 16min

The Many Ways of DDoS | Russia-Ukraine Cyberwar

The Russia-Ukraine Cyberwar has reached a peak this past week. In this video I explain the multiple ways a Denial of Service attacks can happen and how to protect against them Intro 0:00 What is DOS? 1:00 Long running requests 1:42 Crash backend processes 3:30 Exhaust Max connections 4:25 Large response (web traffic) 5:42 Lots of requests 8:27 Complex request (Regex bug) 9:57 Prevention 12:27

Remember Everything You Learn from Podcasts

Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.
App store bannerPlay store banner