Que recursos de design tornam o ZFS da Joyent e o EBS (S3) da Amazon confiáveis?

5

Eu sei que isso não é exatamente uma comparação de maçãs para maçãs, o que eu estou tentando avaliar é qual deles é mais seguro - menos propensos a perder dados.

SmartOS de Joyent usa ZFS para armazenar dados, enquanto uma máquina EC2 pode usar Amazon Elastic Block Store (EBS ), que armazena seus dados em S3.

Eu estou querendo saber quais são alguns dos detalhes arquitetônicos que tornam os dois sistemas confiáveis? Não tenho muita certeza do design do S3 para saber se eles têm mais de um local em que armazenam seus dados.

    
por Akshat 26.02.2012 / 11:33

2 respostas

10

Como você disse, isso não é exatamente uma comparação de maçãs por maçãs (além disso já existe acordo, que procedimentos de backup de dados decentes devem estar em vigor para ambos, então não vou para endereçar isto). Portanto, a pergunta não pode ser respondida como tal, em vez disso, deve-se estar ciente dos detalhes arquitetônicos de cada oferta e aplicá-los em relação a um caso de uso em particular.

Em particular, o sistema de armazenamento baseado em ZFS da Joyent é um sistema de armazenamento local projetado para fornecer armazenamento de nível de operadora e confiabilidade de dados , consulte Resiliência de dados e confiabilidade :

We put ZFS on top of a high performance local storage subsystem to ensure that your data is safe, consistent, and always accessible and recoverable. ZFS is a combined file system and logical volume manager designed for pooled local storage. Unlike other file systems deployed for cloud storage, ZFS’ copy-on-write capability guarantees that your image will not be lost. [emphasis mine]

Por outro lado, o EBS é um armazenamento em bloco de rede sistema projetado para fornecer volumes de armazenamento altamente disponíveis e altamente confiáveis que podem ser anexados a uma instância do Amazon EC2 e expostos como um dispositivo dentro da instância , consulte a seção Recursos do Amazon EBS volumes dentro de Amazon Elastic Block Store (EBS ) para detalhes Por exemplo:

  • Amazon EBS volumes are placed in a specific Availability Zone, and can then be attached to instances also in that same Availability Zone.
  • Each storage volume is automatically replicated within the same Availability Zone. This prevents data loss due to failure of any single hardware component.
  • Amazon EBS also provides the ability to create point-in-time snapshots of volumes, which are persisted to Amazon S3. These snapshots can be used as the starting point for new Amazon EBS volumes, and protect data for long-term durability. [...]

[emphasis mine]

O último ponto destaca que o EBS não armazena seus dados no S3 por si só, em vez disso, fornece um mecanismo de backup fácil de usar para a durabilidade a longo prazo via S3, o que implica que você precisará avaliar ambos cenários separadamente em termos de durabilidade e disponibilidade.

Seção A durabilidade do volume do Amazon EBS detalha ainda mais essa arquitetura:

[...] Amazon EBS volume data is replicated across multiple servers in an Availability Zone to prevent the loss of data from the failure of any single component. The durability of your volume depends both on the size of your volume and the percentage of the data that has changed since your last snapshot. [...]

Because Amazon EBS servers are replicated within a single Availability Zone, mirroring data across multiple Amazon EBS volumes in the same Availability Zone will not significantly improve volume durability. However, for those interested in even more durability, Amazon EBS provides the ability to create point-in-time consistent snapshots of your volumes that are then stored in Amazon S3, and automatically replicated across multiple Availability Zones. [...]

[emphasis mine]

Assim, enquanto o EBS armazena dados em vários servidores em apenas uma zona de disponibilidade, o S3 fornece a milha extra de separação da infraestrutura física, consulte Quão isoladas estão as Zonas de disponibilidade uma da outra? :

Each availability zone runs on its own physically distinct, independent infrastructure [...]. Common points of failures like generators and cooling equipment are not shared across Availability Zones. Additionally, they are physically separate, such that even extremely uncommon disasters such as fires, tornados or flooding would only affect a single Availability Zone. [emphasis mine]

Isso produz uma durabilidade reivindicada de 99,999999999%, conforme descrito em Qual é a durabilidade do Amazon S3? e mais detalhado em Como o Amazon S3 é projetado para alcançar 99,999999999% de durabilidade? :

Amazon S3 redundantly stores your objects on multiple devices across multiple facilities in an Amazon S3 Region. [...] When processing a request to store data, the service will redundantly store your object across multiple facilities before returning SUCCESS. [...] [emphasis mine]

Observe que uma zona de disponibilidade ainda é restrita a uma única região (consulte Usando Regiões e Zonas de Disponibilidade para obter detalhes sobre essa arquitetura), e seus respectivos incidentes já estão ocorrendo, desencadeando discussões se a redundância de região e / ou provedor é o caminho a ser seguido para obter a máxima confiabilidade ( veja Outages abaixo).

Por fim, seção Modelo de consistência de dados do Amazon S3 em Conceitos do Amazon S3 fornece mais detalhes sobre como o Amazon S3 alcança alta disponibilidade replicando dados em vários servidores nos data centers da Amazon .

Interrupções

Ambos os serviços tiveram pelo menos uma interrupção importante no passado - a respectiva análise post mortem fornece informações adicionais sobre o design de cada sistema e permite que você contabilize isso nas estratégias de backup e disponibilidade de acordo:

A última interrupção provocou bastante discussão sobre a confiabilidade da computação em nuvem em geral, que provocou o artigo Armazenamento de Blocos Mágicos: Quando as Abstrações nos Falham no blog de Joyent, explorando as diferenças entre as duas abordagens e explicando as respectivas escolhas arquitetônicas de Joyent (incluindo a autocrítica de antigas tentativas fracassadas); Enquanto este artigo, obviamente, pode ser considerado tendencioso, ainda deve permitir-lhe tirar as suas próprias conclusões, por sua vez.

    
por 26.02.2012 / 16:49
1

Você não tem os dados, a menos que você os tenha em triplicado em dois locais geograficamente diferentes.

Dependendo da instância RAID única, dispositivo de bloqueio virtual, fornecedor único, etc., para armazenar seus dados de maneira confiável, é descuidado na melhor das hipóteses.

Dito isto, a menos que nada tenha mudado nos últimos 2-3 anos desde a última vez que verifiquei, a Amazon não garante que os dados do S3 estarão lá da próxima vez que você procurar. Eles têm sido confiáveis durante os últimos anos no que diz respeito ao armazenamento, então não é como se os dados regularmente desaparecessem.

    
por 26.02.2012 / 11:40