Arquitetura de Microsserviços na Azure

Evolução da aplicação para um ecossistema distribuído de 4 Microsserviços e 1 Serverless Function, sustentados por uma infraestrutura robusta e modularizada com Terraform.

Coleção do Postman

Utilize a coleção atualizada para testar os endpoints através do API Gateway.

Download Postman Collection

Fluxo de Provisionamento e Infraestrutura

A estrutura de infraestrutura modular foi mantida e expandida para suportar a nova arquitetura de microsserviços. O fluxo de execução garante que a base (rede, dados, computação) esteja pronta antes do deploy das aplicações.

1. Foundational (Base)

Resource Groups, VNet, Subnets e Terraform Remote State.

2. Data (Dados)

Azure SQL Server & MongoDB (Atlas/Cosmos).

2. Compute (Computação)

AKS Cluster, ACR e App Service Plan (Function).

3. Deploy das Aplicações (Microsserviços)

Pipeline de CI/CD dispara o deploy de cada serviço isoladamente.

TechChallenge Orders/Products
Ingredients Estoque
Customers Clientes
Categories NoSQL
Auth Function Serverless

4. Gateway (Roteamento)

Azure API Management configurado para rotear tráfego para os serviços no AKS e a Function.

Ecossistema de Microsserviços

Comunicação via HTTP

Os microsserviços se comunicam através de chamadas HTTP síncronas para manter a simplicidade e desacoplamento, orquestrados pelo Kubernetes (Service Discovery).

Autenticação Centralizada

Todos os serviços validam o token JWT. A emissão do token é responsabilidade exclusiva da Function App, garantindo segurança unificada.

Orders & Products

Repositório: TechChallenge

Gerencia o ciclo de vida do pedido e o cadastro base de produtos.

SQL Server

Ingredients

Repositório: ...Ingredients

Gerencia o estoque de ingredientes de forma independente.

SQL Server

Customers

Repositório: ...Customers

Gestão de dados sensíveis de clientes (CPF, Email, Nome).

SQL Server

Categories

Repositório: ...Categories

Catálogo de categorias otimizado para leitura rápida.

MongoDB (NoSQL)

Qualidade de Código & Testes

BDD (Behavior Driven Development)

Adoção de BDD com SpecFlow para garantir que os microsserviços atendam aos requisitos de negócio.

Análise de Qualidade (SonarQube)

SonarQube Overview
SonarQube Details

Cobertura de Testes (Local)

Orders & Products
Coverage Orders
Ingredients
Coverage Ingredients
Customers
Coverage Customers
Categories
Coverage Categories

Repositórios do Projeto

Aplicações (Microservices)

TechChallenge

Orders & Products (Core). SQL Server.

App

TechChallenge_Microservice_Ingredients

Gestão de Ingredientes. SQL Server.

App

TechChallenge_Microservice_Customers

Gestão de Clientes. SQL Server.

App

TechChallenge_Microservice_Categories

Gestão de Categorias. MongoDB.

App

TechChallenge-app-function

Auth Serverless Function.

App

Infraestrutura (Terraform)

TechChallenge-infra-foundational

Rede, Subnets, Resource Groups.

Infra

TechChallenge-infra-data

Bancos de Dados e Storage.

Infra

TechChallenge-infra-compute

AKS Cluster e ACR.

Infra

TechChallenge-infra-gateway

API Management.

Infra
Azure .NET 8 MongoDB Kubernetes SonarQube SpecFlow (BDD)