It’s interesting to see how technology adoption cycles are repeating themselves for different technologies. One of such observations is how regular phone calls get through a security hardening similar to what email already got through. And the reason is exactly the same – spam. These days a lot of people employ some kind of calls…
Signs of memory pressure in Linux
The question of “is my Linux system has enough memory?” sounds easy on the surface. It’s surprisingly cumbersome to answer when you dig deeper. Yup, free -m is not even a half of the story and there are all kinds of signs of memory pressure in Linux. First of all there’s vm.overcommit_memory kernel setting which…
503 Backend Fetch Failed – WTF?
At high level “503 backend fetch failed” boils down to an HTTP protocol status code from the 5xx group. 5xx group consists of so called “server errors” which means that client’s request overall seem to be valid but server failed to fulfill it. Some common reasons for such behavior include: Some bug in the application…
When to use microservices?
This is a follow up to an earlier article on microservice architecture implementation principles. It was promised back then to get back to the question of “when to use microservices”. A bit of history The overall architecture pattern of microservices was successfully implemented in 2010-ish. That was an endeavor on the part of a few…
AWS Solutions Architect Professional – How it was
Earlier this summer (in June actually) I achieved my AWS Solutions Architect Professional certification (SAP-C01), yay! My overall AWS experience is more than 8 eight years at the moment of writing this, so my take on this initially was “pff, what is all the buzz about? That should be no problem for me!” Preparations Obviously…
Microservice Architecture Implementation Principles
Today on microservice architecture implementation principles. I intentionally don’t touch the topic of whether or not one should use microservice architecture for a particular project/company context in this article. That’s a big separate topic of its own and a story for another day. The following list consists of fundamental items which should be kept in…
Long-running transactions considered harmful
When working with ACID storages developers have a powerful tool at their disposal – transactions. Most RDBMS systems out there – think MySQL or PostgreSQL – are fundamentally ACID storages. Developers learn transactions as part of any basics course on RDBMSes. They seem pretty organic to underlying databases. One may get really surprised by the…
kswapd high cpu no swap issue with T instances on AWS
I’ve been working as the Head of SaaS at Binology for almost a year and a half already. One of my core responsibilities is planning & executing company workflows in the cloud in a cost-effective manner. We use the AWS cloud and Docker is our primary delivery method for apps we run. Both vendors are…