X

Explicação técnica A visão da Seagate Kinetic Open Storage

Veja como uma nova plataforma baseada em dispositivo e ferramentas de desenvolvimento de API atendem às necessidades das infraestruturas de armazenamento atuais. A plataforma Seagate® Kinetic Open Storage é uma nova classe de discos Ethernet de chave/valor com ferramentas de desenvolvimento e APIs para possibilitar abordagens de expansão horizontal, voltadas a objetos e definidas por software.

kinetic-vision-how-seagate-new-developer-tools-meets-the-needs-of-cloud-storage-platforms-kinetic-platform-gallery

O mundo do armazenamento mudou: tipos de dados, modelos de acesso, demanda e casos de uso

No decorrer da década passada, o crescimento explosivo dos aplicativos de grande escala controlados por dados começou a mudar a natureza da infraestrutura de armazenamento corporativo fundamentalmente. O paradigma tradicional dos sistemas baseados em arquivos e centrados em hardware está desacelerando para abrir caminho para as novas abordagens baseadas em objeto e definidas por software.

O novo paradigma é voltado para objetos: um mundo de fotografias, filmes, comércio eletrônico e dados da Web, pesquisas, jogos e arquivamentos de tudo isso. Nesse mundo, os objetos (informações) são gravados, lidos e excluídos, mas nunca modificados. Cada vez mais, sistemas e centrais de dados são projetados para oferecer capacidade, em vez de desempenho. O armazenamento em camadas e distribuição tornaram-se essenciais. A análise virou rotina e base: sob demanda, em tempo real, através de qualquer dimensão e qualquer necessidade de dados.

Além disso, como a Ethernet é a estrutura de centrais de dados e tráfego de aplicativos incontestável, emergiu como a espinha dorsal da infraestrutura de armazenamento, o que não é nenhuma surpresa. Isso pode ser percebido pelo crescimento fenomenal da infraestrutura de desktop e servidor virtual, bem como pela enorme adoção do Amazon Web Services para validar esse ponto.

Esse crescimento é impulsionado pela galopante proeminência dos dados móveis, sociais, de computação em nuvem e big data.  Esses aplicativos dependem de dados que são, em sua maioria, não estruturados (ou semi-estruturados) e fáceis e baratos de criar. Como resultado, o valor da análise, regulamentação e expectativas pessoais para a preservação de dados estimularão o crescimento da infraestrutura de armazenamento agora e no futuro previsível.

A combinação desses fatores redefine os dispositivos de armazenamento, interfaces e arquiteturas full-stack. Para que o setor alcance o crescimento exigido para suportar essas demandas de armazenamento, devemos remover camadas de ineficiência das arquiteturas legadas e introduzir uma nova abordagem otimizada para as necessidades do aplicativo de expansão horizontal e central de dados.

As ferramentas de desenvolvimento da Seagate Kinetic Open Storage fazem exatamente isso. Elas implementam e possibilitam o empilhamento mais eficiente (dispositivos, protocolo, interface, software, sistemas) para garantir otimização para as futuras demandas de aplicativo, possibilitam, de forma exclusiva, o desenvolvimento de aplicativos orientados a objetos, para tirar vantagem diretamente do armazenamento, e geram inovação na central de dados de expansão horizontal. Com isso, obtemos ganhos significativos em desempenho, gerenciabilidade e custo total de propriedade (TCO).

A central de dados Seagate Kinetic Open Storage versus o modelo tradicional: desintermediação, desagregação, segurança

A plataforma Seagate Kinetic Storage representa uma oportunidade para substancialmente tratarmos das ineficiências das centrais de dados tradicionais, cujas arquiteturas legadas não são bem adaptadas às cargas de trabalho altamente distribuídas e de capacidade otimizada dos crescentes aplicativos e dados não estruturados.

As centrais de dados atuais são caracterizadas pelas várias camadas de software e hardware empilhadas juntas a fim de criar um caminho de dados entre dois sistemas poucos compatíveis: uma camada de aplicativos orientados a objetos e uma camada de hardware (com HDDs, SSDs e fita) baseada em armazenamento em blocos. O caminho de trânsito do aplicativo para o armazenamento requer várias camadas de manipulação de bancos de dados, até as interfaces POSIX, sistemas de arquivos, gerenciadores de volumes e drivers. As informações passam pela Ethernet, pelo Fibre Channel, até controladores RAID, expansores SAS e adaptadores de barramento de host SATA.

Por exemplo, um empilhamento tradicional se assemelha à Figura 1, abaixo:

articlename-figure#-widthxheight.jpg, alt text

Figura 1: Modelo do empilhamento de armazenamento tradicional: servidor, servidor de armazenamento e dispositivos

Além da ineficiência óbvia de ter que atravessar várias camadas, esse modelo é baseado em uma suposição desatualizada sobre o funcionamento de dispositivos de armazenamento locais, que eram organizados de acordo com os atributos físicos de um dispositivo. Tudo isso mudou. Entretanto, o empilhamento de software não evoluiu adequadamente.

A maioria dos aplicativos de objetos de grande escala não precisa de semântica de arquivos ou um sistema de arquivos para determinar e manter a melhor estratégia para gerenciamento de espaço em um dispositivo. Os aplicativos modernos precisam somente de semântica de objetos (por exemplo, gravar tudo, ler tudo, excluir tudo, referir-se por meio de um identificador escolhido pelo cliente e gerente de cluster), e não da localização dos dados em um determinado dispositivo.

Para gerenciar essa complexidade, um ecossistema inteiro de provedores de tecnologia de servidor de armazenamento (de hardware e de software) surgiu puramente para abstraí-la das camadas de dispositivo e aplicativo. Isso não só é ineficiente, como introduz barreiras adicionais entre os dois lados, que podem impedir o aparecimento dos recursos e funcionalidades do armazenamento.

E se pudéssemos começar do zero e reestruturar o empilhamento de baixo para cima? Como seria se aplicativos voltados a objetos pudessem se conectar diretamente na linguagem do dispositivo de armazenamento? Bem, seria como a plataforma Seagate Kinetic Storage.

A plataforma Seagate Kinetic Open Storage

A plataforma Seagate Kinetic Storage é:

  • Uma nova classe de discos Ethernet de valor/chave com ferramentas de desenvolvimento, que incluem uma interface de programação de aplicativos (API) aberta e bibliotecas associadas
  • Projetada para fornecer a abstração de semântica mais simples e possibilitar o conjunto de aplicativos mais amplo por meio de APIs fáceis de usar
  • Uma plataforma eficiente para maximizar a inovação

Juntos, esses elementos fazem com que os aplicativos sejam direcionados diretamente para os dispositivos de armazenamento e tirem o máximo proveito dos recursos do armazenamento. Os discos se comunicam em chaves e valores. Por exemplo, com get (obter), put (colocar) e delete (excluir). Com isso, os aplicativos distribuem objetos e gerenciam clusters, deixando que o disco gerencie de forma eficiente funcionalidades, como

  • Ordenação de chaves de gerenciamento (objeto)
  • Qualidade de serviço
  • Migração de dados de disco para disco baseada em políticas
  • Tratamento de falhas parciais de dispositivos e outros gerenciamentos
  • Segurança de dados em repouso   

Desse modo, ao contrário do empilhamento tradicional descrito acima, o empilhamento da plataforma Seagate Kinetic Storage pode se parecer com a Figura 2.

articlename-figure#-widthxheight.jpg, alt text

Figura 2. O empilhamento da plataforma Seagate Kinetic Storage

O modelo Seagate Kinetic Storage tem inúmeras implicações significativas e empolgantes. Por exemplo:

  • Camadas supérfluas de hardware e software legados são removidas.
  • A necessidade de haver uma camada de servidor de armazenamento tradicional é eliminada.
  • O armazenamento pode ser verdadeiramente desagregado da computação.
  • Os racks podem ser mais densos.
  • As ventoinhas são minimizadas.
  • O tráfego de dados utiliza a estrutura de trânsito existente da central de dados (Ethernet).
  • O gerenciamento operacional da central de dados é simplificado e os custos e os riscos são reduzidos.

A expansão horizontal é simplificada, tem boa relação custo-benefício e não tem limites impostos pelas arquiteturas e infraestruturas legadas.  Agora, as informações estão a apenas um endereço IP de distância.

APIs da plataforma Segate Kinetic Open Storage

As APIs foram criadas para fornecer aos desenvolvedores acesso direto a recursos e funcionalidades de armazenamento essenciais e otimizados de uma forma aberta e extensível. Os desenvolvedores que utilizarem vários empilhamentos de software — de código aberto e patenteado — e trabalharem dentro da arquitetura da central de dados poderão criar projetos a partir da plataforma Seagate Kinetic Storage para superar os desafios mais complexos do armazenamento. O design é específico para estimular a inovação aberta em software, possibilitando que problemas únicos sejam solucionados de forma flexível e otimizada.

Além disso, uma diversidade de recursos de disco rígido, há muito tempo desejados, são possíveis agora. Por exemplo:

  • Compartilhamento de dados — O compartilhamento de dados entre discos era bastante difícil. Com as APIs Kinetic Storage, os dados podem ser facilmente compartilhados entre aplicativos de várias origens. Um aplicativo pode gravar uma chave e um valor para um disco, enquanto outro pode ler os dados.
  • Trânsito de disco para disco — Tradicionalmente, mover dados de um disco para outro exigia seu roteamento por meio de servidores de armazenamento caros. Agora, com as APIs Kinetic Storage, os dados podem ser movidos diretamente entre discos com comandos de cópia de dados peer-to-peer, nos quais intervalos de chaves podem ser movidos entre discos.
  • Integridade de dados — Infelizmente, a corrupção de dados silenciosa é um fato da vida. Com a plataforma Kinetic Storage, os dados podem ser armazenados com verificações de integridade abrangentes e completas, que garantem que os dados foram recebidos no disco corretamente, possibilitando que o disco e, por fim, o destinatário assegurem que os dados permaneçam corretos.

Além desses valores, a abstração de chave/valor da plataforma Seagate Kinetic Storage impulsiona a inovação de disco (por exemplo, em tecnologia de mídia, tamanho de setor) para avançar de forma paralela e independente da inovação de software acima da camada da Seagate Kinetic Storage. Os desenvolvedores não precisam mais implementar mudanças no software para se beneficiarem dos avanços tecnológicos em disco subjacentes. O aplicativo simplesmente opera em chaves e valores definidos e o disco executa de forma dinâmica e otimizada por trás da Seagate Kinetic Storage.

A proposta de valor da Seagate Kinetic Open Storage: desempenho, escalabilidade, simplicidade, TCO e segurança

A plataforma Seagate Kinetic Storage conta com uma arquitetura que gera escalabilidade e desempenho de armazenamento flexível e simples. Ela promove um TCO otimizado para o armazenamento da central de dados com economias em despesas de capital e despesas operacionais.

Desempenho

Por design, os discos compatíveis com a Seagate Kinetic Storage são armazenamentos de chave/valor nativos. Isso transfere a carga de manter o mapeamento de espaço do dispositivo de um sistema de arquivos para o próprio disco. Os aplicativos podem colocar e obter objetos e não precisam mais adivinhar o layout do LBA ou estabelecer a localização dos dados. Essa transferência elimina amplamente uma quantidade bastante significativa de E/S no disco que não move dados, mas representa uma sobrecarga relacionada a metadados e sistema de arquivos.

Também há o benefício extra da escalabilidade: à medida que os fabricantes de dispositivos e os operadores de central de dados em nuvem aumentarem a capacidade dos dispositivos da forma mais agressiva possível, a maior eficiência de E/S, e a utilização de E/S líquida resultante, possibilitará uma expansão mais equilibrada de E/S e capacidade, além de desempenho absoluto em um determinado disco e no cluster da Seagate Kinetic Storage.

Ganhos incrementais de desempenho descendente são obtidos com a gerenciabilidade aprimorada produzida pela abstração semântica de chave/valor. Por exemplo, essa abstração possibilita o tratamento suave de falhas de dispositivo, incluindo falhas parciais, em alguns casos sem os longos tempos de recriação correspondentes característicos dos discos de grande capacidade.

Expansão

A plataforma Seagate Kinetic Storage é otimizada exclusivamente para centrais de dados de expansão horizontal e crescimento explosivo. A arquitetura da Seagate Kinetic Storage, com sua desagregação do armazenamento da computação, possibilita que os operadores de dados em nuvem simplesmente adicionem armazenamento conforme for necessário aumentar a capacidade. Além disso, o impacto combinado da conectividade Ethernet e a estrutura de comandos de API de chaves/valores faz com que capacidade incremental possa ser expandida de uma maneira altamente distribuída com a replicação direcionada dos dados de disco para disco com custos de investimento e de sistema adicionais mínimos.

Simplicidade e fácil adoção

Os clientes podem criar os seus próprios aplicativos de gerenciamento ou chamar o disco diretamente usando as APIs da Seagate Kinetic Storage. As APIs foram desenvolvidas para possibilitar a rápida integração em uma grande variedade de aplicativos de software de armazenamento. Além disso, os dispositivos Seagate Kinetic Storage podem ser detectados dinamicamente, permitindo a adoção em centrais de dados existentes e o desenvolvimento de ambientes heterogêneos.

Discos específicos da Seagate são fornecidos com uma abrangente biblioteca de espaço de usuário para que os aplicativos acessem o disco diretamente. Essa biblioteca fornece a interface completa para acessar dados e gerenciar o disco. Ela se desvia do empilhamento de armazenamento de sistema operacional normal e permite que o aplicativo se comunique diretamente com o disco, como se estivesse interagindo com outro serviço na central de dados. Esse processo utiliza uma chamada de procedimento remoto (RPC) de aplicativo comum. Atualmente, a API da plataforma Kinetic Storage fornece bibliotecas para Java, C++, C, Python e Erlang, e, posteriormente, para outras linguagens.

Com a API da Seagate Kinetic Storage, os aplicativos podem interagir com o disco como se fossem um serviço comum de chave/valor na rede. Ela possibilita que os aplicativos coloquem dados no formulário de chaves e valores e obtenham esses dados de volta especificando somente a chave. Como era de se esperar, as chaves e seus valores podem ser excluídos. As chaves também são ordenadas de modo que uma pesquisa das chaves dentro de intervalos e a localização das chaves seguintes e anteriores sejam possíveis.

O esquema abaixo mostra a arquitetura básica.

articlename-figure#-widthxheight.jpg, alt text

As implementações iniciais da API da Seagate Kinetic Storage incluem Swift e Riak CS, com outras em andamento. Com esses sistemas, milhares de discos podem ser gerenciados como um só cluster de armazenamento confiável. Utilizando esses softwares de gerenciamento de terceiros, não só os dados são armazenados de forma confiável (usando codificação de apagamento e/ou replicação), como os discos com falha também são recuperados de modo transparente para os aplicativos.

Também há comandos de gerenciamento de discos extensivos que possibilitam que o disco relate informe condições e gerencie quem tem permissão para se comunicar com o disco.

Aprimoramento do TCO

A plataforma Seagate Kinetic Storage permite a implementação de novas arquiteturas de central de dados. Isso se deve ao fato de os discos Seagate Kinetic Storage poderem fazer interface diretamente com os aplicativos, eliminando uma camada inteira de hardware.

Com essa vantagem tecnológica, podemos ter racks de armazenamento mais densos, o que afeta o TCO em várias áreas diferentes:

  • Gasto de capital mais baixo — As arquiteturas da Seagate Kinetic Storage possibilitam remover servidores de armazenamento da central de dados. Isso se traduz diretamente em um gasto de capital mais baixo na montagem de centrais de dados. Como alternativa, com um nível de gasto de capital comparável, os clientes podem alocar muito mais capacidade de armazenamento no mesmo espaço físico.
  • Mão de obra — Como a arquitetura da Seagate Kinetic Storage elimina a necessidade de haver servidores de armazenamento, o número de técnicos necessários para mantê-los diminui. Além disso, o armazenamento mais denso possibilitado pela arquitetura da Seagate Kinetic Storage poderia possivelmente reduzir o número de técnicos que uma central de dados precisa empregar em geral, o que leva a uma economia significativa em mão de obra.
  • Consumo de energia — Com a eliminação da camada de arquitetura de servidor de armazenamento e a densidade de rack mais eficiente, são necessários menos racks para suportar o mesmo volume de armazenamento. Isso reduz o consumo de energia.
  • Tempo em atividade/erro humano — A confiabilidade mais alta da arquitetura da Seagate Kinetic Storage com respeito a replicação automática e failover reduz a quantidade de erros relacionados ao gerenciamento da central de dados de armazenamento. Além disso, o gerenciamento de erros interno do disco promete reduzir os principais incidentes causados por técnicos durante a manutenção de rotina.

A maior densidade no rack é mais uma vantagem nos casos em que o espaço físico é uma consideração importante, como, por exemplo, nas centrais de dados localizadas em instalações compartilhadas. A maior densidade de rack significa um volume físico drasticamente menor para a central de dados, o que gera uma economia de custo.

O impacto exato no TCO varia de acordo com diversos fatores (número de HDDs por trás de cada servidor de armazenamento, características físicas do local, etc.) específicos a uma determinada central de dados.

Segurança

A segurança dos serviços de armazenamento dentro da central de dados em nuvem é uma tarefa difícil. A biblioteca de interfaces oferece:

  • Autenticação — Uma autenticação criptográfica completa dos servidores que têm permissão de acesso ao disco.
  • Integridade — Verificação de integridade completa do comando e dos dados.
  • Autorização — Um conjunto claro de funções por servidor que o aplicativo tem permissão de desempenhar. As funções típicas são leitura, leitura/gravação, gerenciamento de disco e gerenciamento da segurança no disco.
  • TLS (Transport Layer Security, Segurança da Camada de Transporte) — Para a segurança de comandos de gerenciamento e/ou dados confidenciais, um conjunto completo de TLS padrão do setor também é fornecido.

Esse é um diferencial marcante em relação aos outros sistemas de armazenamento distribuído nos quais, dentro da central de dados, o tráfego entre os serviços não só não é seguro, como também não é autenticado. Isso concede a qualquer pessoa que tenha acesso à central de dados acesso total e irrestrito ao armazenamento para ler, modificar e até mesmo excluir todos os dados. Nessas situações, a segurança é responsabilidade da infraestrutura de rede, redes de custo mais alto, ilhas de rede separadas ou VLANs complicadas. A arquitetura de segurança da Seagate Kinetic Storage possibilita o desenvolvimento de arquiteturas de rede de central de dados flexíveis e de baixo custo.

Principais lições

A plataforma Seagate Kinetic Storage representa um avanço fundamental e importante nas arquiteturas de armazenamento. As demandas do nosso mundo online, móvel e sempre conectado — e da enorme infraestrutura de armazenamento em nuvem correspondente necessária para sustentá-lo— exigem uma verdadeira reformulação de melhores práticas e tecnologia. A plataforma Seagate Kinetic Storage fornece o novo paradigma necessário para nós, coletivamente, como um setor, não só cumprirmos essa exigência, mas fazê-lo de forma otimizada e da maneira mais econômica possível.

Etiqueta:

ARTIGOS DE EXPLICAÇÕES TÉCNICAS RELACIONADOS
Gerenciamento de central de dados: tendências e desafios

A Seagate fez uma pesquisa com gerentes de central de dados em todos os Estados Unidos e China para explorar os principais problemas que os tomadores de decisão das empresas precisam enfrentar.

Mais
RECURSOS RELACIONADOS
A Seagate é líder mundial no fornecimento de dispositivos de armazenamento e discos rígidos usados no armazenamento e na computação em nuvem.
Computação em nuvem e arquiteturas de armazenamento em nuvem

Como aproveitar o conhecimento fundamental em armazenamento de dados de TI e corporativos

Mais
O caso do hardware e software de código aberto na nuvem
O caso do hardware e software de código aberto na nuvem

Arquiteturas abertas mais otimizadas e de custo mais baixo

Mais