

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

Mar 15, 2020 • 12min
Episode 137 - Active-Active vs Active-Passive Cluster Pros and Cons
In this video I want to talk over the active active active vs active passive cluster configuration for high availability. We will also explain the pros & cons of using an active-active cluster vs using an active-passive cluster.

Mar 8, 2020 • 27min
Episode 136 - Sidecar Proxy (Pros and Cons)
A sidecar proxy is an application design pattern which abstracts certain networking features, such as inter-service communications, monitoring and security, timeouts, retries, communication protocols, away from the main architecture to ease the maintenance of the application as a whole.
In this video I’d like to talk about how we classically do things:
Library Pattern
getComments HTTP1:1/JSON
Add features retries/timeout /hardcode the server name what it changed/add new server to load balance between them/credentials
Sidecar pattern
getComments HTTP/2
Sidecar proxy/container
Examples
Microservices (Linkerd, Envoy, Istio)
Pros
Language agnostic (polyglot)
Protocol upgrade
Security
Tracing and Monitoring
Service Discovery
Caching
Cons
Complexity
Latency
SideCar Proxy must be layer 7
Library 2:25
Sidecar: 7:40
Example: 13:00 (https://www.youtube.com/watch?v=cp3Ku1XeOn8)
Pros & Cons : 16:15
Cards
6:22 HTTP/2
10;50 Reverse Proxy / proxy
example 13:00 (https://www.youtube.com/watch?v=cp3Ku1XeOn8)
16:00 Layer 4 vs Layer 7 load balancer

Mar 5, 2020 • 7min
Episode 135 - mySQL 8.0 has a new feature called Atomic DDL and it is not what you think
MySQL 8.0 supports atomic Data Definition Language (DDL) statements. This feature is referred to as atomic DDL. An atomic DDL statement combines the data dictionary updates, storage engine operations, and binary log writes associated with a DDL operation into a single, atomic transaction. The transaction is either committed, with applicable changes persisted to the data dictionary, storage engine, and binary log, or is rolled back, even if the server halts during the operation.
I discuss mySQL 8.0 atomic ddl compared to Postgres transactional ddl

Feb 29, 2020 • 1h 20min
Episode 134 - gRPC
gRPC (gRPC Remote Procedure Calls[1]) is an open source remote procedure call (RPC) system initially developed at Google in 2015[2]. It uses HTTP/2 for transport, Protocol Buffers as the message format.
In this video I want to explore gRPC, go through examples, pros and cons of gRPC.
Client/ Server communication
SOAP
HTTP (REST)
WebSockets
Client Libraries
gRPC
gRPC Demo
todos
gRPC Pros and Cons
Pros
Fast two/uni and request
Unform
One library to rule them all
Progress feedback( long synchronous requests) drop pluggable wait...)
cancel request
All benefits of H2 and Protobuff
Cons
schema based (not everyone wants schema)
Thick client - limited languages - Proxies still don’t understand it
Still young
Error handling
No native browser support
Timeouts, circuit breaker just like any RPC (pub/sub rules in this case)
Can you create your own protocol?
Spotify example with Hermes

Feb 26, 2020 • 5min
Episode 133 - Firefox fixes a bug that prevented users from signing into the Royal Bank of Canada (73.1)
Firefox version 73.1 fixes a bug that prevented users from signing into Royal Canadian Bank (Firefox fixed a bug that prevented Canadians from signing in to their bank royal Canadian bank) what caused it? Lets get into it
* Users will sign in and will get blank page.
* Cause Beacon API and HTTP/2
* Bug has been there forever
Sources
https://bugzilla.mozilla.org/show_bug.cgi?id=1613943#c16 🏭 Software Architecture Videos

Feb 23, 2020 • 13min
Episode 132 - Optional Chaining and nullish coalescing coming to Javascript, how useful are they and when can you use them?
Some cool new features are coming to the Javascript language namely Optional chaining and nullish coalescing how useful are they? lets discuss
So Optional chaining and nullish coalescing are coming to the Javascript language. I think it is already in the Javascript Engines (V8, SpiderMonkey, JavascriptCore and Chakra) which will be picked up by other clients such as browsers, node js , dino other stuff .. Cool stuff lets get into it.
Show them (chrome devtools)
Where is it available?
Node JS not yet (13.9 V7.9) (https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V13.md#13.9.0)
Resources
V8 release v8.0 · V8
Optional Chaining
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining
Nullish coalescing
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator

Feb 17, 2020 • 13min
Episode 131 - Firefox deprecates support for TLS 1.0 and 1.1 ( THIS IS GREAT! BUT .... )
We are one step closer to a more secure web. Firefox disabled TLS 1.0 1.1 It’s a big change that I am very happy about but not everyone is. Let's discuss .
Resources
https://hacks.mozilla.org/2020/02/its-the-boot-for-tls-1-0-and-tls-1-1/
https://www.openssl.org/~bodo/ssl-poodle.pdf
Firefox disabled TLS 1.0 1.1 It’s a big change that I am very happy about but not everyone is. Lets discuss
Resources
https://hacks.mozilla.org/2020/02/its-the-boot-for-tls-1-0-and-tls-1-1/
https://www.openssl.org/~bodo/ssl-poodle.pdf

Feb 11, 2020 • 9min
Episode 130 - Envoy fixes a critical security bug related to HTTP headers with whitespaces
Google engineer Alyssa Wilk discovers a critical security bug related to whitespaces in header values. Envoy and Node JS fix this by releasing a security patch. let us discuss it.
tags: envoy, envoy proxy, envoy security, envoy proxy whitespace, Alyssa Wilk

Feb 9, 2020 • 12min
Episode 129 - Node JS Releases a Fix for an HTTP Request Smuggling Vulnerability
Node JS Releases a Fix for an HTTP Request Smuggling Vulnerability, we discuss the attack and the fix in detail.

Feb 9, 2020 • 8min
Episode 128 - Google blocks Embedded browsers sign ins to avoid MITM phishing attacks
In April 2019 Google blocked sign-ins from Embedded Browsers to avoid man in the middle phishing attacks. In this video, we discuss why.
https://security.googleblog.com/2019/04/better-protection-against-man-in-middle.html?m=1


