Como transformamos uma anomalia estatística em um serviço: alcançando o próximo nível do armazenamento em nuvem

imagem



Quase qualquer empresa enfrenta uma carga flutuante: agora silêncio, depois uma tempestade. Você não precisa ir longe para obter exemplos:



  • o tráfego da loja online pode flutuar significativamente dependendo da hora do dia ou da estação;
  • os serviços internos das empresas podem ficar "vazios" durante semanas e, às vésperas da apresentação do relatório trimestral, seu comparecimento aumentará drasticamente.


Em seguida, falaremos sobre como ajudamos nossos clientes a resolver esse problema, introduzindo um novo nível de armazenamento com IOPS personalizado.



Algumas palavras sobre discos



Todos os nossos clientes desejam mais ou menos uma coisa - obter uma infraestrutura confiável que atenda aos requisitos dos processos de negócios a um bom preço. Assim, nós, como provedor de nuvem, nos deparamos com a tarefa de construir serviços e serviços de forma que possamos encontrar facilmente a solução ideal para cada cliente.

Anteriormente, tínhamos duas camadas de armazenamento: st2 e gp2. O número "2" em nossa terminologia interna significa uma versão mais recente e aprimorada.



st2: Padrão (HDD) - Mídia SAS HDD de baixo custo e de lazer . Excelente para serviços onde o IOPS não é crítico, mas a largura de banda é importante.



Seus parâmetros são os seguintes: tempo de resposta - não mais que 10 ms, desempenho de discos até 2.000 GB - 500 IOPS, de 2.000 GB - 1000 IOPS, e a largura de banda aumenta a cada gigabyte e atinge 500 MB / s para os mesmos 2.000 GB.



GP2: Universal (SSD) - unidades SSD SAS mais caras e rápidas. Adequado para clientes cujas aplicações são mais exigentes em termos de IOPS. Por exemplo - bancos de dados de lojas online.



Os parâmetros Gp2 são especificados no SLA. O desempenho em IOPS é calculado por volume - há 10 IOPS por GB. A barra superior é de 10.000 IOPS. E o tempo de resposta de tais discos não é superior a 2 ms. Este é um desempenho bastante alto, capaz de completar 97% das tarefas de negócios.



Ao longo dos anos de trabalho, acumulamos muitas estatísticas e conhecimentos em relação aos clientes e percebemos que alguns deles não se sentem totalmente à vontade ao escolher entre duas opções de acionamento. Por exemplo, alguém pode querer melhor desempenho do que 10 IOPS por gigabyte. Ou uma carga flutuante não permite parar em um dos tipos, e pagar pelo pronto para a hora do rush, mas a capacidade ociosa periodicamente também não é uma opção.



Você pode simular um caso tópico simples. Durante a pandemia, uma empresa precisou emitir passes para funcionários. Para que eles possam dirigir com segurança por Moscou. O quadro de funcionários é grande, duas mil pessoas. Foi emitido um pedido de atualização urgente de dados pessoais no sistema CRM corporativo. Não antes de dizer que acabou. Mais de mil pessoas correram simultaneamente para atualizar as informações. Mas pessoas econômicas estavam envolvidas no CRM. Pouca capacidade foi alocada. Ninguém esperava que mais de dez pessoas subissem nela ao mesmo tempo! Tudo caiu e não poderia subir por mais um dia. Os processos de negócios foram interrompidos, as pessoas estão sentadas em casa e têm medo de multas. E se houvesse uma oportunidade de "ajustar" de maneira flexível o desempenho dos discos na nuvem, eles aumentariam o IOPS por um curto período e depois o devolveriam como estava, eliminando ou reduzindo significativamente o tempo de inatividade do CRM.



Por um lado, a situação é grotesca, o percentual de clientes com essas necessidades não é muito grande. Um pequeno provedor até mesmo consideraria sua existência uma anomalia estatística e não tomaria nenhuma providência. Por outro lado, organizar um novo nível de armazenamento nos permitirá aumentar a flexibilidade de serviços para todos os clientes. Isso significa que temos que fazer isso.



Se você acompanha nosso blog há muito tempo, provavelmente se lembra do artigo em que falamos sobre uma série de experimentos com Dell EMC ScaleIO (agora PowerFlex OS) e sua implementação na nuvem CROC. Seja como for, recomendamos que você se familiarize com ele para um entendimento geral.



Em termos gerais, digamos: ScaleIO (o DellEMC renomeou ScaleIO primeiro para VxFlex OS e de 25 de junho de 2020 para PowerFlex OS) é um armazenamento definido por software, SDS, superv versátil e confiável. Confiabilidade é nosso requisito # 0. Portanto, cada nó que faz parte do Storage Pool é instalado em um rack separado, o que elimina a possibilidade de perda de dados em caso de perda parcial de energia no data center ou localmente no rack.



Se um disco, servidor ou rack inteiro falhar, teremos tempo suficiente para replicar os dados para outros hosts e, posteriormente, substituir o elemento com falha. Se dois racks morrerem ao mesmo tempo, nada será perdido de qualquer maneira. Nessa situação, o cluster entrará em modo de emergência, a gravação e a leitura de dados dos discos serão limitadas, mas após a restauração da conectividade com o rack "caído", o próprio PowerFlex OS assumirá o processo de reconstrução dos dados e recuperação do cluster. A propósito, esse processo geralmente não leva mais do que alguns minutos.



Esta é, obviamente, uma situação de emergência - os aplicativos que não podem ler e gravar irão "cair" imediatamente, mas a perda mesmo de uma grande parte da infraestrutura não destruirá os dados. Mesmo que a probabilidade de falha de dois racks em partes diferentes da sala da turbina seja extremamente pequena, isso não significa que não deva ser levada em consideração.



Em termos de versatilidade, o PowerFlex OS (anteriormente ScaleIO) também é ideal para nossos requisitos. Na verdade, este é um construtor, pronto para aceitar qualquer carga de trabalho e capaz de "aceitar" HDDs SATA / SAS lentos, SSDs rápidos e drives NVME ultrarrápidos. E isso é realmente verdade - ele foi testado em vários estágios e bancadas de teste de equipes de desenvolvimento e operação, você pode montar um cluster praticamente de merda e varas de qualquer ferro velho.



Música das cinco às seis



Vamos dar uma olhada em um dos cenários em que um cliente pode precisar de desempenho flexível com um exemplo do mundo real. Entre nossos clientes existe uma rede de lojas de instrumentos musicais. Os técnicos da empresa rastreiam quantos visitantes visitam seu site a cada dia e hora. Isso se reflete até no nosso SLA: das 17h às 18h a loja recebe o número máximo de clientes, portanto não deve haver trabalho técnico ou paralisação.



A prática de cálculo padrão é quando 100% da carga é dividida em 24 horas. Acontece cerca de 4% a cada hora. Para uma rede de lojas de música, essa hora específica "pesa" não 4, mas 10% - isso significa dezenas de milhares de visitantes e clientes.



Conseqüentemente, seria muito conveniente para o cliente se nesta hora "dourada" seus discos se tornassem mais rápidos como por mágica,o cliente está mais gordo, e no resto do tempo eles custam e funcionam normalmente. É muito difícil conseguir esse efeito com dois tipos de disco.



Agora temos a oportunidade de dar aos clientes pelo menos 30, pelo menos 50 mil IOPS durante as horas de maior movimento, e o resto do tempo para manter o desempenho no nível normal. Chamamos esse tipo de armazenamento de io2: Ultimate (SSD). O tempo de resposta dos discos baseados neste tipo de armazenamento não é superior a 1 ms!



E mais uma vez sobre a confiabilidade: st2, gp2 e o novo io2 são independentes, independentes um do outro Storage Pools em um cluster PowerFlex.



Se antes o cliente selecionava um disco e recebia um desempenho fixo, agora ele pode selecionar e configurá-lo, desempenho. Independentemente do volume. A filosofia é a seguinte: você pode obter um disco enorme e rápido de um grande número de fornecedores, mas você está pronto para pagar por isso 100% do tempo?



Como gerenciar



Existem duas maneiras de gerenciar o desempenho: a maneira antiga, por meio da interface da web, e usando a API. Isso torna possível escrever scripts simples que irão "acelerar" ou "desacelerar" os discos de acordo com uma programação e, consequentemente, economizar seu dinheiro.



Se antes podíamos levar qualquer carga solicitada pelo cliente, agora podemos fazer com o melhor preço.



É assim que parece na prática.





Aumentar a adaptabilidade da infraestrutura em nuvem é uma tendência relevante e muito correta. Você não pode dizer ao cliente: "Pegue o que eles dão, ou mesmo isso não vai acontecer!" Ele deve ser capaz de decidir de quais recursos, quando e de quanto ele precisa. O futuro está nessas soluções flexíveis e confiáveis.



Garantimos os nossos serviços: todos os parâmetros estão enunciados no SLA, e pode contar com que os números "no papel" não divergem dos reais.

E como verificar seu provedor de nuvem, já escrevemos no artigo anterior .



All Articles