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.