Image for post
Image for post

Vamos falar um pouco de Azure DevOps?

Quem aí trabalha com esta ferramenta, seja na sua empresa ou equipe, deve ter percebido o valor e o poder dela. Você consegue fazer basicamente tudo nesta ferramenta, como gerenciamento de equipe, controle de repositórios de código e Continuous Integration/Continuous Deployment (CI/CD).

Com relação ao CI/CD, conseguimos criar nossas Pipelines utilizando tanto o modo clássico (arrastar caixinhas) quanto em YAML, além de poder fazer pipelines diferentes ou juntas. E é sobre isso que vamos aprofundar hoje!

O CI/CD é, simplesmente, a criação de pipelines que ficam responsáveis por analisar a integração de sua…


Image for post
Image for post

Many times we have some situations that require our application to attend to many clients. In this context, we have some techniques to attend this, but we will talk about three architectural strategies:

Single-Tenant

This technique consists of providing all of the new infrastructure necessary to stand-up an application. So, this signifies that you create a new instance of applications, a new database, and all other necessary things.

Clearly, you can note that the new client wins a new and completely isolated application. …


Image for post
Image for post

Go to Part 01

For this article, we will focus on Hybrid-Tenant, according to the before part of this article. So, let’s see our scenario that we will build:

  • First, about the business rules: we will register many users in a different database, according to the register number of the company.
  • Second: all the data will store in MongoDB, so we will manipulate more than one database on it.
  • Third: we will build an API using .NET Core
  • Fourth and last: we will implement the tenancy technique in our project, according to request.

The complete solution will be:


Image for post
Image for post

— Ir para Parte 01 —

Agora que sabemos, teoricamente, o que é uma Arquitetura Hexagonal, vamos a parte prática 🚀!

Para isso, desenvolveu-se uma API em .NET Core 3.1 e utilizou-se o Visual Studio 2019 Community.

O modelo de negócio será simples. Teremos, apenas, algumas operações referentes a times de futebol, tais como:

  • Cadastro de um time de futebol e notificação por email
  • Recuperação de todos os times de futebol

Antes de inciarmos, vale ressaltar um ponto. Para desenvolver esse tipo de aplicação é importante saber, muito bem, o que é S.O.L.I.D., Injeção de Dependência e Inversão de Controle.

Show me the Code! 💻


Image for post
Image for post

Antes de começarmos a adentrar no assunto de arquitetura hexagonal, vamos, primeiro, entender alguns conceitos antes 📚.

Arquitetura de Software

Acredito ser interessante sabermos, antes de tudo, o que é Arquitetura de Software e no que isso nos auxilia. Por trás de todo sistema há uma estrutura organizacional envolvida, a qual chamamos de Arquitetura de Software. Tal conceito serve para poder ajudar a compreender a diferença entre linguagens, sistemas operacionais, ambientes, experiência de seu time tecnológico e qualquer outro componente tecnológico que possa fazer parte de uma solução. …


Image for post
Image for post

Nós, desenvolvedores, constantemente nos deparamos com sistemas que utilizam recursos com Multi-Threads. Mas, o que de fato é Threads e programação assíncrona? 🤔

Bom, programação assíncrona é quando você quer executar algo, mas não precisa esperar/travar seu sistema aguardando o retorno desta execução.

E Thread? Imagine que uma thread seria um pequeno programa, que executa alguma determinada tarefa. Em um sistema pode existir uma ou mais threads e o objetivo de se ter mais threads seria a execução de determinadas tarefas de maneira mais rápida, seria o famoso ditado “dividir para conquistar”.

E o que ambos tem haver um com…


Image for post
Image for post

AutoMapper is a library, available in .NET, that has a goal to map an object to another. It’s very used because is very simple and easy to do these mappings.

So in this article, we’ll show you how to do these mappings using other ways and build a benchmark to compare which is best.

The use cases

We’ll build three global use cases:

  • With a simple class: its properties are all primitive data types and have the same name as the model class.
  • With a complex class: it has properties that are primitive data types, it is also composed of a class and…


Image for post
Image for post

MongoDB is a kind of NoSQL database. NoSQL is a document-oriented database that is organized as a JSON. Some points about MongoDB:

  • Performance: It stores a majority of data in RAM, so the query performance is much better here than in a relational database. But it requires more RAM and precise indexes.
  • Simplicity: Some users consider the query syntax is simpler here than in relational databases. The installation, configuration, and execution are simple and quick to do. And the learning curve is shorter than in the others.
  • Flexibility: It’s dynamic because it doesn’t have a predefined schema.
  • Scalability: It uses…


Image for post
Image for post

Será que cultura ágil é aplicado apenas para empresas? Tudo bem que atualmente não estamos, fisicamente, na empresa. Mas, mesmo assim, conseguimos ver os times funcionando normalmente (ou quase), as rotinas, ritos, dinâmicas, todas ainda existem. Contudo, como você pode aplicar a cultura ágil/mentalidade ágil dentro de sua casa, voltado para você?

O que é Ágil?

Bom, antes de continuar, vamos entender o que é Ágil. No dicionário, ágil significa eficiente, rápido ou veloz. Mas o que seria, então, a Cultura Ágil? Esta cultura é uma nova forma de pensar dentro de modelos de gestão, com foco em conferir sempre o trabalho que está…


Image for post
Image for post

Serviços em cloud/nuvem é um assunto que já é comum no mundo da tecnologia. Grandes empresas, hoje, como Microsoft Azure, AWS (Amazon Web Services) e GCP (Google Cloud Platform), já fornecem serviços em cloud de alta qualidade como SaaS (Software as a Service),IaaS (Infrastructure as a Service) ou até mesmo CaaS (Container as a Service), por exemplo. Seja para hospedar uma aplicação web, uma API (Application Programming Interface), um banco de dados ou Serveless, que seria a programação sem serviço. Neste contexto, irei falar um pouco sobre um serviço específico da AWS, que é o CloudFront, e como ele pode…

Alex Alves

Bachelor in Computer Science, MBA in Software Architecture and .NET Developer.

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