Programação distribuída na nuvem

Visão rápida

Saiba como programas de computador complexos devem ser arquitetados para a nuvem com a programação distribuída.

Neste roteiro de aprendizagem, você vai:

  • Classificar programas como sequenciais, simultâneos, paralelos e distribuídos
  • Indicar por que os programadores geralmente paralelizam os programas sequenciais
  • Definir modelos de programação distribuída
  • Discutir os desafios de escalabilidade, comunicação, heterogeneidade, sincronização, tolerância a falhas e agendamento encontrados ao criar programas de nuvem
  • Definir nuvens heterogêneas e homogêneas e identificar os principais motivos para a heterogeneidade na nuvem
  • Enumerar os principais desafios apresentados pela heterogeneidade para os programas distribuídos e descrever algumas estratégias para superar esses desafios
  • Definir quando e por que a sincronização é obrigatória na nuvem
  • Identificar a principal técnica que pode ser usada para tolerar falhas nas nuvens
  • Descrever a diferença entre o agendamento de tarefas e de trabalhos
  • Explicar como a heterogeneidade e a localidade podem influenciar os agendadores de tarefas

Em parceria com o Dr. Majd Sakr e a Carnegie Mellon University.

Pré-requisitos

  • Entender o que é a computação em nuvem, incluindo os modelos de serviço de nuvem e os provedores de nuvem comuns
  • Conhecer as tecnologias que habilitam a computação em nuvem
  • Entender como os provedores de serviço de nuvem pagam e cobram pela nuvem
  • Saber o que são os datacenters e por que eles existem
  • Saber como os datacenters são configurados, habilitados e provisionados
  • Entender como os recursos de nuvem são provisionados e medidos
  • Familiarizar-se com o conceito de virtualização
  • Saber quais são os diferentes tipos de virtualização
  • Entender a virtualização de CPU
  • Entender a virtualização de memória
  • Entender a virtualização de E/S
  • Conhecer os diferentes tipos de dados e como eles são armazenados
  • Familiarizar-se com sistemas de arquivos distribuídos e como eles funcionam
  • Ter familiaridade com armazenamento de objetos e bancos de dados NoSQL e saber como eles funcionam

Introdução ao Azure

Escolha a conta do Azure correta para você. Pague conforme o uso ou experimente o Azure grátis por até 30 dias. Criar conta.

Módulos neste roteiro de aprendizagem

Saiba mais sobre a programação distribuída e por que ela é útil para a nuvem, incluindo modelos de programação, tipos de paralelismo e arquitetura simétrica versus assimétrica.

O MapReduce foi uma inovação no processamento de Big Data que se tornou predominante e foi aprimorado significativamente. Saiba mais sobre como o MapReduce funciona.

O GraphLab é uma ferramenta de Big Data desenvolvida pela Carnegie Mellon University para ajudar na mineração de dados. Saiba mais sobre como o GraphLab funciona e por que ele é útil.

O Spark é uma estrutura de computação de cluster de software livre com pontos fortes diferentes do MapReduce. Saiba mais sobre como o Spark funciona.

O aumento dos dados disponíveis levou à elevação de fluxos contínuos de dados em tempo real para serem processados. Saiba mais sobre diferentes sistemas e técnicas para consumir e processar fluxos de dados em tempo real.

Este roteiro de aprendizagem e módulos são licenciados sob uma Licença Atribuição-NãoComercial-CompartilhaIgual Internacional da Creative Commons.