AWS

23 jun, 2016

Amazon News – duas novas opções de armazenamento de baixo custo para o EBS

Publicidade

O time de AWS gasta muito tempo procurando maneiras de desenvolver inovações baseadas em melhorias de preço/performance. Na maioria das vezes, isso significa enfrentar dilemas técnicos e econômicos.

No cenário atual da tecnologia, temos uma interessante comparação entre armazenamentos HDD e SSD. De um lado, os SSDs atuais fornecem maior IOPS por dólar, maior taxa de transferência por gigabyte e menor latência do que os HDDs atuais. Por outro lado, as vastas melhorias na capacidade de armazenamento dos HDDs diminui o custo por gigabyte, mas sacrifica o rendimento.

Então, o time de AWS aceitou o desafio de usar um HDD de baixo custo para construir alternativa para o EBS: um dispositivo de armazenamento com alta taxa de transferência, que iria entregar um desempenho constante para workloads comuns, como Big Data e processamento de log.

Com isso, a Amazon lançou dois tipos de armazenamento EBS que aliam baixo custo a alto rendimento com desempenho constante, para o uso com instâncias do EC2 e clusters do Amazon EMR.

  • HDD de Rendimento Otimizado (st1) – Projetado para MapReduce de alto rendimento, Kafka, ETL, processamento de log e workloads de data warehouse; $ 0,045/ gigabyte/ mês.
  • Cold HDD (sc1) – Projetado para workloads semelhantes aos de rendimento otimizado, que acessam o HDD com menos frequência; $ 0,025/ gigabyte/ mês.

Assim como o já existente tipo de armazenamento SSD de uso geral (gp2), o novo armazenamento magnético oferece opções de performance base, de alto rendimento e de burst credit bucket (credito otimizado). Enquanto os dispositivos SSD definem performance por meio de operações de entrada e saída por segundo, os novos SSDs a definem baseados em rendimento. Os valores otimizados são baseados na quantidade de armazenamento provisionado para o volume.

  • HDD de Rendimento Otimizado (st1) – Começa em 250 MB/s para um volume de 1 terabyte e cresce 250 MB/s para cada terabyte provisionado adicional até atingir uma taxa de transferência máxima otimizada de 500 MB/s.
  • Cold HDD (sc1)Começa em 80 MB/s para um volume de 1 terabyte e cresce por 80 MB/s para cada terabyte provisionado adicional até atingir uma taxa de transferência máxima otimizada de 250 MB/s.

Evolução do EBS

De acordo com Jeff Barr, Chief Evangelist da AWS.

Os produtos orientados ao cliente e ao desenvolvimento de recursos devem ser sempre estar embasados em revolução. Novas opções de oferta, muitas vezes, abrangem um grande espectro de soluções, que se ajustam a uma ampla variedade de casos de uso. Ao longo do tempo, conforme observamos como os clientes desenvolvem novas soluções e nos fornecem feedback sobre como podemos fazer ainda melhor, criamos uma única oferta inicial, que, muitas vezes, se subdivide em várias novas ofertas, cada uma personalizada para as necessidades de cada cliente e/ou caso de uso.

As diversas opções de armazenamento para instâncias EC2 são bons exemplos disso. Aqui está um Brief da linha do tempo de alguns dos recursos mais importantes já desenvolvidos.

  • 2006 – EC2 lançado com armazenamento instanciado.
  • 2008 – EBS (Elastic Block Storage) lançado no armazenamento magnético.
  • 2012 – EBS de IOPS Provisionado e EBS de Instâncias Otimizadas.
  • 2014 – SSD-Backed armazenamento de uso geral.
  • 2014 – EBS volume de dados encriptados.
  • 2015 – Volumes EBS mais rápidos e maiores.
  • 2015 – EBS encriptação de volume de boot.
  • 2016 – EBS HDD de Rendimento Otimizado HDD (st1) e discos de Cold HDD (sc1) .

Características da carga de trabalho (workload)

Especialmente personalizados, os armazenamentos magnéticos têm um ótimo custo-benefício quando usados em operações de Big Data. Para operações menores, recomenda-se o uso de SSDs, que são perfeitos para tarefas de escrita e leitura de baixo volume. Para atingir bons desempenhos, é necessário um grande volume de I/O, e isso comumente ocorre em Big Data, graças à capacidade dos volumes magnéticos de transferir dados com grande rapidez.

Caso a sua aplicação faça uso do sistema de arquivos e do cache de página do sistema operacional (como todas as aplicações geralmente fazem), recomenda-se que você configure o volume de memória temporária de leitura prévia de 1 MiB na instância EC2, à qual o volume está ligado. Veja como você pode fazer isso usando uma instância que está executando o Ubuntu ou que foi inicializado a partir da Amazon Linux AMI (ajustar o nome do dispositivo conforme necessário):

$ sudo blockdev --setra 2048 /dev/xvdf

O valor é expresso como o número de sectores com 512 bytes para ser utilizado para armazenamento em buffer.

Esse valor irá melhorar o desempenho de leitura para cargas de trabalho, que consistem de grandes leituras sequenciais. No entanto, pode aumentar a latência para cargas de trabalho que consistam em pequenas operações de leitura aleatória.
A maioria dos clientes está usando versões anteriores à 4.2 do kernel do Linux e somente necessitam personalizar a configuração de leitura. Para os clientes que utilizam kernels mais recentes também recomendamos a configuração xen_blkfront.max para 256 para um melhor desempenho. Para configurar esse parâmetro na instância, rodando no Amazon Linux AMI, configure /boot/grub/menu.list para que chame o seguinte kernel:
kernel /boot/vmlinuz-4.4.5-15.26.amzn1.x86_64 root=LABEL=/ console=ttyS0 xen_blkfront.max=256

Se o seu arquivo contém várias entradas, edite aquele que corresponde ao kernel ativo. Essa é uma definição de tempo de inicialização, de modo que você precisará reiniciar a instância para que a configuração tenha efeito. Se você estiver usando uma distribuição Linux que não use o GRUB, você precisará descobrir como fazer o equivalente alterar a sua configuração.

Modelo de CloudFormation para testes

Ainda é possível usar um ambiente de teste em bases reprodutivas criado pela Amazon. Use o Modelo st1 para criar instâncias EC2 com armazenamento st1 de 2 Terabyte. Para maiores informações, consulte Instruções do modelo st1 template.

Se necessário, ainda é possível adicionar mais performance usando EBS-Optimized instances e RAID para criar um arquivo de sistemas maior e/ou suportar mais IOPS. Saiba mais sobre Configurações RAID no Linux e Configurações RAID no Windows.

Ficou alguma dúvida ou tem alguma contribuição? Aproveite os campos abaixo! E se você quer saber um pouco mais sobre os nossos serviços em AWS, entre em contato com o nosso comercial.