Home Empreendimento Armazenamento definido por software: tornando os benefícios das nuvens de hiperescala disponíveis para as massas

Armazenamento definido por software: tornando os benefícios das nuvens de hiperescala disponíveis para as massas

by Autor convidado

A computação mudou drasticamente, especialmente nos últimos dez anos. De acordo com a IDC, o surgimento de aplicativos móveis e da Web e a comoditização de ferramentas de criação de conteúdo aumentaram o consumo e a criação de conteúdo de terminal em pelo menos 30 vezes. Como tal, as empresas hoje procuram obter mais valor dos petabytes de dados que agora armazenam normalmente. Nuvens verdadeiramente de autoatendimento, operando em camadas de aplicativos e infraestrutura, agora são negócios multibilionários. As redes de sensores e outras interações máquina a máquina prometem outro salto exponencial na movimentação e armazenamento de dados. No entanto, apesar de todas essas mudanças monumentais no uso de dados e conteúdo, além dos aumentos na capacidade e no poder do processador, as arquiteturas de armazenamento comuns permaneceram basicamente inalteradas nos últimos vinte anos. Estamos tentando calcular em escala de vários petabytes com arquiteturas projetadas para terabytes.


Por Leo Leung, vice-presidente de marketing corporativo, Escalação

A computação mudou drasticamente, especialmente nos últimos dez anos. De acordo com a IDC, o surgimento de aplicativos móveis e da Web e a comoditização de ferramentas de criação de conteúdo aumentaram o consumo e a criação de conteúdo de terminal em pelo menos 30 vezes. Como tal, as empresas hoje procuram obter mais valor dos petabytes de dados que agora armazenam normalmente. Nuvens verdadeiramente de autoatendimento, operando em camadas de aplicativos e infraestrutura, agora são negócios multibilionários. As redes de sensores e outras interações máquina a máquina prometem outro salto exponencial na movimentação e armazenamento de dados. No entanto, apesar de todas essas mudanças monumentais no uso de dados e conteúdo, além dos aumentos na capacidade e no poder do processador, as arquiteturas de armazenamento comuns permaneceram basicamente inalteradas nos últimos vinte anos. Estamos tentando calcular em escala de vários petabytes com arquiteturas projetadas para terabytes.

O armazenamento definido por software (SDS) promete um modelo de armazenamento mais flexível, no qual o armazenamento realmente se torna um dos serviços entre outros serviços de computação. A independência de hardware faz parte dessa arquitetura, pois os dados e serviços devem fluir mais livremente quando os aplicativos mudam e os sistemas aumentam e diminuem. Em vez de incorporar a funcionalidade de gerenciamento de dados em dispositivos fechados proprietários, o SDS separa essa funcionalidade da funcionalidade de habilitação de hardware que se concentra nos dados e, naturalmente, abrange o hardware. Como outros padrões de comoditização de infraestrutura ao longo do tempo (por exemplo, soft switches), essa dissociação também expõe as margens infladas (60 por cento) contidas nos dispositivos de armazenamento atualmente.

Como o SDS costuma ser implantado em escala de vários petabytes, a disponibilidade deve ser extremamente alta e não requer intervenção em cenários de falha conhecidos. As interfaces de aplicativos devem ser amigáveis ​​tanto para os aplicativos existentes quanto para os novos aplicativos da Web e baseados em dispositivos móveis. O desempenho deve ser forte, linearmente escalonável e adequado para cargas de trabalho mistas. Serviços como proteção e recuperação de dados devem ser projetados para o mesmo nível de dinamismo e dimensionamento.

Isso contrasta fortemente com as arquiteturas de armazenamento herdadas, que estão completamente vinculadas ao hardware físico e incorporam recursos de disponibilidade, acesso a dados, desempenho, gerenciamento e durabilidade dentro do escopo limitado de dispositivos proprietários. Essas arquiteturas herdadas são projetadas para escala menor em cada uma das dimensões mencionadas.

A SAN ainda é uma boa abordagem para acesso de baixa latência aos dados, mas é ruim em escala massiva

A SAN foi projetada como a forma mais básica de interface com o armazenamento em uma rede local dedicada. Ele controla blocos de dados em pequenos volumes lógicos, mas não tem contexto do que são os dados e depende totalmente do aplicativo para organizar, catalogar e estruturar os dados. Por design, as SANs são limitadas em escala, interfaces e escopo, e geralmente têm custo mais alto devido à infraestrutura de rede dedicada.

O arquivo ainda é dominante e o NAS é um burro de carga, mas é desafiado em escala

O NAS também foi projetado como uma forma de interface com o armazenamento em rede local, mas fornece mais estrutura na forma de sistemas de arquivos e arquivos. Os sistemas de arquivos têm limites naturais com base nas estruturas internas locais usadas para gerenciar a hierarquia de arquivos e o acesso a arquivos. Devido às informações dentro da hierarquia de arquivos gerenciados, há uma percepção mais básica do conteúdo no sistema, mas está totalmente localizada em um controlador de armazenamento físico. Também por design, os sistemas NAS são limitados em escala e escopo. Os sistemas NAS em cluster estendem a escalabilidade da tecnologia, mas também têm limites naturais vinculados aos controladores físicos (numeração de 10 em XNUMX) e ao banco de dados central usado para acompanhar a hierarquia de arquivos e os arquivos.

O Object Storage aborda a escala, mas é muito limitado no suporte à carga de trabalho

Object Storage é uma tecnologia que cria abstração adicional, muitas vezes sobre e entre sistemas de arquivos locais. Isso significa que os dados no sistema são gerenciados como objetos (em vez de blocos ou arquivos) em um namespace global, com identificadores exclusivos para cada objeto. Esse namespace pode abranger centenas de servidores, permitindo um dimensionamento de capacidade mais fácil do que os modelos SAN ou NAS. 

No entanto, os armazenamentos de objetos são fundamentalmente limitados no suporte a aplicativos porque exigem que os aplicativos sejam reescritos para um tipo específico de API HTTP e o desempenho é normalmente limitado a cenários de gravação uma vez, leitura várias (WORM) ou gravação única, nunca leitura. Essa falta de desempenho se deve a arquiteturas que forçam o tráfego por meio de um conjunto limitado de nós de metadados, o que às vezes adiciona sobrecarga a esses nós limitados com serviços como codificação de eliminação.

O armazenamento definido por software foi projetado de forma holística para uma escala massiva

O armazenamento definido por software é uma nova abordagem que separa completamente a funcionalidade de armazenamento de hardware específico e, como resultado, permite implantação, escalabilidade, acessibilidade e operação mais flexíveis.

A dissociação do SDS permite que o software aproveite o hardware de forma independente, dimensionando a capacidade, o desempenho e a acessibilidade de forma independente com base no caso de uso. Esse tipo de personalização é impossível fora do armazenamento tradicional de ponta, que possui componentes de hardware criados especificamente para essa finalidade, limitando ainda assim a flexibilidade e a escala total.

A dissociação da funcionalidade de armazenamento do hardware também facilita a identificação de problemas no sistema geral, em vez de ter que solucionar problemas de dispositivos que combinam tratamento de exceções de hardware e software em uma pilha de baixo sinal para ruído.

Além da separação básica de software e hardware, os serviços de armazenamento SDS também aproveitam a dissociação, oferecendo serviços de capacidade, disponibilidade, durabilidade e acessibilidade que podem ultrapassar os limites físicos. Um atributo comum do SDS é o uso de armazenamento de objetos para criar um namespace quase ilimitado de objetos exclusivos. Isso transcende as unidades de gerenciamento de números de unidades lógicas (LUNs) e sistemas de arquivos, que têm limites de escala fundamentais por design. Isso permite que um sistema SDS seja dimensionado simplesmente adicionando mais capacidade física sem adicionar novas unidades de gerenciamento.

A disponibilidade de sistemas SDS também pode ser muito superior, aproveitando o espaço de rede privada entre os nós SDS. Em vez do arranjo de controlador ativo/passivo limitado da maioria dos sistemas SAN e NAS, ou o arranjo em cluster de NAS expansível, os sistemas SDS podem continuar a escalar para os milhares de endereços dentro de um domínio. Além disso, os sistemas SDS também podem aproveitar os algoritmos de roteamento avançados para garantir a resposta mesmo em topologias de grande escala e diante de vários cenários de falha. Isso vai muito além das simples malhas comutadas ou cadeias de armazenamento tradicional, onde uma matriz inteira pode cair devido a um simples erro de cabeamento.

A durabilidade dos sistemas de armazenamento tradicionais é projetada para suportar a falha ocasional de um ou dois discos, com necessidade de substituição quase imediata. Em um sistema de escala de petabytes, o número de discos começa na casa das centenas e geralmente cresce até a casa dos milhares. Mesmo com um tempo médio entre falhas alto (MTBF), vários discos sempre estarão fora do ar. Os sistemas SDS são projetados para esperar muitas falhas e muitos domínios de falha diferentes. Eles aproveitam naturalmente a capacidade distribuída e o processamento para esquemas de proteção distribuídos e reconstruções extremamente rápidas. Isso é necessário em escala versus o esquema de controlador duplo de arquiteturas de escalabilidade vertical, que têm sérios gargalos durante as reconstruções de disco ou outros serviços de armazenamento.

A acessibilidade era uma preocupação menor nos sistemas de armazenamento tradicionais. Servidores de aplicativos ou mainframes estavam em redes locais específicas de armazenamento com alguns protocolos maduros. Redes Ethernet compartilhadas e acesso misto público e privado são agora a norma. Os sistemas SDS devem suportar um conjunto muito mais amplo de requisitos. De acesso baseado na web a baseado em Ethernet, de recursos de armazenamento baseados em rede a serem implantados como um recurso local no servidor de aplicativos – o SDS tem que oferecer suporte a todos eles. 

Conforme indicado neste artigo, o armazenamento tradicional é altamente especializado, levando a muitos silos de funcionalidade e dados em uma grande empresa típica. Isso não é apenas altamente ineficiente do ponto de vista operacional, mas também não produz economias de escala e limita drasticamente as oportunidades de compartilhamento e reutilização de dados.

O SDS foi projetado para atender à maioria dos requisitos de integração de aplicativos, com protocolos que variam de persistentes a sem estado, de simples a altamente interativos e semanticamente ricos. Isso permite um ambiente de propósito geral, onde o armazenamento pode ser um serviço geral para aplicativos, independentemente de terem arquivos pequenos ou grandes, diferentes requisitos de proteção e diferentes necessidades de protocolo. Isso reduz os limites atuais entre NAS, objetos e armazenamento em fita, desbloqueando a alavancagem que os players de hiperescala desfrutam há anos e atualizando os serviços de armazenamento para um mundo onde a conectividade se ampliou para bilhões de endpoints.

Em resumo, os aplicativos e requisitos mudaram drasticamente. Com 90% de todos os dados criados apenas nos últimos dois anos; estamos diretamente na era Petabyte, com Exabytes ao virar da esquina. A dor da escala de petabytes e a busca por um valor de dados aprimorado se tornaram o catalisador para considerar novas abordagens, já que as abordagens tradicionais de décadas atingem seus limites projetados e são sobrecarregadas.

Discuta esta história

Sobre o autor

Você pode seguir Leo Leung no Twitter ou veja o site dele em techexpectations.org.