Author Archive

Performance considerations when using Apache Kafka with SSL/TLS

Running a cluster of a distributed software such as Apache Kafka in a production environment will lead to operational concerns. One of these concerns is certainly security. Companies have varying guidelines and policies when it comes to security. This depends on various factors for example the type of application data that the system is processing or in which network infrastructure the system is running and what security concerns this zone implies on the servers that are running within.

A probable scenario is that such a cluster is run in an environment which dictates restrictiveness in regards to access control and protocol security. Access control means that identified clients communicate with the cluster only. When looking at protocol security the company or project might have a guideline that clients must use a secure protocol like SSL/TLS. Furthermore, communication among the cluster servers itself might also have to be secured.

Continue Reading

Liferay – Automated development and deployment


Software development involves several tasks in building the development environment. In a typical web application scenario such as Liferay these tasks include:
  • Installation of a run-time environment (Java)
  • Installation and configuration of a database
  • Installation and configuration of an application server
  • Configuration and integration of external systems
  • Environment configuration (Path, Proxy, etc)
These tasks are usually done manually  and hence the different environments across developers tend to differ in small parts and the effort is quite high for each developer. Additionally if one is developing for multiple projects there is a chance that these projects each require their own environment. This further leads to possible collisions in environment settings or different versions of artifacts. In the end the software must run successfully on a series of production and test systems. Because of the small inconsistencies it can never be guaranteed that the local environment is exactly the same as the production system. This can lead to subtle errors which are hard to find. Note: All code described here can be found on GitHub:

Continue Reading