31
AUDITÓRIO 1 DESENVOLVIMENTO Palestrante Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance Lucas A. Romão Microsoft Azure MVP N3 Results [email protected] AUDITÓRIO 3 DATA/ANALYSIS

Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Embed Size (px)

DESCRIPTION

Evento: Azure Summit Brasil 2014 Palestra: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance Palestrante: Lucas A. Romão Descrição: Esta palestra foi baseada em uma das seções do TechEd North America '14 onde foram tratadas as principais características do Storage do Microsoft Azure, como por exemplo, modelos de redundância, como explorar o recurso Azure Files, melhores práticas e cenários.

Citation preview

Page 1: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

AUDITÓRIO 1

DESENVOLVIMENTO

Palestrante

Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Lucas A. RomãoMicrosoft Azure MVP

N3 Results

[email protected]

AUDITÓRIO 3

DATA/ANALYSIS

Page 2: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Agenda

• Introdução• O que tem de novo• O que está vindo• Patterns para Scalable & Resilient Apps

Page 3: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Introdução

Page 4: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Microsoft Azure Storage

• Cloud Storage – Acesso de qualquer lugar a qualquer momento

• Blobs, Disks, Tables e Queues

• Altamente Durável, Disponível e Massivamente Escalável• Fácil construção de aplicações do tipo “internet scale”• Mais de 25 trilhões de objetos armazenados• Em média 2.5+ milhões de requests/sec

• Pague por aquilo que você usa• Acesso fácil através de APIs REST, Client Libraries and Tools

Page 5: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

16 regiões ao redor do mundo em 2014

Page 6: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Abstrações – Blobs e Discos

• Blobs – Escala massivamente o armazenamento de objetos na nuvem• Acesso simples através de REST (Put, Get, Delete)• Data sharing – compartilhe documentos, imagens, videos, musicas,

etc.• Big Data – armazena dados/logs não tratados e processa/map reduce

nestes dados• Backups –backups de dados (dispositivos móveis, laptops, servers,

etc…)

• Discos – Discos persistentes para VMs no Azure • Mova aplicações on-premises para a nuvem• Os Discos são VHDs armazenados em Blobs no Azure

Page 7: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Abstrações – Tables e Queues• Tables – Solução NoSQL altamente escalável na nuvem

• Armazene Key/Attribute(s) para escalar• Load balance automático para gerenciamento de tráfico• Armazene nomes de usuários, dispositivos, ou qualquer tipo de metadado para o seu

serviço• Protocolo OData (AtomPub ou JSON)

• Queues – Confiável Sistema de mensageria• Confiável, baixa latênciua, alta velocidade no Sistema de mensageria• Desassocie componentes/roles

• Web role para comunicar com worker role• Permite a escala de roles de forma independente

• Implemente tarefas assíncronas agendadas• Construa processos/work flows

Page 8: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Armazenamento Geo Redundante (GRS)

•Dados geo-replicados entre regiões distantes• Provê dados duráveis em face a possibilidade de desastres regionais• Disponível para Blob, Tables e Queues

•Usuário escolhe a região no momento da criação da conta• Cada região primária possui uma região secundária pré-definida

•Geo-replicação assíncrona• Não interfere na performanceUS West US East

US North US South

US Central US East 2

Europe North Europe West

Asia East Asia South East

China North China South

Japan East Japan West

South Brazil US South

Page 9: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Accesso read-only ao GRS (RA-GRS) – Cenários

• Acesso somente leitura ao dado secundário mesmo se o primário estiver indisponível• Accesso a uma cópia consistente do dado em outra região.

• Para isso, a sua aplicação precisa permitir a eventual leitura destes dados

Page 10: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

RA-GRS – Como ele trabalha? (1 of 2)

•Clientes que usam o GRS podem optar em ter o acesso read-only para acessar uma cópia dos dados na região secundária• Clientes selecionam a região primária, e a região secundária é pré-definida

•Obtenha dois endpoints para acessar sua conta de armazenamento

• Endpoint primário - accountname.<service>.core.windows.net• Endpoint secundário - accountname-secondary.<service>.core.windows.net

•Aplicação controla de qual localidade o dado será lido• Use um dos dois endpoints acima• As bibliotecas fornecem Recursos para selecionar a localidade

• Opções de Retry: PrimaryOnly, SecondaryOnly, PrimaryThenSecondary, etc.

Page 11: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

RA-GRS – Como ele trabalha? (2 of 2)

• Mesma storage keys funciona para ambos endpoints• Consistência

• Toda Escrita de dados é feito na localidade primária• Leitura na Primária são Fortemente Consistentes • Leitura na Secundária possui uma Consistência “Eventual”

• Aplicações poderm pesquisar sobre o max delay na geo-replication para cada serviço (blob, table, queue) em sua conta de armazenamento• Storage possui métricas analíticas independents para as

localidades primária e secundária.

Page 12: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Novidades (????)

Page 13: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

O que temos de mais recente?

• Limites de escala para as contas de armazenamento foram aumentadas• Cada conta de armazenamento pode armazenar 500TBs. Disponível para todas regiões• Aumento da largura de banda para as regiões dos EUA por conta de armazenamento

• 10Gbps para ingress e 20Gbps para egresso

•Melhoria nas “Shared Access Signatures”• Client Libraries & Tools

• .NET Library Desktop, Phone e Runtime com suporte para Files e Rest Version 2014-02-14• Java 1.0 RTM• Android 0.1 CTP • C++ Library CTP• AzCopy for Files CTP• PowerShell for Files CTP

• Azure Files Preview

Page 14: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Azure Files (Preview)

Page 15: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Azure Files – Feedbacks de Usuários

• “I wish I could go to storage and provision a cloud drive, giving it a namespace, and that drive would then be UNC-addressable by the OSes.”• “I need two VM's running with a shared drive. One will write

to the drive, the other will read [it].”• “Hi, I have two VM's in Microsoft Azure. All I want to do is set

up a file share between them. Is this possible?”• “Is it possible to share a secondary disk between different VM

instances?”

Page 16: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Compartilhando Arquivos – Modo Antigo

• Monte uma IaaS VM para habilitar o File Share com um Disco• Escrever Código para encontrar o File Share em IaaS para

todos os serviços da sua VM.• Escrever Código para garantir a alta disponibilidade• Tratando upgrades de host, falhas de nós, etc….

• Acesso ao File Share apenas por VMs

IaaS VM IaaS VM IaaS VM PaaS VM

IaaS VM(Sharing IaaS Disk)

Page 17: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Azure Files

• Shared Network File Storage para Azure• Disponibilidade, durabilidade, escalabilidade são gerenciados

automaticamente• Suporta duas interfaces: SMB e REST

IaaS VM IaaS VM IaaS VM PaaS VM

Azure File Share(PaaS)

Page 18: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Azure Files - Cenários

• Compartilha dados através de VMs e aplicações• Multiplas escritas, multiplas leituras usando métodos padrão de

desenvolvimento.

• Compartilhe configurações através de serviços• VMs podem ler configurações e arquivos de um local comum. Este

conteúdo pode ser atualizado externamente através de chamadas REST.

• Dev/Test/Debug• Muito utilizado para se ter um local compartilhado para instalar

aplicações, configurar VMs, tools, e manter anotações enquanto desenvolve, testa e “debuga” serviços em nuvem.

Page 19: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Azure Files - Protocolo SMB 2.1

•É possível mover conteúdos on-premise que necessitam de ambiente compartilhado para o Azure • Azure VMs podem “net use” para compartilhar

•Suporte native para SO APIs, bibliotecas, e ferramentas• Windows (CreateFile, ReadFile, WriteFile, …)• CRTs (fopen, fread, fwrite, …)• .Net (FileStream.Read, FileStream.Write, …)• …

•Suporta semanticas padrões de file system• Mova e renomeie arquivos e diretórios• Read-only, write through, overlapped

Page 20: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Azure Files - File REST APIs

• Permite o acesso através da internet para o mesmo Sistema de arquivo compartilhado.• Construa aplicações híbridas (on premises + cloud)• Suporta uma variedade de APIs comuns:• Criar/’Delete’ Arquivos e Diretórios• Escrever/Ler Arquivos• Obter as propriedades de Arquivos e Diretórios• Listar Arquivos

Page 21: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Arquitetura do Storage do Azure

Alta Escalabilidade & Load Balancing AutomáticoCamada de Indexação

Camada de Distribuição da Replicação

Blob/DiskHead

QueueHead

TableHead

REST REST REST REST

File ShareHead

SMB

“Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency”, ACM Symposium on Operating System Principals (SOSP), Oct. 2011

Page 22: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Azure Files: Como iniciar?

• Solicite um token• Obtendo o token• Crie uma nova storage account• Crie um ‘share’ (utilizando powershell)• Armazene seus dados no ‘share’ (azcopy)• Conecte ao ‘share’ através de uma VM

Page 23: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

DEMO – Azure Files

Page 24: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Azure Files vs BlobsDescrição Azure Blobs Azure Files

Durability Options

LRS, ZRS, GRS (and RA-GRS for higher availability) LRS, GRS

Accessibility REST APIs SMB 2.1 (standard file system APIs)REST APIs

Connectivity REST – Worldwide SMB 2.1 - Within regionREST – Worldwide

Endpoints http://myaccount.blob.core.windows.net/mycontainer/myblob

\\myaccount.file.core.windows.net\myshare\myfile.txt

http://myaccount.file.core.windows.net/myshare/myfile.txt

Directories Flat namespace however prefix listing can simulate virtual directories True directory objects

Case Sensitivity of Names Case sensitive Case insensitive, but case preserving

Capacity Up to 500TB containers 5TB file shares

Throughput Up to 60 MB/s per blob Up to 60 MB/s per share

Object size Up to 1 TB/blob Up to 1 TB/file

Billed capacity Based on bytes written Based on file size

Page 25: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Azure Files vs DisksDescrição Disk Azure Files

Relationship with Azure VMs

Required for booting (OS Disk)

Scope Exclusive/Isolated to a single VM Shared access across multiple VMs

Snapshots and Copy Yes No

ConfigurationConfigured via portal/Management APIs and available at boot time

Connect after boot (via net use on windows)

Built-in authentication Built-in authentication Set up authentication on net use

Cleanup Resources can be cleaned up with VM if neededManually via standard file APIs or REST APIs

Access via RESTCan only access as fixed formatted VHD (single blob) via REST. Files stored in VHD cannot be accessed via REST.

Individual files stored in share are accessible via REST

Max Size 1TB Disk5TB File Share

1TB file within share

Max 8KB IOps 500 IOps 1000 IOps

Throughput Up to 60 MB/s per Disk Up to 60 MB/s per File Share

Page 26: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Azure Files – SOs Suportados

• Suporte Windows:• Windows Server 2008 R2• Windows Server 2012• Windows Server 2012 R2

• Suporte Linux (em breve (?)):• Ubuntu 13.10• Ubuntu 14.04 LTS

Page 27: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

O que temos de mais recente?

Page 28: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

O que temos de mais recente??

• Client Libraries• Node.js Library support for 2014-02-14 CTP• iOS Library CTP (By end of CY ‘14)• JavaScript Library CTP (By end of CY 14)

• Mais uma oferta de Storage - Zone Redundant Storage for Block Blobs

Page 29: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

3 Tipos de Disponibilidade do Azure Storage•LRS

• Mantém 3 réplicas do dado em uma única zona, em uma única região• Fornece durabilidade dos discos, node e falhas de rack

•ZRS• Disponível apenas para block blobs• Armazena 3 réplicas dos dados em multiplas zonas. Desenhado para manter todas as 3 replicas

através das zonas de uma mesma região, mas pode expandir para uma segunda região. • Fornece uma garantia extra de disponibilidade contra falhas no ambiente (fogo, hardware, etc)

•GRS• Armazena 6 réplicas dos dados em duas regiões diferentes (3 em cada região)• Fornece uma garantia extra de disponibilidade contra desastres regionais (tornado, terremoto,

etc)

Page 30: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Resumo

•Azure Storage• Durável, Escalável e altamente disponível• Load balances automáticos quando necessário escalar

•Azure Files – File shares na nuvem•Opções de Disponibilidade do Storage – LRS, ZRS, e GRS•RA-GRS

• Provê Alta Disponibilidade para que aplicações possam ler as informações de um local secundário, quando a primeira não estiver disponível.

• Possível fazer este gerenciamento através dasClient Libraries

•Detalhes sobre ‘Internals’ vc encontra no paper SOSP:• “Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency”, AC

M Symposium on Operating System Principals (SOSP), Oct. 2011

Page 31: Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento de alta performance

Obrigado por sua presença.