Anton Podviaznikov


Error-Handling in Event-Based Systems

Different architectures and patterns are all about different tradeoffs. More specifically, they’re about transferring and transforming complexity from one place to another, and from one type into another. The same is of course true about the event-driven architecture that we use here at Runnable.

Let’s dive into where event-driven architecture reduces complexity and where it makes things more difficult. Warning: lots of code ahead.

Keep reading
The Versatility of Docker Compose

According to the official documentation, Docker Compose is, “a tool for defining and running multi-container Docker applications.” However, I think one important detail is missing. Compose can also build your multi-container Docker applications.
What is interesting is that Compose build and run functionality can be used completely independently. It isn’t opinionated, allowing it to be used it for different use cases and setups.
I’m going to show you some of those use cases and how Compose can be beneficial in pretty much every setup.

Keep reading
Lessons Learned While Building Microservices, Part I

The microservices architecture, like any solution, has its tradeoffs. Most have heard the main talking points — the decoupling of components, faster and more frequent deployments, and improved fault tolerance. Over the past couple of years, I’ve observed these first-hand, along with other subtle advantages of the microservices architecture.

Keep reading
Blueprint Architecture for Managing Static Sites

I see Runnable as a very versatile, and therefore powerful, tool. It enables teams to deploy and run code on every commit. The concept sounds simple, but it lights up a vast number of not-so-obvious use cases.

For example, here’s how Runnable can be added to an existing revision workflow for static sites / blogs to improve how updates can be made.

Keep reading