sexta-feira, 24 de abril de 2015

Um Spark Streaming pode sobreviver ao Chaos Monkey?

Traduzido por Carla Matheus Carneiro

A Netflix é uma organização orientada a dados que prioriza a qualidade dos dados coletados e processados. Em nosso post anterior, nós destacamos os casos de processamento de fluxo em tempo real no contexto das recomendações online e do monitoramento de dados. Ao escolhermos o Spark Streaming como nosso processador de fluxo, nós nos propusemos a avaliar e compartilhar o histórico de resiliência do Spark Streaming no ambiente da nuvem AWS.  Uma abordagem baseada no Chaos Monkey, que finalizou aleatoriamente instâncias ou processos, foi empregada para simular falhas.

O Spark na Amazon Web Services (AWS) é importante já que a Netflix transmite seu serviço principalmente fora da nuvem AWS. Sistemas de processamento de fluxo precisam operar em 24/7, além de serem tolerantes a falhas. Instâncias na AWS são efêmeras, o que torna imprescindível garantir a resiliência do Spark.

Componentes do Spark

O Apache Spark é um sistema de computação em cluster rápido e genérico. O Spark pode ser implantado no Mesos, no próprio gerenciador de cluster do Yarn ou Spark, que aloca os recursos do nó de trabalho para uma aplicação. O Spark Driver se conecta ao gerenciador de cluster e é responsável pela conversão de uma aplicação em um grafo acíclico direto (DAG) de tarefas individuais que são executadas dentro de um processo nos nós de trabalho.

Criando o Chaos

Os dispositivos de transmissão Netflix enviam periodicamente eventos que capturam as atividades dos membros, o que tem um papel significativo na personalização. Esses eventos vão para nossas aplicações no servidor e são encaminhados para o Kafka. Nossa aplicação de transmissão Spark utiliza esses eventos do Kafka e calcula métricas. A arquitetura de implantação está demonstrada abaixo:


Figura 2: Arquitetura de Implantação

Nosso objetivo é assegurar que não haja interrupção no cálculo de métricas quando os diferentes componentes Spark falham. Para simular tais falhas, nós aplicamos uma abordagem "whack-a-mole" (processo repetitivo de eliminação) e eliminamos os vários componentes Spark.

Nós executamos nossa aplicação de transmissão spark no Spark Standalone. O exercício de resiliência foi executado com o Spark v1.2.0, Kafka v0.8.0 e Zookeeper v3.4.5.

A Resiliência do Spark Streaming

Resiliência do Driver: O Spark Standalone suporta dois modos de iniciar o aplicativo de driver. No modo cliente, o aplicativo de driver é iniciado no mesmo processo como aquele em que o cliente envia a aplicação.  Quando esse processo morre, o aplicativo é abortado.  No modo cluster, o aplicativo é iniciado a partir de um processo de trabalho no cluster.  Além disso, o modo standalone cluster suporta uma opção de supervisão que permite reiniciar o aplicativo automaticamente em códigos de saída diferente de zero.

Resiliência do Master:  A agenda Spark utiliza o Master para tomar decisões agendadas.  Para evitar qualquer ponto de falha, é melhor configurar um multi master standalone cluster. O Spark utiliza o Zookeeper para definir um líder. Um dos nós master se torna um nó ATIVO e todos os nós de trabalho ficam registrados nele. Quando esse nó master morre, um dos nós master STANDBY se torna o nó ATIVO e todos os nós de trabalho ficam automaticamente registrados nele. Se houver qualquer aplicação sendo executada no cluster durante a falha do master, elas ainda continuarão funcionando sem nenhuma falha.

Resiliência do Processo de Trabalho: O processo de trabalho inicia e monitora o Executor e o Driver como processos primários. Quando o processo de trabalho morre, todos os seus processos primários também morrem.  O processo de trabalho reinicia automaticamente, que por sua vez reinicia o processo do Driver e/ou do Executor.

Resiliência do Executor: Quando o processo Executor morre, eles são automaticamente reiniciados pelo processo de trabalho e quaisquer tarefas que estiverem suspensas são reagendadas.

Resiliência do Receptor: O Receptor é executado como uma longa tarefa em um Executor e tem as mesmas características de resiliência de um executor.

O efeito sobre as métricas calculadas, em função do término de vários componentes Spark, está demonstrado abaixo.


Figura 3: O comportamento na falha do Receptor/Driver/Master

Falha do Driver: O principal impacto está na contra-pressão acumulada devido a uma falha do nó, o que resulta em uma queda brusca no processamento de mensagens, seguido de um pico, antes que o grafo fique estável.

Falha do Receptor: A queda nas métricas calculadas ocorreu devido ao fato do receptor padrão Kafka ser um receptor não confiável.  O Spark streaming 1.2 traz um recurso experimental chamado write ahead logs que faz do kafka um receptor confiável.  Quando estiver habilitado, as aplicações terão êxito com o receptor de transferência Kafka.  No entanto, isso pode ser abordado através do aumento do número de receptores.

 Resumo

A tabela abaixo resume as características de resiliência dos diferentes componentes Spark:


Componente
Tipo
Comportamento na Falha do Componente
Resiliente
Driver
Processo
Modo Cliente: A aplicação inteira morre

Modo Cluster com supervisão: O Driver é reiniciado em um nó de trabalho diferente

Master
Processo
Master Único: A aplicação inteira morre

Multi Master: Um master STANDBY se torna ATIVO

Processo de Trabalho
Processo
Todos os processos primários (executor ou driver) também são finalizados e um novo processo de trabalho é iniciado

Executor
Processo
Um novo executor é iniciado pelo processo de trabalho

Receptor
Tópico(s)
O mesmo que o Executor, pois estão executando longas tarefas dentro do Executor

Nó de Trabalho
Processos de Trabalho, Executor e Driver são executados em nós de trabalho e o comportamento é o mesmo ao matá-los individualmente


Nós encontramos alguns erros (SPARK-5967, SPARK-3495, SPARK-3496, etc.) durante este exercício, porém a equipe Spark Streaming foi capaz de corrigí-los em tempo. A performance Spark ainda está em teste e os resultados serão divulgados em posts no blog.


No geral, estamos satisfeitos com a resiliência do spark standalone e animados para chegar ao próximo nível em que estamos trabalhando a fim de construir uma Arquitetura Lambda unificada que envolve uma combinação de lote e transmissão em tempo real de processamento.  Estamos nos estágios iniciais desse desenvolvimento, por isso, se você tiver interesse em contribuir, por favor entre em contato conosco.

quarta-feira, 1 de abril de 2015

Cloud  File    Services
Mude sua empresa para
a nuvem! Por John Reed,
membro da SNIA ESF, NetApp.

Traduzido por Carla Matheus Carneiro
Artigo Original





QUAIS SÃO SEUS DESAFIOS ao utilizar a nuvem? Enquanto muitas empresas obtêm sucesso começando com uma infraestrutura na nuvem, outras encontram dificuldade em fazer essa transição. Uma das razões é que muitas empresas executam suas aplicações em protocolos File Services (NAS-based), como SMB ou NFS, e há pouquíssimas arquiteturas em nuvem com esse tipo de oferta.

Não é viável para os clientes terem que reescrever suas aplicações para armazenamento em nuvem. Dessa maneira, como é possível que uma empresa a adote?

Como eu escrevi no artigo do ano passado "Leve seu Datacenter para o futuro com o SMB 3.0", mais do que nunca as aplicações - especialmente nas empresas - estão adotando File Services. Novas versões de protocolo como SMB 3 e NFS 4.1 são especialmente projetadas para aplicações, e mais importante, File Services são mais fáceis de desenvolver e gerenciar. Aplicativos tradicionais em SAN e aplicativos especializados de quase todos os setores foram (ou estão sendo) atualizados para NAS.

File services + Nuvem

Com muitas empresas usando o File Services, e agora, com todas as lojas e T.I. do mundo mudando seu foco para a nuvem, precisamos de uma solução que atenda essas duas tendências juntas.

Essa solução não só precisa fornecer File Services na nuvem, como também precisa diminuir as desconfianças sobre mobilidade de dados e aplicações, oferecendo uma experiência de gerenciamento consistente em todas as localizações. Com certeza esse é um grande objetivo, mas para alcançá-lo há um caminho a ser percorrido.

Apresentando o Cloud File Services

O Cloud File Services é uma plataforma comum a todos os seus ambientes, inclusive em Nuvens Privadas pré existentes, Service Providers, e ambientes Hyperscalars (nuvens públicas de larga escala). Administradores de Storage podem ter a mesma experiência em todas as suas localizações, regiões geográficas, e modelos de desenvolvimento.

Como chegar ao Cloud File Services? A resposta mais simples é colocar seu sistema de armazenamento favorito em todos os lugares em que você opera. Para explicar como fazer isso, vamos rever as funções de computação e armazenamento nos datacenters públicos e privados.

A maioria dos datacenters modernos têm conceitos de computação e armazenamento em "camadas", que são logica ou fisicamente separados. Tradicionalmente, na computação em camada, aplicações e hosts são executados nos sistemas de servidores físicos. Hoje, a maioria desses sistemas de servidores são virtuais (em VMs) em hypervisors, o que permite que uma máquina física execute várias máquinas virtuais. Além disso, essa virtualização permite que VMs se movam entre máquinas e plataformas. Assim como os servidores de computação, os servidores de storage também executam um sistema operacional, e eles podem ser virtualizados de maneira similar.

Se os sistemas de armazenamento podem funcionar como uma VM, eles também podem ter a flexibilidade necessária para tirar proveito de diferentes plataformas de hardware. Na verdade, os principais fornecedores de gerenciamento de storage oferecem uma variedade de plataformas virtualizadas (incluindo hardware- e hypervisor-based), e modelos de desenvolvimento (incluindo ambientes pré existentes, Service Providers próximos à nuvem, e na nuvem).





Servidores tradicionais de armazenamento baseados em hardware podem ser executados com o mesmo sistema de armazenamento executado em um hypervisor. Enquanto essa linha tênue existir entre os recursos de computação e armazenamento (leia-se: hardware), a computação e o armazenamento em camadas serão definidos pelos sistemas operacionais e os diferentes papéis que desempenham.

De certa maneira, ambientes Hyperscalars (por exemplo, sua nuvem pública favorita) parecem muito com infraestruturas locais, com ambas as camadas de computação e armazenamento. A camada de computação (baseada inclusive em um hypervisor) oferece uma plataforma escalável que permite a execução de VMs, memória e ciclos, enquanto a camada de armazenamento oferece vários níveis de desempenho e latência.

SMB e NFS na Nuvem

Como tudo isso pode levá-lo ao Cloud File Services? Como já foi dito, se você virtualizar o seu sistema de armazenamento, ele aparecerá como qualquer outra VM. Então você coloca essa VM na camada do ambiente Hyperscalar, e pronto! Você terá a mesma plataforma de armazenamento local, disponível em uma nuvem pública.

O sistema poderá então distribuir os dados entre os diferentes níveis de armazenamento do ambiente Hyperscalar, oferecendo as mesmas interfaces já utilizadas nas suas aplicações.

Estas interfaces não estão limitadas à gestão, elas também incluem os protocolos de armazenamento. Lembre-se que esse S.O. é o mesmo que você tem no seu datacenter: é um servidor que fornece arquivos de armazenamento SMB e NFS para suas aplicações...sendo executado em qualquer lugar.

Usando seu sistema operacional como uma VM, você terá File Services sendo executados no ambiente Hyperscalar de sua escolha. Com File Services na nuvem, você também terá seus aplicativos corporativos lá.

Mobilidade de dados e aplicação

"Uau!" você diria. "Agora eu posso executar todos os meus aplicativos corporativos na nuvem! Mas como faço para conseguir isso?" Essa é a melhor parte! Ao executar a mesma plataforma em todos os seus ambientes, você pode aproveitar a camada de armazenamento daquelas plataformas que são tão úteis. Os mesmos processos e operações que você já utiliza para mover dados entre dois arranjos físicos podem ser aplicados aqui também. Isso significa melhor eficiência na movimentação de dados, sem copiá-los nos servidores. Cópias normais e de VM também funcionam da mesma maneira. Depois da transferência dos dados, estes poderão ser utilizados da mesma maneira que em seu datacenter.

Essa facilidade na movimentação de dados faz com que muitos dos que adotam a nuvem deixem uma lacuna: uma estratégia de saída. Vamos dizer que o Service Provider não está funcionando como você esperava, e você precisa mover tudo para o local de origem. Movimentando os dados em nível de storage, seus dados estarão de volta em um segundo. "Mas agora eu tenho que mudar minhas aplicações novamente", você diria. Não com o Cloud File Services! Seus dados são acessados e gerenciados exatamente da mesma maneira. Sem mudanças nas suas aplicações, ou em suas ferramentas de gerenciamento, e sem a necessidade de um novo treinamento.




Há muitas possibilidades com esse conceito. Você pode se mover entre qualquer combinação de Service Providers, ambientes Hyperscalars, e Nuvens Privadas pré existentes dependendo das suas necessidades, dos preços e da disponibilidade. Será que um ambiente Hyperscalar funciona offline? Alterne para outro ambiente Hyperscalar. É uma aplicação complicada que você portou para a nuvem? Mova-a de volta. Esta flexibilidade recém descoberta pode proporcionar oportunidades incríveis e novos modelos de negócios.

O Cloud File Services permite que você tenha seus dados onde quiser sem ter que alterar as aplicações existentes. Independentemente de qual arquitetura você tenha, use ou planeje implementar (Nuvens Privadas pré existentes, Service Provider, e/ou ambiente Hyperscalar), você terá a mesma plataforma de dados, os mesmos serviços, e a mesma experiência em seu ambiente inteiro. "Ir para a Nuvem!" finalmente é uma realidade.

O SNIA Ethernet Storage Forum (ESF) é responsável por difundir a adoção de tecnologias e soluções de rede de armazenamento ligados à Ethernet. Para mais informações sobre a SNIA e a Ethernet Storage, acesse www.snia.org/forums/esf e para seguir a ESF e o blog de John Reed, acesse http://sniaesfblog.org/?p=365

sexta-feira, 27 de março de 2015

Dirigentes da Fundação OpenPOWER Apresentam Soluções de Hardware para Oferecer Novas Alternativas de Servidores
- Movimento  Organizado pela Google, IBM, NVIDIA, Mellanox e Tyan cria o primeiro servidor de arquitetura aberta do mundo que irá revolucionar os Data Centers 
- Ecossistema de Rápida Expansão, Desenvolvido por Mais de 100 Membros Trabalhando em Mais de 100 Inovações Em Todo o Mundo 
- Processadores POWER8 Oferecem Aproximadamente 60% de Redução no Custo de Desempenho comparados à Chips Alternativos

Traduzido por Carla Matheus Carneiro


EVENTO OPENPOWER, San Jose, Califórnia - 18 de Março de 2015: A Fundação OpenPOWER anunciou hoje mais de dez soluções em hardware - sistemas diversos, placas, cartões e um novo microprocessador personalizado para o mercado Chinês.  Construídas em cooperação entre os  Membros da OpenPOWER, as novas soluções exploram a arquitetura POWER para oferecer mais opções, personalização e desempenho, incluindo data centers hyperscale.



Em San Jose, California, no Evento de inauguração da Open POWER, Gordon MacKean (a esquerda) e Brad McCredie (a direita), Presidentes da Fundação OpenPOWER, apresentaram um ecossistema de hardware para rápida expansão  com mais de 10 comunidades OpenPOWER desenvolvendo  soluções. A Fundação OpenPOWER é uma organização formada por  tecnólogos que trabalham incentivando o uso de servidores de arquitetura aberta em data centers, e conta hoje com mais de 110 empresas, organizações e colaboradores individuais, em 22 países. (Crédito:  Serviços de Foto  Reportagem)


A Fundação OpenPOWER é uma organização formada por  tecnólogos que trabalham incentivando o uso de servidores de arquitetura aberta em data centers, e conta hoje com mais de 110 empresas, organizações e colaboradores individuais, em 22 países.  A arquitetura POWER  da IBM é a base da inovação para a Fundação OpenPOWER, pois cria uma plataforma de computação acessível à todos.

Membros e clientes reconhecem os benefícios técnicos da arquitetura POWER. O microprocessador POWER8 é o primeiro processador totalmente projetado para o Big Data e cargas de trabalho analíticas. Estimando que o melhor chip do mesmo tipo custe 50% a mais, o processdor POWER8 utilizado pelos membros da OpenPOWER, além de outros colaboradores, possibilita a construção de sistemas projetados para ter desempenho  60% melhor por dolar investido.

"Desde o nosso primeiro evento, há um ano, a OpenPOWER  tem  crescido muito, permitindo o desenvolvimento de novos produtos para data centers em todo o mundo", disse Gordon MacKean, Presidente da Fundação OpenPOWER. "Através dos esforços individuais e coletivos da nossa Fundação, estamos virando o jogo, oferecendo inovações que promovem a tecnologia para data centers, aumentam as opções disponíveis e impulsionam a eficiência do mercado."

Entre os produtos e protótipos da OpenPOWER apresentados hoje estão:

·    Protótipo do primeiro servidor de computação de alto desempenho OpenPOWER da IBM, que se aproxima do exaescale: a IBM e a Wistron estão desenvolvendo juntas o primeiro servidor baseado em computação de alto desempenho utilizando a tecnologia NVIDIA e Mellanox. O sistema será o primeiro de uma série de soluções que serão apresentadas como parte do projeto  OpenPOWER da IBM, que incluem dois sistemas que serão desenvolvidos para a Lawrence Livermore e para a Oak  Ridge National Laboratories. Os sistemas são projetados para serem 10 vezes mais rápidos do que os maiores supercomputadores.

·    Primeiro servidor OpenPOWER lançado comercialmente,  o TYAN TN71-BP012: Com lançamento planejado para o segundo trimestre de 2015, os servidores TYAN TN71-BP012 foram projetados para o uso em grande escala na nuvem,  seguindo as bem-sucedidas especificações da OpenPOWER desenvolvidas pela Tyan e lançadas em Outubro de 2014. A IBM será uma das primeiras a implantar os novos servidores como parte de sua infraestrutura SoftLayer, utilizando-os para uma nova oferta de  serviços bare-metal.

·    Primeira plataforma de desenvolvimento GPU-accelerated da OpenPOWER, a Cirrascale RM4950 – A Cirrascale RM4950 é o resultado da colaboração entre NVIDIA, Tyan e um dos mais novos membros da Fundação OpenPOWER, Cirrascale. Disponível para encomenda e com entrega para o segundo trimestre de 2015, a plataforma suporta desenvolvimento utilizando GPU-accelerated para big data analítico, deep learning e aplicações de computação científica.

·    Especificação de servidor aberto  e protótipo de placa mãe combinando OpenPOWER, Computação Aberta e OpenStack – a Rackspace, uma empresa de gerenciamento em nuvem, apresentou um projeto de servidor aberto e protótipo de placa mãe, combinando conceitos da OpenPOWER e da Computação Aberta.  O novo projeto, focado em executar serviços OpenStack e que será implementado em data centers Rackspace, será baseado em inúmeras inovações para oferecer aos usuários melhor desempenho e melhores recursos.
Outras soluções desenvolvidas pelos membros da OpenPOWER apresentaram vantagens no uso do CAPI (Coherent Accelerator Processor Interface), que é um recurso exclusivo da arquitetura POWER. ODV CAPI oferece aos desenvolvedores da OpenPOWER e a outras empresas, a capacidade de desenvolver soluções utilizando a arquitetura POWER. As novas soluções CAPI incluem o cartão adaptador ConnectX-4  da Mellanox,  kit do desenvolvedor Convey´s CAPI para aprimoramento de co-processadores Xilinix FPGA, e  memória virtual compartilhada entre uma Stratix V FPGA e uma CPU POWER8, desenvolvidos pela Altera e IBM.  Essas soluções fazem parte do Kit do Desenvolvedor CAPI OpenPOWER desenvolvido pela Nallatech em colaboração com a Altera e IBM, lançado em Novembro de 2014.

A influência da OpenPOWER na China

Os colaboradores da Fundação OpenPOWER também apresentaram produtos em desenvolvimento na China, onde o ecossistema OpenPOWER está oferecendo às companhias a opção de desenvolver soluções personalizadas, acelerando as inovações.

No núcleo do ecossistema OpenPOWER  desenvolvido na China está o CP1, o primeiro chip POWER para o mercado local, desenvolvido por uma empresa  chamada PowerCore. O primeiro sistema OpenPOWER com o chip CP1 sairá no mercado este ano. O chip CP1 será utilizado pela Zoom Netcom em uma nova linha de servidores chamada RedPower, o primeiro sistema two-socket OpenPOWER, que estará no mercado em 2015.  Outros colaboradores chineses da OpenPOWER, incluindo a ChuangHe, compartilharam projetos para sistemas OpenPOWER locais incorporando os processadores POWER8 que tinham distribuição prevista para 2015.

Esses anúncios foram feitos logo após a aprovação da OpenPOWER pelo governo Chinês, no outono de 2014, através da formação da CPTA (China POWER Tecnology Alliance), uma parceria pública-privada.  A fim de oferecer inovação e oportunidade para empresas Chinesas, a principal missão da CPTA é promover a melhoria da estrutura industrial  do país através da integração entre os recursos do ecossistema Chinês e da OpenPOWER, sob a orientação do governo. A CPTA, através de esforços internacionais para promover a tecnologia POWER, criará as melhores soluções de tecnologia do mundo que impulsionarão os recursos para o Big Data e para o cloud computing, aplicando-os em bancos, telecomunicações, energia, transporte, internet e em cidades inteligentes.

Iniciativas Colaborativas Geram Mais Soluções Abertas

A Fundação OpenPOWER também anunciou a formação do Conselho Open POWER, um mecanismo formal para a associação com outras organizações de desenvolvimento aberto. Os primeiros membros do Conselho representam a Fundação Linux, o Projeto Open Computer e a CPTA (Aliança de Tecnologia POWER da China). O Conselho orientará o grupo diretivo da OpenPOWER  promovendo um fórum para suporte e colaboração entre as comunidades para o desenvolvimento de infraestrutura e software.

Sobre a Fundação OpenPOWER

O objetivo da Fundação é criar um ecossistema aberto, utilizando a arquitetura POWER a fim de compartilhar conhecimento, investimentos, e propriedade intelectual, suprindo as necessidades dos clientes.

· A OpenPOWER possibilita a inovação através de blocos de construção que são compartilhados na comunidade
· A OpenPOWER apóia inovações independentes
· A OpenPOWER fundamenta-se na indústria de tecnologia de ponta
· A OpenPOWER cresce como uma comunidade de desenvolvimento aberta

Para maiores detalhes, lista  de colaboradores, e orientação de como participar da Fundação OpenPOWER, acesse www.openpowerfoundation.org.

[...]