Tomas Tulka's Blog

Random thoughts about programming and other stuff.


Testing Serverless Systems

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.

How AWS Lambda Executes Node.js Functions

Based on my question on StackOverflow I did a bit investigation about how (likely) are Node.js functions called in AWS Lambda containers.

Secure Communication between Services in Multitenant Systems

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.

Multiple LDAP Servers Integration

When an administative solution (like Global Catalog) is not possible or wanted and we have to integrate more LDAP servers under one hood there is a simple way how to do it with MyVirtualDirectory.

Building a simple REST API

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.

PHP Restful API Microservices

How difficult is to properly implement the microservices design pattern in PHP?

Meaning of Queues and Topics in AWS

Queues and topics are standard communication channels in messaging systems. How to use then in AWS, for example to implement the Competing Consumers pattern?

Debugging jasmine-ts in IntelliJ IDE

TypeScript application wants tests to be written in TypeScript as well, right?

Stop Boundary I/O Streams Released!

What if the stream continues further without containing any 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.

Process Watch Dog with Heartbeat Released!

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.