Copy
We’ve heard time and time again that debugging distributed systems is extremely difficult. Last week we got to experience the pain firsthandView in browser »
The New Stack Update

ISSUE 314: One Reason Distributed Debugging Is so Difficult

Talk Talk Talk

“For newer organizations, it’s easier to start with a microservices catalog sooner than later.”

What's Happening

First released in 2016, the Svelte web framework has steadily gained popularity as an alternative approach to building web applications, one that prides itself on being more intuitive (and less verbose) than the current framework du jour, Facebook’s React. You can say that it reaches back to the era before the web app — when desktop and server applications were compiled — to make the web app easier to develop and more enjoyable for users.

In this latest episode of The New Stack Makers podcast, we interview the creator of Svelte himself, Rich Harris. Harris started out not as a web developer, but as a journalist who created the framework to do immersive web journalism. So we were interested in that.

In addition to delving into history, we also discussed the current landscape of web frameworks, the web’s Document Object Model, the way React.js updates variables, the value of TypeScript, and the importance of SvelteKit. We also chatted about why Vercel, where Harris now works maintaining Svelte, wants to make a home for Svelte.

TNS Editor-in-Chief Joab Jackson hosted this conversation.

Svelte and the Future of Front-end Development

One Reason Distributed Debugging Is so Difficult

We’ve heard time and time again that debugging distributed systems is extremely difficult. Last week we got to experience the pain firsthand.

The problem showed up right in the heart of our production — by the editors who move our awesome posts through the WordPress system each day. Trying to open a new post, we instead were greeted with an Error 524 message. Or, sometimes the posts would load OK, but then not save, losing all of our changes. It was very frustrating and nearly brought our latest news of cloud native computing to a standstill.

Fortunately, our crack IT team swiftly diagnosed and fixed the problem (#BlessUp for a good IT team). The problem turned out not to have anything to do with WordPress itself! It actually came from the RSS feed for the site, one that picks up outside posts from our sponsors. Unlike the posts themselves, this RSS feed is not cached on Cloudflare. So our own lowly Apache Web server kept getting stuck waiting on the feed URLs, letting other requests languish in the queue. The IT team tried RSS feed URL caching on NGINX, but Apache started timing out even before the cache could be filled.

Soon, however, the issue was tracked down to a buggy RSS WordPress plugin.

“This plugin was supposed to only load the latest sponsor story, but it turned out to be interfering with the site's feed generation,” TNS Director of DevOps Vinay Shastry noted. The RSS feed fetching was quickly re-implemented without the WordPress plugin.

Diagnosing the problem proved to be tricky because the behavior was not reproducible in the dev environment, or while testing post-deployment. Perhaps an entry from the external sponsor feed had triggered the bug in the third-party plugin, Shastry surmised. We guess that perhaps it was some extended UTF character, or maybe an emoticon in a headline. Those always trip us up, somehow.

Anyway, all is well again, and our stream of awesome posts on cloud native computing continues unabated. But let’s stop and appreciate how data from a tangential third-party system can entirely trip a core production management system. In distributed computing, what causes a problem can be in a different place entirely than where the problem itself lies. And that is one of many reasons it can be hard to debug a distributed system.

Why Developers Should Experiment with the Fediverse

The “fediverse” is a group of federated websites and applications that interconnect with each other — it may represent the future of social media, so developers should take note now. TNS Senior Editor Richard MacManus delves into this topic with Darius Kazemi, an early adopter of the fediverse and a developer who actively uses decentralized technologies.

Critics of ‘Deceptive Design’ Push for a More Ethical UX

When he invented the web, Sir Tim Berners-Lee envisioned an open space where everyone could build together. But the platform has attracted many with ill intent, using successful design patterns to trick people into signing up for subscriptions, giving away personal info, and even buying things. TNS U.K. correspondent Jennifer Riggins explores this nefarious world of Deceptive Design.

A New Architecture for APIs

API design could take some pointers from the world of decades-old database design, argues StepZen CEO and founder Anant Jhingran in this sponsored contributed post. For one, APIs should be declarative, meaning they should describe what is needed, not how to get it. Secondly, they must be federated, allowing a single API call to draw from multiple sources.

On The Road
MAY 17 // VALENCIA, SPAIN @ KUBECON / FERIA VALENCIA AUDITORIUM 3A Tapas Tuesday @ KubeCon EU 2022

MAY 17 // VALENCIA, SPAIN @ KUBECON / FERIA VALENCIA AUDITORIUM 3A

Tapas Tuesday @ KubeCon EU 2022

K8s after the Honeymoon: It’s Complicated. Join us for some delicious food and drink and a panel discussion covering the promise of K8s but also engage in a bit of “group therapy” talking about the hard realities of today. Register for KubeCon EU today!

JUNE 07-09 // NEW YORK, NY @ JAVITS CENTER MongoDB World 2022

JUNE 07-09 // NEW YORK, NY @ JAVITS CENTER

MongoDB World 2022

Join us for announcement-packed keynotes, hands-on workshops, and deep-dive technical sessions giving the tools needed to build and deploy mission-critical apps at scale. Register today!

Copyright © 2022 The New Stack, All rights reserved.


Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list

Email Marketing Powered by Mailchimp