In an enterprise level, it’s obvious for applications to be based on messaging for communication. This is done using a middleware between these applications as a Message Bus that enables them to work together.
Messaging Bus ecosystem
One of the most used Messaging solutions is Apache Kafka: Kafka is an open-source stream-processing software platform developed by LinkedIn and donated to the Apache Software Foundation, written in Scala and Java. The project aims to provide a unified, high-throughput, low-latency platform for handling real-time data feeds. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies. Kafka Clusters can be deployed in bare metal or in the Cloud.
Microsoft provides a great Azure Service for Kafka customers: Azure Event Hubs 🤩
The workshop “Playing with Java Microservices on Kubernetes” was held from 02/01 to 04/01 – 2020, at the National School of Computer Sciences, in Manouba, Tunisia.
I will be in the National School of Computing Sciences of Tunisia (ENSI Tunisia), from the 2nd to 4th January 2020, to animate a 20 Hours workshop, about Microservices in Java and how to deploy them as Docker Containers to Kubernetes. The event is organized by Mrs Rim Drira.
The Microservices Architecture World, we can meet many concepts and patterns, like the Centralized Configuration, Circuit Breaker, Service Registry and Discovery, etc.. Two of these patterns are the CQRS and the Event Sourcing patterns, coming from the Domain Driven Design planet 🌏 In the most of the use-cases, these two patterns are sold together 😁 in this new tutorial, we will discover what does each one ? why they are usually used together ? and for sure we will implement these two patterns in Java ☕️ obviously 🤓
In this tutorial, we will be experimenting a new use case of the great Azure Functions service 😁 one of my favorite products in Azure.
In this tutorial, we will bring the powerful features of the Spring Framework to our Azure Functions Java projects. After this tutorial, creating a new Azure Functions Java based on business logic that you already have in your Spring Boot Application will be a very easy game.
In one of the previous posts, I introduced the Azure Functions Java. I felt that I need to write a dedicated tutorial to this great Azure Serverless service 😁
In this post, I will be covering many concepts in deep:
- Triggers and bindings
- Events and messaging
- Deployments & Consumptions
In enterprise application, performance is major requirement of success. Especially for applications where slowness will have a direct detrimental impact on business productivity, profits and even the brand itself, like trading platforms and e-commerces.
If a trading platform loads slowly or experiences errors, it will translate into loss of business, and losses can be extremely high, and the customer might end up switching to another competitor.
In this context comes the Application Performance Management (APM). APM is the monitoring and management of performance and availability of applications. APM strives to detect and diagnose complex application performance problems to maintain an expected level of service.
On this article, I am going to explain how to use Azure Monitor which is the Microsoft Azure’s product that helps you maximize performance and availability of your applications and proactively identify problems in seconds.
January 2018, Red Hat acquired CoreOS for 250 million dollars 🤩. CoreOS was one of the leading companies of Linux & Containers market with their wide offer of products:
- CoreOS Tectonic: container application platform based on Kubernetes.
- CoreOS Container Linux: lightweight Linux distribution designed to run containerized applications.
- CoreOS Operators Framework: an open source toolkit designed to manage Kubernetes native applications.
- CoreOS Quay: a container registry for building, storing, and distributing your private containers.
- CoreOS rkt: an application container engine developed for modern production cloud-native environments.
- even more and more..
What is Istio?
Google presents Istio as an open platform to connect, monitor, and secure microservices.
Istio is a service mesh implementation that provides many cloud-native capabilities like:
- Traffic management: Service Discovery, Load balancing, Failure recovery, A/B testing, Canary releases, etc…
- Observability: Request Tracing, Metrics, Monitoring, Auditing, Logging, etc…
- Security: ACLs, Access control, Rate limiting, End-to-end authentication, etc…
Istio delivers all these great features without any changes to the code of the microservices running with it on the same Kubernetes cluster.
In our case, we already implemented many of these features and capabilities when we were writing our microservices. If we had Istio at the beginning, we could save so much effort and time, by delegating all of these capabilities to Istio.
I just updated my book « Playing with Java Microservices with Kubernetes and OpenShift » 😃
The release changelog:
- Fixed some typos 🙈
- I just finished writing the Chapter 14: Getting started with OpenShift 👌
- I started writing the Chapter 15: The OpenShift style 🎶
- I started working on Istio Tutorial that will be the first bonus chapter in the book ⚡️⚡️
I will be covering more and more subjects soon 😁
I am available for an on-demand chapters. So if you are interested in some specific subject about Java Microservices, just get in touch with me 😁