// stack.lumi
Backend

.NET

Backend corporativo moderno no ecossistema Microsoft.

// o que é

.NET e a plataforma da Microsoft para APIs, sistemas corporativos, cloud e aplicacoes modernas. Para a Lumi Data, e ideal quando o cliente opera em Azure, SQL Server, Active Directory e ferramentas Microsoft.

A plataforma .NET, inicialmente lançada pela Microsoft em 2002 como .NET Framework, evoluiu para o .NET Core (2016) e posteriormente .NET 5+ (2020), tornando-se uma plataforma cross-platform de alto desempenho com runtime CLR (Common Language Runtime) que gerencia execução, garbage collection e compilação JIT de bytecode CIL (Common Intermediate Language). Benchmark independentes do TechEmpower Framework Benchmarks consistentemente posicionam ASP.NET Core entre os frameworks web de mais alto throughput disponíveis, superando alternativas JVM e interpretadas em cenários de I/O-bound com alta concorrência, graças à implementação de I/O assíncrono baseada em IOCP no Windows e epoll no Linux. Martin (2017) em "Clean Architecture" usa C# como uma das linguagens de referência para ilustrar separação de camadas e inversão de dependência — padrões que o ecossistema ASP.NET Core implementa nativamente via injeção de dependência built-in. Evans (2003) documentou padrões de DDD que a comunidade .NET adotou extensivamente, com o CQRS+Event Sourcing de Udi Dahan e Greg Young tendo C# como linguagem primária de referência e implementação.

Como a Lumi enxerga:A Lumi entrega .NET com arquitetura limpa, testes, seguranca por identidade e integracao com dados e BI.
// na prática

Como empresas usam .NET

01

Empresas enterprise com ecossistema Microsoft (ERPs, sistemas corporativos, saúde)

Constroem APIs corporativas em ASP.NET Core integradas ao Azure Active Directory, Azure Service Bus e SQL Server, aproveitando a maturidade do ecossistema Microsoft para autenticação, autorização e integração com produtos Office 365 e Power Platform. A governança corporativa, o suporte comercial da Microsoft e a familiaridade dos times com C# reduzem o risco percebido de adoção em ambientes com comitês de aprovação de tecnologia.

02

ISVs (Independent Software Vendors) de software de gestão e ERP (Sankhya, TOTVS, Senior)

Mantêm plataformas .NET com décadas de base instalada, evoluindo de .NET Framework para .NET 6+ para atingir deploy em Linux e containers sem reescrever o núcleo do produto. A compatibilidade binária da plataforma e as ferramentas de migração da Microsoft permitem modernização incremental de código legado sem ruptura para clientes existentes.

03

Times de BI e integração com Power BI e Azure (consultorias, empresas de analytics)

Usam .NET para construir backends de APIs que alimentam Power BI via Analysis Services ou Direct Query, integrando com Azure Data Factory, Azure Synapse e SQL Server Analysis Services — ecossistema onde a integração nativa com C# e .NET reduz significativamente a fricção de desenvolvimento comparado a outras linguagens.

// decisão técnica

Quando usar — e quando não usar

Use quando
  • O cliente já opera no ecossistema Microsoft (Azure, Power BI, Active Directory, SQL Server) e a integração nativa de .NET com esses produtos reduz custo de desenvolvimento e manutenção
  • O sistema é corporate e o time tem expertise consolidada em C# com .NET — a maturidade do ASP.NET Core e do Entity Framework elimina categorias de decisões de arquitetura que outros ecossistemas exigiriam tomar do zero
  • O projeto envolve modernização de .NET Framework para .NET 6+ em uma base de código existente — reescrever em outra linguagem seria um risco injustificado quando a migração incremental é viável
  • O time precisa de performance de ASP.NET Core com concorrência alta em APIs REST/gRPC e o ecossistema enterprise .NET (DI, logging, health checks, OpenTelemetry) já está disponível out-of-the-box
  • A integração com Active Directory, Azure AD, Azure Service Bus ou SQL Server com Entity Framework é requisito central do sistema — .NET oferece SDKs de primeira parte sem equivalent em outras linguagens
Evite quando
  • O projeto é greenfield sem nenhuma dependência do ecossistema Microsoft e o time tem expertise primária em Python, Go ou Node.js — introduzir .NET adiciona diversidade de stack sem ganho técnico justificável
  • O domínio é dados, ML ou IA — embora ML.NET exista, o ecossistema Python (PyTorch, scikit-learn, Hugging Face) é ordens de magnitude mais maduro e a escolha de .NET aqui seria tecnicamente injustificável
  • O sistema é um microserviço pequeno e isolado sem integração Microsoft — o overhead do CLR e do ecossistema ASP.NET Core é desproporcional para serviços simples onde Go entregaria o mesmo resultado com menor footprint
  • O cliente tem restrições de vendor lock-in com Microsoft explicitamente documentadas — embora .NET seja open source, a maioria das integrações de maior valor (Azure AD, Power BI Embedded, Azure Service Bus) são serviços proprietários
// visão lumi

A Lumi adota .NET em contextos onde o ecossistema Microsoft é uma realidade de negócio do cliente, não uma preferência tecnológica da Lumi. Quando .NET entra, exigimos Clean Architecture com separação explícita entre domínio, aplicação e infraestrutura: entidades de domínio sem dependência do Entity Framework, casos de uso testáveis sem ASP.NET em memória, e injeção de dependência usada para desacoplar, não para globalizar estado. A modernização de .NET Framework para .NET 6+ é uma de nossas especialidades no contexto de clientes enterprise Microsoft, e executamos essa migração com testes de regressão cobrindo regras de negócio antes de qualquer mudança de runtime. .NET não entra em projetos de dados ou IA da Lumi — Python permanece insubstituível nesse domínio.

Lumi escolhe quando

  • Quando o cliente já opera Azure com AD, Power BI e SQL Server como infraestrutura primária e a integração nativa de .NET reduz custo de desenvolvimento documentado
  • Quando o projeto é modernização de .NET Framework para .NET 6+ com base de código existente — a migração incremental com testes de regressão é mais segura do que reescrita em outra linguagem
  • Quando o time do cliente tem expertise consolidada em C# e a introdução de outra linguagem aumentaria o risco de entrega sem ganho técnico proporcional
  • Quando o sistema precisa de alta performance em APIs REST com I/O-bound e o ASP.NET Core Kestrel entrega throughput documentado que satisfaz os SLAs sem infraestrutura adicional

Lumi não recomenda quando

  • .NET em projetos greenfield onde o ecossistema Microsoft não é uma restrição e o time da Lumi operaria com mais produtividade em Python ou Node.js — escolher .NET por ser "enterprise" sem contexto Microsoft é adicionar cerimônia sem retorno
  • .NET para qualquer componente de dados, ML ou IA — o ecossistema Python é tecnicamente superior neste domínio e a decisão de usar .NET aqui seria tecnicamente indefensável perante o cliente
  • Entity Framework como Active Record com lógica de negócio em entidades decoradas com atributos de persistência — este antipadrão é comum no ecossistema .NET e viola os princípios de Clean Architecture que a Lumi aplica em todos os projetos
// aplicações

Onde essa tecnologia gera valor

01

APIs corporativas

A Lumi conecta essa aplicação ao objetivo de negócio, definindo arquitetura, dados, segurança e indicadores de sucesso antes da implementação.

02

Sistemas internos

A Lumi conecta essa aplicação ao objetivo de negócio, definindo arquitetura, dados, segurança e indicadores de sucesso antes da implementação.

03

Modernizacao de legados Microsoft

A Lumi conecta essa aplicação ao objetivo de negócio, definindo arquitetura, dados, segurança e indicadores de sucesso antes da implementação.

04

Integracao com Azure e Power BI

A Lumi conecta essa aplicação ao objetivo de negócio, definindo arquitetura, dados, segurança e indicadores de sucesso antes da implementação.

// fundamentos

Referências acadêmicas e técnicas

Martin, R.C. (2017). Clean Architecture: A Craftsman's Guide to Software Structure and Design. Prentice Hall.

Referência que orienta a separação de camadas em projetos .NET da Lumi: entidades de domínio sem dependência de frameworks, casos de uso testáveis e inversão de dependência em relação a infraestrutura (EF, ASP.NET).

Evans, E. (2003). Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional.

Padrões de DDD amplamente adotados na comunidade .NET (agregados, repositórios, domain events, bounded contexts) que fundamentam a modelagem de domínio em sistemas enterprise C# da Lumi.

Microsoft (2023). ASP.NET Core Documentation. docs.microsoft.com/aspnet/core.

Documentação oficial cobrindo Kestrel, minimal APIs, gRPC, middleware pipeline, injeção de dependência e integração com Azure — base técnica para decisões de arquitetura em projetos ASP.NET Core.

Microsoft (2022). .NET Architecture Guides: Microservices, Cloud-Native, Blazor, and more. dotnet.microsoft.com/learn/dotnet/architecture-guides.

Guias de arquitetura oficiais da Microsoft para .NET em microsserviços, containers e cloud-native — referência para decisões de arquitetura enterprise que a Lumi usa como ponto de partida e avalia criticamente.

Fowler, M. (2002). Patterns of Enterprise Application Architecture. Addison-Wesley Professional.

Catálogo de padrões (Data Mapper vs Active Record, Unit of Work, Repository) que orienta as decisões de persistência em projetos .NET da Lumi, especialmente para evitar o antipadrão de entidades EF com lógica de domínio.

// tecnologias relacionadas

Backend

// próximo passo

Quer saber se esse stack faz sentido para você?

A Lumi avalia contexto, dados, equipe, custo e maturidade para recomendar a tecnologia certa e entregar com responsabilidade.