Instâncias EC2 podem tirar uma boa “soneca”? Sim! A partir de agora…

… as VMs criadas e inicializadas com base nas unidades de processamento AWS Graviton, poderão hibernar para economizar os recursos computacionais oferecidos por elas, conforme o anúncio oficial feito pala Amazon. Além disso, a hibernação também traz outros benefícios importantes para a performance geral destas VMs, já que poderemos retornar para a sua execução de forma bem mais rápida, se comparado a interrupção (stop) e reinicialização (start). Mas…

“When customers hibernate an instance, EC2 signals the operating system to perform hibernation (suspend-to-disk). This process saves the contents of the instance’s memory (RAM) to the associated Amazon Elastic Block Store (Amazon EBS) root volume. EC2 then persists the instance’s EBS root volume and any attached EBS data volumes. When a hibernated instance resumes, EC2 restores the root volume to its previous state, along with the RAM contents and any previously attached data volumes.”

— by AWS News.

Embora este recurso seja algo novo para as instâncias EC2 da AWS, ele já foi implementado em VMs de outros provedores de serviços “nas nuvens”, como o Microsoft Azure e o Google Cloud Platform. Eis, a questão: porquê somente agora? Esta novidade me fez pesquisar mais à fundo sobre o assunto, o que acabou resultando na descoberta de uma postagem da própria AWS, com instruções de como proceder para realizar a hibernação das suas VMs! O ponto mais interessante disto é que a publicação foi feita em nov/2018, coincidindo com o lançamento da primeira geração de processadores AWS Graviton. Por isto, acredito que este recurso só deveria estar disponível até então, para as VMs baseadas em CPUs x86.

Voltando ao assunto, as instâncias EC2 sinalizam ao sistema operacional para executar a hibernação (suspensão para disco) a partir do momento em que os seus clientes fazem a solicitação. A partir daí, este processo salva o conteúdo da memória das instâncias (RAM) no volume raiz do Amazon EBS associado (Elastic Block Store), já que ele executa a função de uma unidade de armazenamento local. Depois que as instâncias hibernadas são retomadas, elas restauram o volume raiz ao seu estado anterior, juntamente com os dados que estavam armazenados na memória RAM, além de outros volumes de dados anexados anteriormente. Os usuários poderão hibernar as VMs por meio de serviços como o AWS CloudFormation e o AWS Management Console, além de poder lançar mão dos AWS SDKs, do AWS Tools for Powershell e até mesmo da AWS Command Line Interface (CLI).

A Amazon irá oferecer a capacidade de hibernação em uma variedade de tipos de instância EC2, com suporte para novos tipos de instância adicionais, as quais serão incluídas regularmente (embora não seja mencionado, presumo que sejam baseadas nas CPUs AWS Graviton). Além da maior performance proporcionada, os usuários também terão outros benefícios como a economia, já que eles somente serão cobrados pelos volumes EBS utilizados para armazenar os dados das VMs, incluindo o conteúdo salvo da memória da instância. Nem sequer será feitas as cobranças pelo uso da instância ou transferência de dados durante a hibernação.

Tirar uma “sonequinha” de vez em quando é bom demais! Mas “acordar”… &;-D