The Stack Overflow Podcast - Building out a managed Kubernetes service is a bigger job than you think

You may be running your code in containers. You might even have taken the plunge and orchestrated it all with YAML code through Kubernetes. But infrastructure as code becomes a whole new level of complicated when setting up a managed Kubernetes service. 

On this sponsored episode of the Stack Overflow podcast, Ben and Ryan talk with David Dymko and Walt Ribeiro of Vultr about what they went through to build their managed Kubernetes service as a cloud offering. It was a journey that ended not just with a managed K8s service, but also with a wealth of additional tooling, upgrades, and open sourcing. 

When building out a Kubernetes implementation, you can abstract away some of the complexity, especially if you use some of the more popular tools like Kubeadm or Kubespray. But when using a managed service, you want to be able to focus on your workloads and only your workloads, which means taking away the control plane. The user doesn’t need to care about the underlying infrastructure, but for those designing it, the missing control plane opens a whole heap of trouble. 

Once you remove this abstraction, your cloud cluster is treated as a single solid compute. But then how do you do upgrades? How do you maintain x509 certifications for HTTPS calls? How do you get metrics? Without the control plane, Vultr needed to communicate to their Kubernetes worker nodes through the API. And wouldn’t you know it: the API isn’t all that well-documented. 

They took it back to bare necessities, the MVP feature set of their K8s cloud service. They’d need the Cloud Controller Manager (CCM) and the Container Storage Interface (CSI) as core components to have Vultr be a first-class citizen on a Kubernetes cluster. They built a Go client to interface using those components and figured, hey, why not open-source this? That led to a few other open-source projects, like a Terraform integration and a command-line interface. 

This was the start of a two-year journey connecting all the dots that this project required. They needed a managed load balancer that could work without the control plane or any of the tools that interfaced with it. They built it. They needed a quality-of-life update to their API to catch up with everything that today’s developer expects: modern CRUD actions, REST best practices, and pagination. All the while, they kept listening to their customers to make sure they didn’t stray too far from the original product. 

To see the results of their journey, listen to the podcast and check out Vultr.com for all of their cloud offerings, available in 25 locations worldwide.

The Stack Overflow Podcast - Open-source is winning over developers and investors

Supabase, the open-source database-as-a-service company, raised $80 million in Series B funding in a round led by Felicis Ventures. In case you were wondering: YYes, the company is named for the Nicki Minaj song!.

Today in tech recs: Cassidy recommends budgeting app Lunch Money for everything from crypto to cash. Matt recommends Magnet for window management.

Today’s Lifeboat badge goes to user dfrib for their answer to Error "nil requires a contextual type" using Swift.

The Stack Overflow Podcast - Software is adopted, not sold

Ian and Corey met at Microsoft, where they built Microsoft Office Business Scorecard Manager 2005 (which boasted its own CD-ROM).

They went on to found Mattermost in 2016 to give developers one platform for collaborating across tools and teams.

Ian, who previously founded the game company SpinPunch, calls Mattermost “yet another of those video game companies turned B2B software companies,” like Slack and Discord. Says Ian: “Games are all the risk of a movie plus all the complexity of a B2B SaaS product.”

Today’s Lifeboat badge goes to user Diogo for their answer to How can I call functions from one .cpp file in another .cpp file?.

Connect with Ian on LinkedIn.

Connect with Corey on LinkedIn.

The Stack Overflow Podcast - Feeling burned out? You’re not the only one.

Check out a manager’s toolkit for preventing burnout put together by Gitlab 

Cassidy once asked Stephen Colbert for his favorite website. His answer may surprise you.

Today in tech recs: Pokémon GO (for extra motivation to get outside) and the Apple Watch activity tracker (to track activity and remind you to move around). Jon recommends that you not get a treadmill desk. 

Today’s Lifeboat badge goes to user JLRishe for their answer to Error "TypeError: $(...).children is not a function".

Follow Jon on LinkedIn or Twitter.

The Stack Overflow Podcast - What counts as art, anyway?

Stack Overflow’s 2019 Developer Survey found that respondents overwhelmingly considered Elon Musk to be the person with the greatest influence on technology. Now that Musk is taking over Twitter, it’s safe to say that influence will increase.

James Stanier, engineering director at Shopify, has some thoughts on one of our perennial topics: transitioning from IC to manager. He’s proposed a 90-day trial period for IC engineers moving into management roles. Listen to Stanier on the Dev Interrupted podcast.

Ben talks up Samsung’s The Frame, which lets you display your favorite NFT or old-fashioned art when you’re not using it as a TV. Because who wants to look at a blank screen?

Cassidy recommends Adam Grant’s book Think Again: The Power of Knowing What You Don’t Know and Matt recommends an LG C1 TV for folks in the market for a stunning gaming experience.

Today’s Lifeboat badge goes to user Drew Reese for their answer to Deprecation notice: ReactDOM.render is no longer supported in React 18.

The Stack Overflow Podcast - Would you trust an AI to be your eyes?

The crew has complicated feelings about products like Apple’s augmented reality glasses and Google Glass. Ceora put it best: “I'm very cautious about any big tech company having any more access to my perception of reality.” 

On the other hand, products like Envision smart glasses that help visually-impaired people navigate their environments exemplify how AR technology can enable accessibility and empower users.

Speaking of different perceptions of reality, New York mayor Eric Adams dusts off that old chestnut about how remote workers “can’t stay home in your pajamas all day.” (Watch us.)

Matt recommends Oh My Git!, an open-source game that teaches Git. Ceora recommends Popsy, which allows you to turn your Notion pages into a website for free.

And some recommended reading: How to make the most out of a mentoring relationship from the GitHub blog and How to use the STAR method to ace your job interview from The Muse.

Today’s Lifeboat badge goes to user metadept for their answer to Generate a two-digit positive random number in JavaScript.

Find Adam on LinkedIn here.

The Stack Overflow Podcast - Meet the design system that lets us customize and theme Stack Overflow

If you’re not familiar with Stacks, Stack Overflow’s design system, it’s a robust CSS and JavaScript Pattern library that helps users create coherent experiences in line with Stack Overflow’s best practices and design principles. Explore more on Netlify or GitHub.

Missed our April Fool’s prank this year? Relive the hilarity and the pain.

Atomic CSS is a CSS architecture approach favoring single-purpose classes named based on visual function.

Today’s Lifeboat badge goes to user ceejayoz for their answer to How do I do a database backup on Amazon RDS every hour?.

Connect with Ben Kelley.

Learn more about Aaron Shekey’s work.

The Stack Overflow Podcast - How a college extra-credit project became PHP3, still the bedrock of the web

A high school class on Pascal launched Andi’s interest in programming (starting on an Apple IIc).

Andi was bored with his university studies and took on an extra-credit programming project that turned into PHP3, the version that built a million websites.

PHP gets a lot of hate, and we have two theories about why. First, it’s primarily brownfield development, and we all know that hell is other people’s code. Second, it democratized development—a great thing in many ways - that nevertheless led to a lot of less than professional code making it’s way to production.

Andi cofounded Zend Technologies to oversee PHP advances and served as CEO from 2009 until the company’s acquisition in 2015. After Zend Technology, Andi became one of what he jokes was “five folks in a garage” building a new graph database for Amazon.

Now, at Google, Andi runs the operational database for Google Cloud Platform, including managed third parties and cloud-native databases Spanner, Bigtable, and Firestore.

His background in programming makes Andi sensitive to the importance of prioritizing developer experience: “the number-one person using our services are our developers. And so we need to make [our technology] super-productive and simple and easy and fun for developers to use.”

Connect with Andi on LinkedIn.

The Stack Overflow Podcast - What’s the average tenure of a software developer at a big tech company?

Average tenure at Google has been reported at 1.1 years,  which stands in contrast to a broader average of 4.2 years for software developers across the board.

Tech jobs at many so called titans and disrupters last less than two years, according to research from Dice.

Uber is forging an unlikely alliance with two taxi tech firms.

The ultimate chron job - ensuring users can access a chronological feed on their favorite social media without sacrificing your recommendation algorithm's potency or data. 

Our lifeboat badge of the week goes to alkber, who explained how to convert seconds to minutes, hours and days in Java