Kestrel: não estou me referindo a um pássaro (e nem a um avião)…

… mas sim, a um novo servidor WEB! A Microsoft mantém o antigo e tradicional servidor WEB IIS para a hospedagem de sites, que por sua vez é mantido como componente integrado ao sistema operacional Windows Server. Apesar de ser uma plataforma poderosa e robusta (a ponto de rivalizar com o servidor WEB Apache), há tempos ele deixou de receber uma atenção especial da Microsoft, já que desde nov/18 não recebe uma atualização, embora recentemente tenha recebido o suporte para tecnologias importantes, como o QUIC e o TLS 1.3

“Kestrel is an interesting option for anyone building .NET web applications. It’s a relatively lightweight server compared to IIS, and as it’s cross-platform, it simplifies how you might choose a hosting platform. It’s also suitable as a development tool, running on desktop hardware for tests and experimentation. There’s support for HTTPS, HTTP/2, and a preview release of QUIC, so your code is future-proof and will run securely..”

— by NetworkWorld.

O motivo se dá pelo fato da própria Microsoft estar desenvolvendo “na moita”, dois serviços para o seu lugar! Um deles é o Kestrel, um servidor WEB de código aberto, baseado no framework ASP.NET Core e com suporte para todas as plataformas .NET Core, incluindo também outros sistemas operacionais como o Linux e o macOS. O Kestrel foi projetado para funcionar por trás de balanceadores de carga (Nginx), além de oferecer suporte para tecnologias modernas da Web (gRPC), para HTTPS, HTTP/2 e uma versão prévia do QUIC. Inclusive, ele também é adequado como ferramenta de desenvolvimento, rodando em hardware de desktop para fins de testes!

Quanto a instalação do Kestrel, não precisaremos nos preocupar com isto, caso o ASP.NET Core seja instalado: ele já vem integrado a este framework “de fábrica”, sendo definido por padrão para os sites que não são explícitamente hospedados pelo IIS! Já em relação as configurações iniciais, a Microsoft o projetou este servidor WEB para operar com uma configuração mínima, usando um arquivo com as definições necessárias, que por sua vez é criado de forma automática a partir do momento em que criamos um novo projeto .NET através de um template (dotnet new), bem como uma nova aplicação através do Visual Studio.

O Kestrel surge como uma “alternativa” da Microsoft em relação ao IIS, pelo fato de ser mais leve, moderno, flexível, expansível, personalizável e poderoso (entre outras inúmeras qualidades que o marketing adora utilizar), sendo designado para dispor de uma API minimalista, possibilitando a utilização de poucos códigos para criar um novo servidor WEB, além das aplicações para rodar nas nuvens. Ele foi recentemente emparelhado com o proxy reverso .NET de código aberto YARP para substituir a plataforma da Web subjacente nos Serviços de Aplicativo do Azure.

Mas se é compatível (ou não) com as liberdades da GNU GPL… &;-D