Skip to main content

Posts

Showing posts from January, 2019

Communication Strategies on top of message base communication for outages or disasters protection

I n the last post, we identified different location inside and outside a micro-service architecture where messaging base communication could be used with success. Beside this we identified that to be able to have a high-performance system, we need to use reliable messaging communication channels. If we decide to run our micro-service solution inside Kubernetes on top of Azure Kubernetes Services (AKS), we need to take into consideration messaging and event bases communication channels like Azure Service Bus or Azure Event Hub. Even so, this is not enough to be fully protected of any outages or disasters. Another layer of protection that we should define is at the application level. In this post, we will discuss some communication strategies that can increase our protection against outages and disasters. The below solutions can be used in combination with any messaging system, but in this case, we will present them in combination with Azure Service Bus. Passive Replication This

Decouple external communication inside AKS (Azure Kubernetes Services)

In a world that it is more and more oriented to microservices, reliable asynchrony communication becomes vital for our system. In this post, we will try to identify different locations where asynchrony communication based on the messaging system could be a good fit. Let’s imagine that we have a system that is hosted inside a Kubernetes cluster (AKS). The system is a high-availability and high-performance system that shall be protected for any kind of peaks or temporary outages. Of the most important characteristics of such a system is to able to not affect other systems. This means that it shall be able to accept requests even if the internal load would not allow him to process the additional request. Beside this, internally specific groups of services shall be able to send the request to other services during temporary outages. The services shall be able to recover from this outages with minimum effort by using a simple solution. The first location where a dedicated messagi

Kubernetes and cloud providers

In the microservices era, dominated by cloud providers the standard requirement that I receive on every strategic project is The solution needs to independent from the hosting provider and needs to support on-premises solutions. The standard context for this requirement is to support cloud providers - Microsoft Azure and AWS. Additional to this, with minimum effort (less than 5% of development cost), the solution shall be run on-premises. The requirements are tricky even if at first glance you would say that Kubernetes is the solution. Two concerns need to be tackled. The first one is related to what kind of platform shall be used to host the Kubernetes solution. The second one related to how the solution shall use many native cloud services. Kubernetes it is a powerful container-orchestration solution that allows us to scale our microservice solution. The downside of Kubernetes is that you need to install and configure many services besides Kubernetes itself if you want to have