Docker & Java
Written by: Marcel Koert B.S.E.E. | Posted on: | Category:

Java 8/11 and Docker can get along and get along well with a little care even when cgroups put their hand in it: let's see together how to tame the old dear JVM 8.

The backend development in recent years has changed radically for those who let themselves be fascinated and involved by Docker and everything that revolves around him. For many, first of all, it has greatly simplified not only the method of access and interaction with the systems around the application that we are developing, such as the database or the queue broker, but above all it has made it possible to make it simpler and finally within reach writing and maintaining integration tests (as we had already seen). This wave has come to invest also the deployment unit : if before you deployed EAR, WAR or JAR executables, now you deploy Docker images ! If much has changed around our code, however, the latter has remained fairly firm, almost behind. In fact, the jump from Java 8 to later versions (which are now running!) ...

Written by: Marcel Koert B.S.E.E. | Posted on: | Category:


Setting you timeout values in a chain is a goldilocks problem. You will need to find just the right settings that work for your chain. I will try to go through the 3 situations that I can think of. The first 2 are not good and the third is the best solution.

The Chain For this explanation, I will be using the following chain of 4 APIs the last API calls a database and a consumer of the chain: Slide1.jpg

The Consumer calls API 1 , API 1 calls API 2 and after API 2 has answered API 1 will call API 3 and then API 3 will call API 4. After the API 3 gets its info from a database and answers to API 2 and API 2 answered to API 1, API 1 will answer the consumer of the chain. This in a normal working chain should, depending on what the APIs do, 500-700 milliseconds.

The consumer has said it wants ...

Written by: Marcel Koert B.S.E.E. | Posted on: | Category:


In two of my previous blogs I talked about what AIOPS can do for you. Now I would like to talk to you about what AIOPS tooling needs to have to be as useful as possible.

Requirements for the AIOPS tools

• Ingesting data from multiple sources. • Analytics on real time data on the moment of ingestion. • Historical analysis of stored data. • Provide access to the data. • Storing the acquired data. • Use machine learning to analyse the data. • Being able to take action on result of analysis. • Large set of integration options.

Questions & Considerations


Ingesting data from multiple sources.

You will need to look at your data creating streams. Where is your data located and can the tool ingest this data from all those resources? Do not just think of logging ...

rate limiting
Written by: Marcel Koert B.S.E.E. | Posted on: | Category:

Rate Limiting & Throttling


police man rate limiting speed
Rate Limiting:

Controlling the incoming and outgoing messages from your application so that they do not cross over a predetermined limit.


Controlling the incoming and outgoing messages on bases of resource measurements. These can be CPU/Disk IO/Network IO. But also, Threads used or functional measurements.


Rate limiting & Throttling are used to protect you application from none agreed high loads. But you not only protect your application. You also protect your back ends because they get the load you send to them. The load to the back ends is not always a 1 to 1. The load can be a 1:N relation so for every call you ...

Written by: Marcel Koert B.S.E.E. | Posted on: | Category:

Quick over view.

All Applications that you write should have good logging. But what is good logging? Let’s start with a few No Brainers. Your applications uptime is always more important than your logging. If the data that you want to write is more important than it should not be in a log but in a database of some sort. Logging is only transient data.

We can define 3 types of logging:

  • Application log: All application failures, start , stop's with their reasons. (See log levels)
  • Audit logs: All functional actions done on behave of consumers, with the following data who, when and what.
  • Access logs: HTTP based log what ip connected to what end point at what time and with what code was answered.
Love logs



Why ...

© 2019 Marcel Koert for MeloMar IT BV