O .Net Core teve a sua primeira versão lançada em junho de 2016 e, no passado mês de setembro, recebemos a versão 3.0 que trouxe suporte a recursos que já existiam no .Net Framework como por exemplo aplicações Windows Form e outros.

Mas a nossa intenção não é abordar uma versão, ou até mesmo um recurso específico, para realçar as vantagens do .Net Core. A nossa intenção é mostrar o principal motivo que faz com que o Core seja realmente vantajoso para o teu próximo projeto.

A ideia do Core é ser Cross-Platform, isto é, que se adapte a qualquer ambiente, seja ele Windows, Linux ou Mac. E é nesse ponto que temos uma das melhores vantagens do Core: o custo-benefício do host/server onde a aplicação estará alojada.

Fazendo uma comparação rápida de máquinas virtuais que ficarão ligadas durante 24h por 30 dias em três serviços cloud conhecidos (Amazon AWS, Azure e Google Cloud), concluímos que a maior diferença entre os serviços chega a ser de 42% quando se compara o menor preço de uma máquina Linux com o maior preço de uma máquina Windows (ver tabela abaixo).

É importante reforçar que o mínimo considerado para esta análise foi uma máquina com 1 Core, 1.75 Gb RAM e 70Gb de HDD, podendo haver uma ligeira variação entre as máquinas comparadas devido à disponibilidade nos serviços comparados.

Com a escolha da capacidade da máquina, podem-se levantar questões sobre o tipo de máquina escolhido (small, t1, a1). É aí que destacamos outra grande vantagem do dotnet core: o framework foi concebido para ser leve e, assim, dependendo do tipo de aplicação que irá ser desenvolvida, não existe a necessidade de um grande servidor para executar a aplicação.

A comparação realizada não contempla o uso de uma base de dados.

Os preços foram consultados em 09/10/2019 e, abaixo, podem encontrar uma tabela comparativa. Para aceder às calculadoras de custo, seguem os links: Amazon, Azure e Google Cloud.

  Amazon AWS Azure Google Cloud
Windows $36.11 $62.10 $73.10
Linux $31.37 $37.28 $46.46

Uma nota extra: o .Net Core foi concebido para funcionar, também, em Docker. E justamente por isso, deixamos a porta aberta para um outro artigo, que é o alojamento de .Net Core APP em ambientes que utilizem Docker.