Designing a system architecture is always about making tradeoffs. Microservices resp. serverless architecture has a lot of benefits, but some drawbacks as well. One of them is testing. Testing serverless systems is hard. In this article I will discuss some practices which work for my project.
Based on my question on StackOverflow I did a bit investigation about how (likely) are Node.js functions called in AWS Lambda containers.
Implementing a SaaS as a multitenant system brings a lot of benefits. As usual, there are some tradeoffs, too. For example security becomes more complex. Let's take a look at possible approaches when implementing security in a multitenant architectrure.
In my previous article I showed how to build a simple RESTful microservice. For sake of simplicity I skipped some good practices for building REST APIs and I feel a bit guilty about that. I think that topic deserves its own article. And here we go... we take a look at the previous API and try to do things better.
How difficult is to properly implement the microservices design pattern in PHP? It will definitely need some thinking and maybe to leave some convince behind. At the end of the day we should have an autonomous loosely coupled service with all the benefits (and drawbacks) of microservices.
In this article we do a little walk-through of a development process of a small RESTful microservice in PHP and we take a look at some Domain-Driven Design (DDD) theory as well.
Queues and topics are standard communication channels in messaging systems.
How to use then in AWS, for example to implement the Competing Consumers pattern?
TypeScript application wants tests to be written in TypeScript as well, right?
There is a great library to achive this: jasmine-ts
But how to debug such tests within your IntelliJ IDE?
The library for boundary I/O streams brought the possibility to work with multiple stream written in a single stream.
But what if the stream continues further without containing any more sub-stream? In this case we can use the new released Stop Boundary Stream feature from the same library to ignore the rest of the stream after a boundary was reached.
It's nice to watch a process execution and kill frozen processes after timeout, but when a process is supplying data is not frozen even when it takes a long time.
Release 1.1.0 introduces a new process wrapper to send a heartbeat to reset the timeout explicitly or automatically with every read byte.