O blog da AWS

Desmistificando licenciamentos de Workloads Microsoft na AWS

Por Lucas Henrique Garcia, Arquiteto de Soluções de SMB na AWS e
Diego Voltz, Arquiteto de Soluções Senior para Enterprise na AWS

 

Há mais de 15 anos, a AWS tem ofertado aos seus clientes a possibilidade de utilizar servidores virtuais no modelo “Pay as you Go” ( “Pague conforme o uso”, numa tradução livre) do serviço Elastic Cloud Computing, mais conhecido como EC2. Com o passar dos anos, o serviço EC2 tornou possível não só a utilização de soluções open-source baseadas em sistemas operacionais Linux (como por exemplo Amazon Linux) mas também permitiu que plataformas Windows Server estivessem disponíveis para atender os diversos desafios técnicos e de negócio de seus clientes.

Hoje, a AWS possui milhares de clientes utilizando instâncias EC2 Windows Server migradas de ambientes locais (“On-Premises”) ou que foram desenhadas dentro de nossa estrutura em arquiteturas nativas na Nuvem (Cloud Native). Para que os diferentes tipos de clientes fossem beneficiados em termos de gestão, custos e compliance, nós disponibilizamos estas soluções com algumas opções de licenciamento diferentes, mas que podem causar alguma confusão num primeiro momento por se tratar de um tema bastante complexo. O objetivo deste artigo é, portanto, facilitar o entendimento de como os serviços Microsoft podem ser licenciados na AWS e detalhar as principais diferenças entre cada uma destas opções disponíveis.

 

Licenciando instâncias EC2 com S.O. Microsoft Windows Server

01 – Licenciamento providenciado pela AWS – Modelo Licenciamento Incluso (L.I.)

Quando você inicia uma instância EC2 com Microsoft Windows a partir de uma imagem criada e mantida pela AWS, o custo da licença já está embutido na precificação por hora do tipo (“Instance Type”) de instância selecionada. Por exemplo, ao selecionarmos a região de sa-east-1 para lançamento de uma instância t3.medium, o valor por hora (que pode ser conferido aqui) já compreende o licenciamento do Sistema Operacional e de 02 Client Access Licenses ( para acesso via Remote Desktop (RDP). Esta capacidade de provisionar instâncias e pagar apenas pelo seu uso, sem se preocupar com o gerenciamento de um licenciamento apartado, é uma das inúmeras vantagens de utilizarmos a AWS e é comumente conhecida como modelo “Licença Inclusa” (“License Included” ou L.I). Como nossos clientes não precisam se preocupar com a gerência de licenças e de contratos de compliance das mesmas (que ficam sob responsabilidade da AWS) , seu foco pode agora ficar voltado para a gestão e administração dos servidores e das aplicações e ambientes que eles sustentam.

Além de disponibilizar licenciamentos para Windows Server, a AWS também possui algumas imagens AMIs com a instalação do Microsoft SQL Server inclusa (nas versões Web, Standard e Enterprise). O mesmo princípio detalhado acima se aplica nestes casos: tanto o sistema operacional quanto o SQL Server já se encontram licenciados nestas imagens e você não precisa adquirir nenhuma destas licenças em separado. Além de instâncias EC2 com SQL Server já licenciado, há também a possibilidade de utilizarmos o serviço de Banco de Dados gerenciado RDS Microsoft SQL  da mesma maneira. No segundo capítulo deste artigo, voltado exclusivamente para SQL Server, detalharemos melhor estas opções.

Vale lembrar que outros tipos de execução de instâncias baseadas em AMIs Windows Server criadas na AWS, tais como Instâncias

02 – Licenciamento BYOL – “Bring your own license” – “Traga sua propria Licença”

Como alternativa ao modelo apresentado acima, nossos clientes podem fazer uso de licenças adquiridas previamente para servidores Microsoft Windows Server virtuais ou físicos em suas instâncias EC2 (e também para outros  serviços, como por exemplo o Workspaces) através do programa de “Bring your Own License” (BYOL, também conhecido por “Traga sua licença” numa tradução livre) disponível na AWS. Para auxiliar neste tipo de licenciamento, a AWS possui o serviço AWS License Manager, onde o inventário e controle dos licenciamentos e dos Hosts Dedicados para execução destas instâncias pode ser gerenciados através de uma console na própria AWS. A principal vantagem de trazer seu licenciamento já existente é a redução de custos, uma vez que os serviços neste modelo não contam com o valor do licenciamento embutido em custo por hora (ou seja, o valor de execução por hora de EC2 Windows Server cobertas por licenças BYOL, por exemplo, seria o mesmo valor cobrado para uma instância do mesmo tipo executando Amazon Linux).

Para trazer suas licenças de Windows Server para a AWS e adotar o modelo BYOL para suas instâncias EC22, o primeiro passo necessário é o de validar se o seu licenciamento atualmente se adequa legalmente ao programa.  Para isto, precisamos detalhar que existem diferenças entre os tipos de licenças disponíveis hoje para Windows Server: licenças perpétuas (Perpetual) e licenças de Assinaturas (Subscriptions), e que estas licenças podem ou não fazer parte de um contrato maior por parte da Microsoft chamado de “Mobilidade de Licenças” (relacionado aos contratos de Software Assurance / Enteprise Agreement).

Para serem elegíveis ao programa de BYOL, estas licenças (l) deverão ser relacionadas à softwares cuja versão foi lançada antes de 01/10/2019 e que foram adquiridos ou contratados antes desta data. Somente uma infraestrutura dedicada é possível neste caso: devemos utilizar instâncias configuradas como Hosts Dedicados (“Dedicated Hosts”).

Por exemplo, opções de Windows Server 2019 e anteriores podem ser licenciadas via BYOL, mas licenças adquiridas para o Windows Server 2022 não estão sujeitas a este modelo (lembrando que você pode executar instâncias Windows Server 2022 no modelo de Licença Incluída – LI) por estarem fora do período mencionado acima. Para maiores detalhes sobre o programa de “Mobilidade de Licenças”, sugerimos a leitura de nossa página dedicada ao assunto que se encontra publicada aqui.

Quando falamos de servidores Windows Server 2016 e Windows Server 2019, existem dois modelos de licenciamentos disponíveis: Standard e Datacenter.

Windows Server Datacenter: Quando falamos sobre Datacenter, o tipo permitido de licenças é “Por Core” (“Per Core”). Isto quer dizer que ao trazermos esta licença para um Host Dedicado (“Dedicated Host”), você pode utilizar a mesma quantidade de cores de processamento de sua licença na criação de instâncias EC2. Por exemplo, se você trazer uma licença do tipo Datacenter de 48 Cores para em um Host Dedicado (“Dedicated Host“), a execução de 12 instâncias do tipo r5.2xlarge (4 cores cada) será totalmente coberta por este licenciamento.

Windows Server Standard: Para o licenciamento do tipo Standard, cada licença trazida para um Host Dedicado (“Dedicated Hosts”) que cubra todos os Cores garante a execução de 2 instâncias EC2. No exemplo utilizado acima, um licenciamento de 48 Cores Standard permitiria a execução de 2 r5.2xlarge. Por esta razão, licenças do tipo Datacenter são mais recomendáveis para a otimização de recursos e redução de custos, garantindo a utilização máxima de cada Host Dedicado (“Dedicated Host”).

Para licenças de versões anteriores, tais como Windows Server 2012 R2, algumas variações de licenciamento além das mencionadas acima existem:

Windows Server Standard – Licenciamento por processador (per Socket): Garante a execução de duas instâncias EC2 por processador licenciado. Por exemplo, para garantir a execução de 4 Instâncias em um Host Dedicado de 2 Processadores (Sockets), 2 licenças do tipo Standard por processador serão necessárias. Para a execução 8 Instâncias, precisaríamos de um total de 4 licenças.

Windows Server Standard – Licenciamento por Core (Per Core): Garante a execução de 2 instâncias EC2 para cada Host licenciado em sua totalidade. Por exemplo, em um Host Dedicado de 48 Cores, uma licença (ou conjunto de licenças) Standard de 48 Cores permitirá a execução de 2 instâncias EC2.

Windows Server Datacenter – Licenciamento por processador (per Socket): Garante a otimização de recursos para EC2 em um Host Dedicado. Por exemplo, a execução de oito instâncias EC2 em um Host Dedicado de 2 Processadores estará totalmente coberto pela licença Datacenter cujo licenciamento abrange 2 Processadores (sockets).

Windows Server Datacenter – Licenciamento por Core (Per Core): Garante a otimização de recursos para EC2 em um Host Dedicado, mas com licenciamento voltado para Cores. Por exemplo, a execução de 12 instâncias EC2 de 4 cores cada em um Host Dedicado cujo total é de 48 cores estará totalmente coberta pela licença Datacenter caso licenciamento seja de um total de 48 Cores.

Vale ressaltar que, para todos os casos, licenças do tipo “Cloud Solution Provider Agreements” (CSP) não são elegíveis para o programa de BYOL da AWS.

Uma vez que as licenças estejam dentro destes termos, você poderá trazer a imagem (gerando assim uma AMI) destes servidores através de serviços nativos da AWS tais como VM Import/Export, AWS Application Migration ou Server Migration Services.

Além das licenças relacionadas ao Sistema Operacional Windows Server, membros dos programas de Software Assurance / License Included podem migrar aplicações como Microsoft Exchange, Sharepoint, Microsoft SQL, Dynamics e System Center e executá-las em instâncias EC2. Para uma lista completa dos softwares compatíveis e dos processos necessários para validação destas licenças, visite nossa página dedicada à Mobilidade de Licenças.

 

Licenciando banco de dados SQL Server

Por se tratar de um modelo de licenciamento que sofreu grandes mudanças ao longo do tempo – tornando assim o tema bastante complexo – nós preferimos separar uma seção deste artigo especialmente para discutirmos sobre como podemos utilizar as diferentes opções de licenciamento do SQL Server na AWS. Abaixo, faremos uma breve descrição geral sobre as versões mais recentes do SQL Server e do funcionamento de suas licenças, tomando por base as últimas três versões comerciais disponíveis: 2016, 2017 e 2019.

Versões disponíveis do SQL Server:

SQL Server Enterprise

A oferta Premium do SQL Server é o licenciamento Enterprise, que oferece todos os recursos disponíveis da suíte SQL e sendo portando a versão mais completa do produto. Além disso, clientes que façam uso desta versão possuem acesso à todas as opções de Business Intelligence (BI) e de virtualização ilimitada (caso você possua um contrato de Software Assurance). Esta versão utiliza os recursos de CPU e Memória máximos disponíveis para o Sistema Operacional e Databases de até 524 Petabytes (PB).

SQL Server Standard

A versão Standard do SQL Server possui recursos mais básicos de Business Inteligence (BI) quando comparada com a versão Enterprise, além de um limite de hardware de até 4 CPUs  (ou 24 Cores) e 128 GB de memória RAM para databases de até 524 Petabytes (PB).  Apesar disto, esta versão atende muito bem inúmeros casos de uso que se encaixem dentre destas limitações, uma vez que as demais opções são muito semelhantes às disponibilizadas pela versão Enterprise. Em termos de licenciamento, esta versão possui um custo muito menor do que a versão Enterprise.

SQL Server Web Edition

A versão do SQL Server Web Edition é uma opção de baixo custo voltada para provedores Web uma vez que possui recursos e capacidades desenhadas para aplicações de pequena escala. Esta versão conta com uma limitação de CPU de 4 processadores (ou 16 cores) e 64 GB de RAM, com um tamanho máximo de databases de até 524 Petabytes (PB).

SQL Server Developer

A versão SQL Server Developer pode ser usada para aplicações de desenvolvimento, teste e outros ambiente que não sejam de produção. Após o download através dos links disponibilizados pela própria Microsoft, nossos clientes podem instalar a edição do SQL Server 2019 Developer Edition em instâncias do Amazon EC2. Não é necessário ter uma infraestrutura dedicada (tais como Hosts Dedicados – Dedicated Hosts, ou Instâncias Dedicadas – Dedicated Instances, por exemplo) para a utilização desta versão. Além disso, vale ressaltar que essa versão possui os mesmos recursos da versão Enterprise, mas legalmente você não poderá utilizar este licenciamento em ambientes comercialmente produtivos.

SQL Server Express

A versão do SQL Server Express possui um nível básico de funcionalidades e é indicada para ambientes de testes e/ou aplicações pequenas uma vez que possui grandes limitações de hardware, permitindo por exemplo a utilização de apenas 1 processador (ou 4 cores), 1,4 GB de RAM e databases com tamanho máximo de 10 GB. Além disso, é comum encontrarmos SQL Express em algumas soluções de mercado que utilizem pequenas bases por ser gratuita ou até mesmo em opções de implementação de algumas funções do Windows Server, como Windows Server Update Services (WSUS).

Para uma avaliação mais completa das opções de cada uma destas versões, recomendamos a leitura desta página.

Antes de migrar suas soluções Microsoft SQL Server para AWS, nós sempre recomendamos que você faça uma avaliação de seu ambiente para entender efetivamente se as licenças já utilizadas ou que você pretende utilizar na nuvem, seja através do modelo BYOL ou do modelo L.I, são fato as melhores licenças para as suas necessidades técnicas ou de negócio. Uma vez que a arquitetura nativa da AWS compreende diversas possibilidades de performance, resiliência e segurança, em muitas ocasiões, a mudança de licenciamentos mais caros como os do tipo SQL Server Enteprise podem ser substituídos, gerando assim uma redução de custos bastante considerável. Para entender mais sobre estas possibilidades de redução de custos de licenciamento (também conhecido por downgrade ou step-down) sugerimos a leitura deste documento de licenciamento voltado exclusivamente para SQL Server.

Uma vez que as versões do SQL Server foram descritas e suas principais diferenças detalhadas, podemos prosseguir com os tipos de licenciamento disponíveis na AWS.

01 – Licenciamentos de SQL Server na AWS – Licenciando Instâncias EC2

Para instâncias EC2, a AWS oferece duas maneiras de licenciar seus bancos de dados SQL Server: através do modelo BYOL ou do modelo L.I:

Bring Your Own License (BYOL)

O principal motivo por trás da adesão deste modelo de licenciamento é redução de custos, uma vez que os clientes podem realizar a importação de licenças já adquiridas e utilizadas no ambiente On-Premises, preservando assim seus contratos vigentes e reduzindo o preço final da execução de servidores SQL na AWS. Vale ressaltar que, semelhante ao Windows Server, para estar autorizado a trazer suas licenças SQL Server para a AWS você também precisará estar dentro do compliance dos contratos de

Por questões contratuais, a importação de licenças BYOL só está disponível para ambientes EC2 (para o serviço de RDS o modelo de licenciamento L.I. é o único possível). Uma vez que a opção BYOL seja a opção escolhida para um estudo, devemos observar alguns fatores para garantirmos que o ambiente seja corretamente licenciado. Estas opções são as seguintes: licenças por Core (Núcleo) ou licenças por Servidor/CAL (Server/CAL).

Licenças por Core (per Core): este tipo de licenciamento é o mais comum, onde a licença do SQL Server está relacionada à quantidade de Cores (Núcleos) do servidor. Quando este tipo de licenciamento é trazido para a AWS, esta relação da Licença 2 Núcleo se mantém. Você poderá licenciar suas instâncias EC2 executadas em Hosts Dedicados (Dedicated Hosts) ou instâncias executadas no modelo Default Tenancy (ou seja, uma EC2 comum).

  • Para ilustrar melhor a situação de um cenário de Default Tenancy, imagine que você queira migrar dois (02) servidores físicos de seu ambiente On-Premises de 08 VCPUs cada, utilizando o licenciamento SQL Server Enterprise, e que o tipo de instância EC2 de destino selecionado é c5.2xlarge. Como este tipo de instância também conta com um total de 08 VPCUs, você precisará de um total de 16 Cores SQL Server Enterprise para execução de duas instâncias EC2 no modelo BYOL. Caso você esteja configurando servidores em ambientes de Alta Disponibilidade, a EC2 atuando como nó passivo não precisará de um licenciamento próprio já que o Software Assurance garante este benefício – ou seja, apenas 04 cores seriam licenciados neste cenário de Alta Disponibilidade.
  • Já no modelo de Host Dedicado (Dedicated Hosts), a opção mais recomendada devido ao SQL Server Enterprise possuir benefícios de virtualização em seu modelo de licenciamento, garantindo assim a otimização de custos – é licenciar os processadores físicos (sockets) do Host Dedicado. Neste cenário, um Host Dedicado do tipo C5 possui 2 Sockets e 36 núcleos, poderia ser licenciado tanto pelo Processador Físico – Socket (02) quanto pela quantidade de Núcleos (36) , utilizando assim a capacidade total do Host para criar suas instâncias (por exemplo 08 instâncias do tipo c5.2xlarge).
    A grande vantagem deste modelo é que cada licença de Core em um Host Dedicado garante a execução de 02 vCPUs. Desta forma, no exemplo mencionado acima, você precisaria de um total de 18 licenças de Cores/Núcleos físicos (ou seja, metade do total de Cores do Host) para a execução de um total de 72 vCPUs (distribuída entre 08 instâncias c5.2xlarge por exemplo).

A grande vantagem deste modelo é que cada licença de Core em um Host Dedicado garante a execução de 02 vCPUs. Desta forma, no exemplo mencionado acima, você precisaria de um total de 18 licenças de Cores/Núcleos físicos (ou seja, metade do total de Cores do Host) para a execução de um total de 72 vCPUs (distribuída entre 08 instâncias c5.2xlarge por exemplo).

Licenças Server/CAL: uma segunda opção – não tão comum – é utilizarmos o licenciamento Server/CAL em nossa migração BYOL. No modo de execução tipo padrão (“Shared Tenancy”), cada licença Per Server/CAL garante a execução de uma (01) instância EC2, independentemente da quantidade de VPCUs que ela possua. Para instâncias executadas em Hosts Dedicados (“Dedicated Hosts”) cada licença do tipo Per Server/CAL do SQL Server Enterprise garante a execução de até 04 instâncias EC2 (com um máximo de 20 VCPUs no total). Você pode combinar mais de uma licença do tipo Per Server/CAL para estender estes limites.

License Included (L.I. – Licença Incluída)

Muitos clientes preferem esse modelo por sua simplicidade, uma vez que ela se adequa ao modelo “Pay as you Go” (pague conforme o uso) da AWS, sem a necessidade de compromisso ou acordos com a Microsoft em relação ao licenciamento. Os valores das licenças estão totalmente embutidos no valor por hora destas instâncias, e o gerenciamento e administração de licenças é total abstraído da execução das instâncias, de maneira que você não precisará se preocupar com estas questões.

Dessa forma os clientes possuem uma flexibilidade que permite uma rápida inovação, em poucos minutos você pode lançar uma instancia com SQL Server licenciado. Caso você utilize ambientes de alta-disponibilidade que façam uso de nós passivos do SQL Server, recomendados que entre em contato com o nosso time AWS para maiores informações de como podemos otimizar estes custos de licenciamento.

 

Licenciamento de SQL Server para Amazon RDS:

A segunda possibilidade de execução de Databases SQL Server – muito mais interessante do ponto de vista gerencial por garantir processos automatizados de failover, backup, updates e por absorver o fardo de demais atividades administrativas complexas (o chamado “overhead” administrativo) – na AWS é através da utilização do serviço gerenciado chamado de Amazon RDS.

Apesar das instâncias EC2 permitirem que suas licenças de Microsoft SQL Server sejam importadas (caso atendam aos critérios mencionados anterior) através da utilização do programa de BYOL , para o Amazon RDS SQL Server apenas o modelo de Licença Incluída (L.I.) está disponível, o que significa que o preço de contratação de servidores RDS já inclui os valores totais de licenciamento. Vale ressaltar também que estes valores são consideravelmente reduzidos quando Instâncias Reservadas são adquiridas. Você pode criar servidores RDS SQL nas versões Enterprise, Standard, Web e Express, usufruindo assim das opções que cada uma delas garante conforme detalhamos anteriormente.

 

Licenciamento de SQL Server em arquiteturas Amazon RDS Multi-AZ:

Para garantirmos ambientes de Alta Disponibilidade no Amazon RDS, a utilização de databases configuradas como Multi-AZ é recomendada. Em termos de custos de implementação de licenciamento destas arquiteturas, instâncias de gerações mais novas tais como M5, R5 e x1 possuem um custo aproximadamente 25% menor do que a implementação de duas (02) instâncias Single-AZ, por exemplo ou quando comparadas com gerações antigas (como T2 ou M4, por exemplo). Desta forma, tanto o tipo de instância escolhida quanto a estratégia de alta-disponibilidade são pontos essenciais a serem estudados quando pensamos em adotarmos o serviço de RDS como nosso ambiente para bancos de dados Microsoft SQL Server. Você pode simular estes custos com melhor assertividade através da nossa Calculadora.

 

Convertendo Licenças

Caso você tenha criado um ambiente anteriormente utilizando um licenciamento que hoje parece ser ideal, você poderá contar com o auxílio do AWS License Manager para realizar conversões de licenças. Para maiores detalhes sobre este processo, recomendamos a leitura do documento disponível neste link.

 

Conclusão

Neste blog post, detalhamos as opções de licenciamento para soluções Microsoft na AWS. Caso você tenha dúvidas ou precise de algum apoio adicional sobre este tema, consulte nossas páginas de FAQ voltadas para licenciamentos Microsoft.

 


Sobre os autores

Lucas Henrique Garcia é arquiteto de soluções do time de SMB e trabalhou previamente do time de Premium Support na AWS em Dublin. Seu foco está em ajudar clientes da AWS a resolverem seus problemas e a desenhar arquiteturas para seus negócios.

 

 

 

 

Diego Voltz atua como arquiteto de soluções senior no seguimento de enterprise na AWS. Ele atuou por 15 anos como CTO de Startups no seguimento de Web Hosting e Health, tendo como foco virtualização, Storage e containers, hoje ajuda os clientes da AWS na jornada de adoção da nuvem e na otimização dos custos.