How do microservices communicate? This is a question many developers face when they start working with microservices. The microservices subject is extensive. Also, there is more than one correct answer to this question. We can explore how they communicate (asynchronous/synchronous), the differences between internal and external traffic, and also the variety of protocols and design patterns. Knowing that learning microservices is challenging, I tried to give you a big picture of this amazing subject. I hope you enjoy it!
In the previous article “Microservice databases”, I explained how Microservices differs from SOA on database sharing. How Microservices fit well in Event-driven architecture and the role of CDC tools simplifying data integration during migrations from a Monolith architecture.
The article was well-received. It also gave me the opportunity to discuss this topic with friends and readers. One reader shared that it was clear for him the use cases where CDC can be useful. He was particularly interested in migrations from Monolith to Microservices and asked me relevant questions:
Microservices is a trending architecture pattern. If you are a developer or IT professional should have heard or read about microservices. The Microservice principle is to create small components based on their core domains. Many authors consider Microservices an evolution of classical Service Oriented Architecture (SOA). Both break down larger systems into small, cohesive, reusable, and manageable components.
SOA was an architecture pattern very popular in the 2000s. Many companies still adopt SOA. Despite its trade-offs, Microservices have become the preferred architecture for new projects.
When applying Microservices we define each microservice based on their Bounded context. Bounded contexts are…
We have different approaches to manage infrastructure resources. Each has its own pros and cons. Before deciding which one to follow it is wise to look at the trade-offs and the use cases.
So, let’s compare three different approaches to manage infrastructure. Let’s compare them on automation, security, learning curve, and incident response.
The approaches we will analyze are:
For those familiar with AWS, the GUI approach is using the Console, the CLI approach uses the AWS CLI, and the IAC approach uses CloudFormation. …
The use of QR Codes for authentication is increasing. The main reason is that it offers a good balance between security and usability. But finding the right balance between these two is difficult! Excessive usability can make users happy but vulnerable. Excessive security can make users safe but irritated. Yet not opposites, security and usability often compete with each other.
Meebo.com was a popular service in the mid-2000s. On Meebo.com we could talk with people from different messaging platforms in the same chat room. The home page was composed of many username/password forms. …
Many abandon the software engineering field because they find programming too difficult. The choice of the first programming language can determine whether you like the profession or not. “Should I learn Java or Python?” is a very good question.
I started programming at a young age. That was in the late 90s. At that time, I was an electrician’s apprentice in an elevator factory. Even though I didn’t understand a line of code, I got amazed when an electrical engineer programmed the elevator using C language.
For me, programming was something esoteric. In my country, when we see a text…
As a child, I was never content to just play with my toys. It was a pleasure to take them apart and reassemble them again. It wasn’t about the challenge. It was about finding how things work. As I grew up, in the impossibility of dismantling concepts, the pleasure was transferred to discover their origins. Go through the inventors’ paths once more.
Well, this article is not about taking toys apart. It is about Infrastructure as Code. Since we cannot dismantle concepts, I invite you to relive the paths that led us here.
A long time ago — two to…
APIs are everywhere! But, what exactly is an API? Ask about what are APIs seems like a silly question but it is not at all. Actually, “what exactly is an API” is one of the most frequently asked questions about this topic.
If you ask a developer what is an API, chances are s(he) will explain that in a technical way. S(he) likely will say that API stands for Application Programming Interface. That is how an application or program exposes its functionalities to other applications. And that is right! People generally focus on the technical aspects of APIs. But APIs…
When new developers join a team it is important to get them accommodated soon. We call the process of integrating new employees “on-boarding”. The onboarding process for developers has some peculiarities.
A developer onboarding usually consists of:
In this article, we going to focus on the development environment setup. The development environment setup consists of installing everything needed to start producing code. This involves installing the IDE (Integrated Development Environment)…
Microserviços é um padrão arquitetura em asceção. Se você é um desenvolvedor ou profissional de TI deve ter ouvido falar ou lido algo sobre microserviços. O principío dos Microserviços é criar pequenos componentes baseados em seus domínios de negócio. Muitos autores consideram microserviços uma evolução da clássica Arquitetura Orientada a Serviços(SOA). Ambas quebram sistemas maiores em componentes pequenos, coesos, reutilizáveis e gerenciáveis.
SOA foi um padrão de arquitetura bastante popular durante os anos 2000. Muitas empresas ainda adotam SOA. No entanto, microserviços se tornaram a arquitetura preferida em novos projetos.
Quando implementamos Microserviços, definimos cada microserviço (componente) baseados no seu…
APIs & Cloud Solutions Architect