Serverless Architecture: Hype vs. Reality with Bill Wanjohi

Serverless Architecture: Hype vs. Reality with Bill Wanjohi

Jerome Goodrich

April 27, 2023

These days it seems like everyone’s walking around with their head in a cloud.

On-prem hardware has an almost antiquated feel, while serverless options promise reduced cost, greater scalability, and increased team productivity. But is that really the case? And beyond the tradeoffs, what assumptions get baked into these tools that might create additional challenges?

In this episode, I spoke with Bill Wanjohi, principal crafter at 8th Light, who brings deep experience in web services, relational databases, batch data processing pipelines, and the support systems needed to deploy, maintain, and secure them. In other words, he has a ton of experience helping organizations manage the tradeoffs of different approaches to server management; and throughout the conversation his insights helped expose why certain solutions emerge, and how teams can keep digging into the underlying issues to build a solid foundation.

As the ecosystem around serverless has matured, standardized tools like virtual private servers have propelled the entire industry forward. Here are some excerpts from my conversation with Bill that help illuminate the changes.

The advent of EC2 was a huge step forward in having a programmable interface for all decisions around hardware. Now, everything that I decide about my infrastructure can be repeatable and loggable... These services, as they mature, give us things like networking and storage and monitoring in arguably easier ways than we could do them before. So it's a ton of different benefits. I really think the virtual private server is just a technology marvel.
Bill Wanjohi, Principal Crafter

Docker is another example of a tool that has gained wide adoption because it’s a leap forward for developers contributing to large and complex systems.

I really do feel that Docker containers were as big of a hit as they were, primarily because they solved the problem of environment portability. The ability for anybody who's ever written a bash script to create a definition for a Linux environment, and then to run that anywhere, was just a great leap forward.
Bill Wanjohi, Principal Crafter

But the leaps forward driven by virtual private servers, like Docker, have also led to logistical nightmares of runaway complexity, and teams can end up losing some control over foundational pieces of their infrastructure.

By relying on serverless for something that we have performance criteria for, that our service provider is not giving us, we have to manage this kind of spectral machine by just poking and prodding at this supposedly simple interface until it does the thing that we want it to do. And maybe it goes away tomorrow because they actually just shift the way the thing is managed. Some of our listeners will be thinking a lot about [Large Language Models] LLMs. Maybe that's how all of our jobs will be working in the future, right? We’ll just be kind of sending hints to the computer, and then eventually maybe it gives us something close to our parameters, and maybe tomorrow it won't. But in architecture we like to have a little bit more of a solid foundation. We want guarantees that I think pure serverless can take us away from.
Bill Wanjohi, Principal Crafter

As the serverless ecosystem continues snowballing in complexity — and as new tools continue abstracting us further away from the core underlying challenges — teams risk losing the productivity gains that serverless originally promised. In the end, Bill thinks that means good things for Containers as a Service.

We started out just saying like, “You can write Python and really just concern yourself with your business case.” And now everybody on the team is an infrastructure engineer. They’ve gotta figure out how to connect to all these databases via I don't know … It's just a lot. And so I think that the reason the Containers as a Service is gonna win is — yeah, maybe it's a little bit more heavyweight, but it's something that is more reproducible in a local context. It's something that we can tune to the performance that we want directly, just by purchasing more of it.”
Bill Wanjohi, Principal Crafter

Regardless of its limitations, serverless has an air of inevitability. Professionals and consultants can lean into this trend by using these buzzwords as opportunities to dive deeper into challenges, and help teams craft more creative solutions.

The world is not stopping, for sure. As professionals, we need to be up on even the less-favored versions of serverless. We need to think about and understand it to properly evaluate it. And if people are excited about these technologies, we have to figure out what it is that they are hoping for, and figure out if this is the thing that's gonna give them that. Rather than just saying, “Let's just go with tried and true.” Because they have a need. They have a need that we should use creativity to solve. The problem is that sometimes they don't have the language to communicate that need, so we've gotta pick around the problem and figure out, okay, based on what you're excited about, what is that underlying need and how can we serve it?
Bill Wanjohi, Principal Crafter

SUBSCRIBE TO COLLABORATIVE CRAFT

You can listen to Collaborative Craft via Apple Podcasts, Google Podcasts, Spotify, or wherever you get your podcasts. Don’t forget to subscribe to receive notifications of the latest episodes. And if you enjoy what you’re hearing, please consider leaving a review in Apple Podcasts. It really helps others find the show.

This podcast was produced in partnership with Dante32.

Jerome Goodrich

Principal Crafter

Jerome Goodrich leads amazing software teams to design and develop thoughtful solutions to complex problems as a principal software crafter at 8th Light. He loves pairing strenuous hikes with deep conversations and is always trying to see things clearly and with an open heart. Jerome lives much of his life off of the internet, but he occasionally writes on his website.