I am a big fan of Java Memory Management and in this article, I will try to explain how to take and analyze heap dump with examples, but let's refresh our minds and remember what we know about this domain. After some theoretical information, we will take a heap dump and will analyze it for … Continue reading Java Heap Dump Analysis with Examples
Author: Huseyin BABAL
How to Avoid Deadlocks in Java
In the previous article, we talked about how deadlocks occur in Java while working in a multi-threaded environment. Now, we will see how to prevent deadlocks by explaining a couple of corner cases. Avoid Nested Locks In the previous article, we showed an example for deadlock, and it contains nested locks as follows. ... Thread … Continue reading How to Avoid Deadlocks in Java
Understanding Java Thread DeadLock
In a multi-threaded environment, it is ok that multiple threads simultaneously handles their tasks to improve the CPU utilization instead of keeping CPU as idle. In such an environment, it is ok if multiple threads try to access a shared resource, only one of them can acquire lock and the others should wait for that … Continue reading Understanding Java Thread DeadLock
Java Thread Dump Analysis
Once upon a time, you were on-call within your team schedule and your phone started to ring at midnight... You thought "What the hell is this number?" then you accepted the call. The machine started talking to you, "The CPU of Payment Service is 99 percent right now, and somebody should take an action. To … Continue reading Java Thread Dump Analysis
Maintainable Go Projects
We cannot think about a world where you build software for the first time and you never need to fix bugs, improve performance, etc... within a maintenance context. Moreover, most probably you mostly maintain software than keep only adding new products or features. Even with this initial information, you can understand how important it is … Continue reading Maintainable Go Projects
Hexagonal Architecture in Java Simplified
1. Overview In this tutorial, we will implement a simple Java CMS application with a CLI consumer by using the principles of Hexagonal Architecture. The main idea will be to keep business logic as separate as possible and use the Dependency Inversion principle which is "D" in SOLID principle to prevent coupling between layers. 2. … Continue reading Hexagonal Architecture in Java Simplified
Webinar: Hands on Kubernetes
I just finished a webinar series about Kubernetes, and I just wanted to thanks a couple of people to make this happen. First thanks goes to my wife since he supported me by looking at our kids on her own during this webinar moments in Sundays! Second, thank you Serhat Can and Cloud & Serverless … Continue reading Webinar: Hands on Kubernetes
Kubernetes Rolling Update Strategies in Action
Being able to react to any kind of anomality on production environment is the key to success.Kubernetes has good features to let you revert your deployments back with a simple command. If you haveever heard following scenario within your company before, this session will be the medicine for you.“Payment microservice is in an unstable state … Continue reading Kubernetes Rolling Update Strategies in Action
My “Microservices Best Practices on Kubernetes” Talk on booking.com
Booking @ Amsterdam At the end of April 2018, I visited Amsterdam for a good reason. Visiting the good places that I couldn’tvisited 3 years ago, and after filling that power, I just made a talk about Microservice Best Practiceson Kubernetes. The event is handled by Booking, and I was very happy with their hospitality. … Continue reading My “Microservices Best Practices on Kubernetes” Talk on booking.com
Kubernetes Ingress and Network Policies
In this session, we will cover how an external access to the internal cluster can be architected in Kubernetes environment. Beside some theoretical information, we will apply some production-ready dojos. The outline will be; What is Ingress? Ingress Strategies Ingress Operations on Production Environment Isolated and Non-Isolated Pods with Network Policies