Guia de Cloud Computing e Sistemas Distribuídos

Enviado por Anônimo e classificado em Computação

Escrito em em português com um tamanho de 11,4 KB

Definições e Modelos de Sistemas (Term/System Models)

  • HPC (High-Performance Computing): Sistema de computação de alto desempenho usando múltiplos processadores para tarefas intensivas.
  • Globus: Biblioteca de middleware para gestão de recursos em grid e agendamento de tarefas.
  • HTC (High-Throughput Computing): Sistema para processar grandes volumes de tarefas, focado em throughput.
  • BitTorrent: Rede P2P para compartilhamento de arquivos com múltiplos rastreadores de índice.
  • P2P (Peer-to-Peer) Network: Rede onde todos os participantes podem compartilhar dados diretamente.
  • Gnutella: Rede P2P para entrega de MP3 com um servidor de diretório centralizado.
  • Computer Cluster: Computadores interconectados trabalhando como um único sistema.
  • EC2: Ambiente de computação flexível e elástico para adquirir recursos em cloud.
  • Computational Grid: Rede distribuída de computadores compartilhando recursos.
  • TeraGrid: Arquitetura de serviço para grid aberta e padrão.
  • SOA (Service-Oriented Architecture): Arquitetura de software baseada em serviços independentes e reutilizáveis.
  • EGEE: Grid P2P distribuído com mais de 3 milhões de desktops para processamento de sinais.
  • Pervasive Computing: Computação integrada em dispositivos do cotidiano.
  • Hadoop: Modelo de programação para mapeamento e redução de grandes dados distribuídos.
  • Internet Computing: Uso da internet para serviços e processamento.
  • SETI@home: Projeto de computação distribuída para buscar sinais de inteligência extraterrestre.
  • VM (Virtual Machine): Emulação de computadores em software.
  • Napster: Programa de armazenamento distribuído para dados estruturados de grande escala.
  • VI (Virtual Infrastructure): Recursos de TI virtualizados (servidores, redes, etc.).
  • BigTable: Plataforma escalável para aplicação sobre grandes quantidades de dados distribuídos.
  • RFID (Radio-Frequency Identifier): Tecnologia para identificação via ondas de rádio.
  • GPS (Global Positioning System): Sistema de navegação por satélites para determinar a localização.
  • Sensor Network: Rede de sensores para monitoramento e coleta de dados.
  • IoT (Internet of Things): Rede de dispositivos físicos conectados à Internet.
  • CPS (Cyber-Physical System): Sistemas que combinam componentes computacionais e físicos.

Modelos de Nuvem (Cloud Models)

  • Public Cloud: Nuvem acessível via internet, gerida por terceiros e compartilhada por vários usuários.
    • Vantagens: Escalabilidade e flexibilidade.
    • Desvantagens: Riscos de segurança e privacidade.
  • Private Cloud: Nuvem onde os recursos são dedicados a uma única organização.
  • Community Cloud: Nuvem onde os recursos são dedicados a um conjunto ou grupo de organizações.

Armazenamento de Dados

  • Object Stores: Baseados em objetos sem hierarquia (estrutura) e usam APIs para acesso (ex: buckets GCS).
  • File Systems: São hierárquicos (estrutura) e usam paths para acessar arquivos (ex: NFS, GPS).

Cloud Computing Systems: Características e Tecnologias

Principais Características:

  • On-demand self-service: Provisionamento automático de recursos sem intervenção humana.
  • Broad network access: Acesso aos serviços da nuvem via rede em vários dispositivos.
  • Resource pooling: Recursos compartilhados entre vários clientes, utilizando virtualização e alocados dinamicamente.
  • Rapid elasticity: Escalabilidade rápida de recursos conforme a demanda.
  • Measured service: Cobrança conforme o uso dos recursos, com medição e faturamento.

Tecnologias Habilitadoras (Enabling Technologies):

  • Virtualization: Execução de múltiplas VMs em um único servidor físico.
  • Automation: Ferramentas que automatizam o gerenciamento e monitoramento.
  • Distributed computing: Distribuição de tarefas em vários servidores.
  • Networking technologies: Redes rápidas para comunicação eficiente.
  • Storage systems: Sistemas de armazenamento escaláveis e confiáveis.
  • Security: Criptografia, controle de acesso e autenticação para segurança.

Estratégias de Negócio e Provedores

Maximizar Receitas dos Cloud Service Providers:

  • Pay-as-you-go: Cobrança conforme o uso real, com faturamento flexível.
  • Valor agregado: Oferecer serviços extras como IA e analytics.
  • Tiering de serviços: Diferentes níveis de serviços para vários perfis.
  • Contratos a longo prazo: Incentivar compromissos de longo prazo com descontos.
  • Cross-selling e bundling: Agrupar serviços e vender produtos relacionados.
  • Expansão global: Expandir para novas regiões para capturar novos mercados.

Google Cloud Platform (GCP) vs. Servidor Local:

Por que escolher GCP (Ex: Spotify, Snapchat, PayPal): Escalabilidade, performance, segurança, conformidade, modelos de preços econômicos e capacidades de IA/Machine Learning.

  • Cloud Compute Engine: Recursos sob demanda, gestão de infraestrutura pelo provedor e cobrança baseada no uso.
  • Dedicated Web Server (Local): Recursos fixos, gestão de infraestrutura própria e cobrança fixa independentemente do uso.

Modelos de Serviço (SaaS, PaaS, IaaS, FaaS)

  • SaaS (Software as a Service): Aplicativos prontos para uso via web (Ex: Google Workspace).
  • PaaS (Platform as a Service): Plataforma para desenvolvimento de aplicações (Ex: Google App Engine).
  • IaaS (Infrastructure as a Service): Infraestrutura sob demanda como servidores e armazenamento (Ex: Amazon EC2).
  • FaaS (Function as a Service): Execução de funções na nuvem sem gerenciamento, cobrado por execução (Ex: AWS Lambda).

Processamento de Dados com MapReduce

Pergunta: Como é o processamento de dados nas etapas "map" e "reduce" num cluster de máquinas?

Resposta: O processamento ocorre na fase Map (processamento paralelo gerando pares chave-valor), seguida pelo Shuffle and Sort (redistribuição dos dados por chave entre os nós) e, finalmente, a fase de Reduce (agregação dos valores por chave em cada nó).

  • Map: Aplica uma função a cada elemento, gerando pares chave-valor.
  • Reduce: Agrupa os pares por chave e aplica uma função de agregação.

Em 2009, os clusters de computadores cooperativos dominavam o Top 500 dos sistemas mais rápidos. Numa nuvem formada por clusters de servidores, as máquinas podem ser tanto físicas quanto virtuais.

Cálculo de Execução: O tempo de execução é determinado pelo núcleo mais lento. O cálculo para cada núcleo é: número de elementos x unidade de tempo por elemento. A Taxa de Utilização do Processador (TUP) = tempo total ocupado / tempo total de execução (onde o tempo total ocupado é a soma dos tempos de todos os núcleos).

Exercícios e Casos de Estudo

  • Slowdown Checkpointing: n = 1 + k/t. Para reduzir a sobrecarga, utiliza-se t grande e k pequeno (t = intervalo entre checkpoints; k = tempo de cada checkpoint). O melhor armazenamento é o dedicated storage server.
  • Modelo Publish/Subscriber: Comunicação desacoplada onde publishers e subscribers não interagem diretamente; o broker intermedia a troca de mensagens. O publisher envia eventos ao broker, que os classifica e distribui. Exemplos: Amazon SNS, Google Cloud Pub/Sub, Apache Kafka.
  • Fine-grain Parallel Computations: Têm desempenho inferior na nuvem devido à latência de rede, overhead de virtualização e comunicação inter-nós menos eficiente. Supercomputadores são otimizados para essas tarefas com hardware dedicado.
  • Comparativo de Provedores: Oracle Cloud (focada em bancos de dados); AWS (líder de mercado, ampla gama de serviços); GCP (destaque em Big Data e IA); Azure (ideal para ecossistemas Microsoft).
  • Preferências de Nuvem: Public Cloud é preferida para escalabilidade (Big Data, apps web). Private Cloud é preferida para dados sensíveis e missões críticas (segurança e controle).
  • Eficiência Energética: Reduzir servidores ativos com escalabilidade dinâmica. Para standby: desligar componentes não essenciais. Para reativar: detectar aumento de carga e reiniciar serviços críticos.
  • Dataspaces: Oferecem integração de dados heterogêneos e flexibilidade para dados científicos massivos (Ex: CERN), mas enfrentam desafios em consistência e segurança.
  • Migração para Private Clouds: Prós: controle total e segurança. Contras: alto custo e falta de escalabilidade dinâmica.
  • Segurança de Licenciamento: Evitar sequestro de autorização via controle de acesso restrito, auditoria, licenciamento atrelado a hardware/tokens e criptografia.
  • Evolução dos SO: Marcos incluem multiprogramação, sistemas multitarefa e UNIX. VMMs (Virtual Machine Monitors) permitem isolamento e inovação sem afetar o SO principal.
  • Virtualização: Na memória oferece isolamento com sobrecarga; no processador permite múltiplos SOs com queda de performance; na comunicação garante isolamento, mas impacta o custo.
  • Desafios de Virtualização: A interação entre interrupções e paginação pode gerar inconsistência de dados e complexidade no gerenciamento de memória.
  • VMMs vs SO Tradicionais: VMMs são mais seguras e menos complexas por possuírem menos funções privilegiadas e menos código para auditar.
  • Memory-based Checkpointing: Vantagens incluem alta velocidade, eficiência de recursos e resiliência em ambientes distribuídos.
  • Google File System (GFS): Design guiado por quatro pontos: arquivos grandes, alta taxa de falhas, operações sequenciais e modelo de consistência relaxada.

Entradas relacionadas: