Explaining APIs

Why APIs are Important?

“He who has a why to live for can bear almost any how.” — Friedrich Nietzsche

Did you know that a company that worth $95 billion is an API company? And the richest man in the world rules an API empire? Knowing what APIs are and how they work is thoughtful. But knowing “why” APIs are important is crucial.

Make a test… Ask some developer about a random subject. S-he will probably explain it from a technical perspective and describe all details about how it works accurately. But probably will not explain why it matters. This is because developers, me…


Explaining Microservices

How do microservices communicate?

Photo by Shannon Potter on Unsplash
Photo by Shannon Potter on Unsplash
Photo by Shannon Potter on Unsplash

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!


CDC and Legacy Databases

Microservices Databases — CDC and Legacy Databases

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:

  • Can we use CDC with legacy databases?
  • What if the CDC tools…


Event-Driven Architectures and CDC

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.

The lower SOA layers are more granular than the Microservice unique layer.
The lower SOA layers are more granular than the Microservice unique layer.
Microservices vs SOA

When applying Microservices we define each microservice based on their Bounded context. Bounded contexts are…


Comparing different approaches of managing infrastructure

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:

  • GUIs- Graphic user interfaces
  • CLIs- Command Line Interface tools
  • IAC — Infrastructure as Code

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. …


API SECURITY

Usability, Security, and Privacy

Person holding a transparent globe. Behind a QR Code wall
Person holding a transparent globe. Behind a QR Code wall
Mitya Ivanov at https://unsplash.com/photos/2HWkORIX3II

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. …


Why take the long path if we can take a shortcut?

Should I learn Java or Python?
Should I learn Java or Python?
Should I learn Java or Python?

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…


From virtualization to YAML files

Photo by Vadim Sherbakov on Unsplash — Unraveling Infrastructure as Code
Photo by Vadim Sherbakov on Unsplash — Unraveling Infrastructure as Code
Photo by Vadim Sherbakov on Unsplash

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…


Why every dev should know about dockerizing

.NET Core + Docker = Developer Experience++
.NET Core + Docker = Developer Experience++
.NET Core + Docker = Developer Experience++ 🚀

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:

  • Get to know the new colleagues and team member
  • Get to know the systems (s)he will work with
  • Receive the technical equipment (laptop, mouse, keyboard…)
  • Development environment setup. 😨 😫

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)…


Arquiteturas Orientadas a Eventos e CDC

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.

Microserviços vs SOA

Quando implementamos Microserviços, definimos cada microserviço (componente) baseados no seu…

Anderson Carvalho

APIs & Cloud Solutions Architect

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store