The Delivery Newsletter #54
#54 SEP 2, 2020
The Delivery Newsletter

Then he asked me "Is Kubernetes right for us?"

Spoilers ahead:

I don't believe that Kubernetes is the destination for all users. You can start to leverage the benefits of the cloud just by lifting & shifting existing code to managed compute services.

I love how this article focuses on incremental options that start with your current position in a cloud-native spectrum.

Graceful shutdown and zero downtime deployments in Kubernetes

To maintain balance, I'll follow up on the previous link with something more pro-k8s 🙂 The post starts with a thorough introduction to Pod creation and destruction. Then you'll learn about receiving the SIGTERM in your application's code, waiting, and beginning to close connections after ~15 seconds.

How Shopify Reduced Storefront Response Times with a Rewrite

They say, "never do a rewrite" . As the folks at Shopify point out though, sometimes you have to do just that. The Shopify team set up crucial scaffolding around their endeavour. They built a "verifier" to compare responses from the new and legacy storefronts. With continuous integration checking like this, the team prevented a grand unveiling of the new implementation.

Different versions of your site can be running at the same time

Continuous delivery, an outstanding practice, still has its risks. Jake Archibald outlines an issue that arises with frequently-deployed web apps:

But if you're updating your site multiple times a day, that increases the chance that the version on the server won't match the version in the user's tab. It also increases the chance that the user may have multiple versions running in different tabs.

Are you prepared for multiple versions of your site running at once?

🔊 Podcasts

Michael Geers on Micro Frontends

Micro frontends seem like a great way to use Conway's Law in your favor. If services reflect team structure, align your team structure along a full-stack, vertical tier (one team has frontend, backend, and ops skills) rather than horizontal layers (one team has frontend skills, another team has backend skills, another team for ops).