Академический Документы
Профессиональный Документы
Культура Документы
Nuvem: grande reservatório de recursos (dados, software, hardware etc.) que é construído de forma escalável e acessível via rede e sob demanda. Computação
em nuvem: paradigma em que o sistema é projetado para usar recursos da nuvem (durante desenvolvimento e/ou operação)
Computação em nuvem - Definição formal (NIST):
Computação em nuvem é um modelo para habilitar acesso sob demanda, conveniente e ubíquo, por meio de redes, a um reservatório compartilhado de
recursos computacionais configuráveis (e.g., redes, servidores, armazenamento, aplicações e serviços) que podem ser provisionados rapidamente e liberados
com esforço mínimo de gerenciamento ou interação com o provedor de serviços” (NIST, 2011)
Nuvem: características.
Agilidade e elasticidade: recursos alocados e desalocados sob demanda; De forma automática ou manual; Impressão de que há recursos ilimitados; Desafio
de provedores: garantir escalabilidade
Confiabilidade e tolerância a falhas: Autorrecuperação: redundância,“Hot backups’’ etc.; Orientada a serviços: falha em um serviço não afeta outros serviços;
Políticas definidas em SLA (Service Level Agreement - Acordo de Nível de Serviço)
Serviço mensurável: Deve prover métricas de uso; Formas comuns de tarifação: conforme uso (banda, CPU, disco, transações etc.) ou por assinatura
(mensal/anual)
Transparência do reservatório de recursos; Recursos físicos ou virtuais; Multi-tenancy (“locação múltipla”):
clientes compartilham infraestrutura; Clientes interagem com sistema via rede
SaaS: substituir software instalado localmente = Menor custo de hardware para execução; maior disponibilidade de dados (redundância, backups)
PaaS: acelerar desenvolvimento = Ambiente em comum de testes e desenvolvimento; Reduz tempo até aplicação entrar em produção
IaaS: atender demanda variável = Estender a infraestrutura em resposta ao aumento repentino de carga (ex.: Black Friday) Substituir parte da
infraestrutura local para execução de tarefas com carga difícil de prever
QUAL MODELO DE NUVEM USAR? Nuvem pública especialmente interessante para: Reduzir investimento inicial em hardware (startups) Investimento
(CapEx) custo operacional (OpEx) Gerenciar carga variável: escalabilidade sob demanda. Nuvem privada é recomendada se: Infraestrutura já está disponível
(datacenter) Previsibilidade e personalização são necessários. Questões de regulamentação (ex.: setor bancário)
Nuvem híbrida: combinação de benefícios. Obs.: evitar comunicação constante entre nuvens distintas (custos).
NUVEM: POR ONDE COMEÇAR? Nuvem pública: vários pilotos gratuitos = Condições: prazo de 12 meses e/ou quotas grátis - Amazon:
https://aws.amazon.com/pt/free/ - Microsoft Azure: https://azure.microsoft.com/pt-br/free/ - Google Cloud: https://cloud.google.com/free/?hl=pt-BR
Nuvem privada: várias plataformas abertas - Construa sua própria nuvem! - OpenStack: https://docs.openstack.org/ - CloudStack:
http://docs.cloudstack.apache.org/ - Obs.: há vários documentos em PT-BR na Internet
AULA 6 - Computação em nuvem: Datacenters e virtualização
Nuvens “por dentro”. Nuvem: “grande repositório de recursos”; Impressão de recursos ilimitados; Alocação sob demanda e com grande agilidade. Baixa
necessidade de intervenção humana
Como conseguir essa “mágica”?! Recursos computacionais: datacenters; Gerenciamento das máquinas: virtualização
Datacenters: clusters
Alta disponibilidade - HAC (High Availability Cluster): serviços críticos; Oferecem redundância: falha em computador leva outro a assumir suas
tarefas
Alto desempenho - HPC (High Performance Computing): processamento em paralelo; Comum (depende do tamanho do cluster): Mestre(s):
controlam as tarefas; Escravos: executam tarefas distribuídas por mestre.
Capacidade vs. demanda
Virtualização
Máquinas físicas subutilizam processador. Processos esperando E/S (ex.: rede, disco): não usam processador o tempo
todo. Virtualização: abstração de recursos. Permite compartilhamento de hardware; Uso mais racional de recursos; Fornece
maior dinamismo; Criação de cópias para testes (e.g., de patches) ou para balanceamento de carga; Migração entre máquinas
físicas; Geração de backups durante execução etc.
Máquinas virtuais (VMs). Hardware físico representado por hardware virtual: Várias VMs podem executar na mesma máquina
física. Hypervisor: Monitor de Máquinas Virtuais (MMV). Gerenciamento e isolamento de recursos de cada VM
Tipos de virtualização (5 tipos). Emulação (E): Máquina virtual simula hardware com CPU diferente do hardware físico; MMV
precisa converter instruções; SO funciona sem modificações; Ex.: arquitetura SNES sobre x86. Virtualização nativa/ Full
virtualization (F): Máquina virtual simula um hardware com mesma CPU do hardware físico; MMV controla instruções, sem
conversão; SO funciona sem modificações; Ex.: arquitetura x86 sobre x86. Assistida por Hardware (H): Hardware auxilia no
isolamento: realiza operações ineficientes e/ou complexas; Ex.: tecnologia Intel VT + Linux XEN. Paravirtualização (P): VM
não simula completamente o hardware; SO modificado para efetuar chamadas ao MMV; Ex.: Linux XEN, VMWare VMTools.
Virtualização containers: no nível de sistema operacional (menos camadas para chegar no hardware; melhor uso de recursos
homogêneos). Conceito existe desde 2001 (Linux); Mais visibilidade: com Docker, em 2013; Vantagens: Densidade: mais
leves; Mais #contêineres/host que #VMs/host; Elasticidade: criação e destruição (segs vs. mins); Ideal para serviços pequenos
(ex.: web). Desvantagens: Não suporta múltiplos kernels sobre mesmo kernel; Cenário ideal p/ contêineres: sistemas
homogêneos. Obs.: há soluções que suportam várias distros Linux.
Assuma que a remuneração por bloco minerado na rede é de 1 bitcoin e que a assinatura digital de A sobre as transações 1, 2 e 3 é válida.
Suponha que o minerador tente incluir a transação 1 (e apenas ela) como o próximo bloco do blockchain (isto é, a transação do instante t+1). Assinale a
alternativa que indica corretamente o que aconteceria nesse caso:
a) Não seria possível incluir essa transação no blockchain, pois A não tem saldo suficiente para realizá-la.
b) Não seria possível incluir essa transação no blockchain, pois o minerador perceberia que A realizou um duplo gasto na rede.
c) Não seria possível incluir essa transação no blockchain, pois o bitcoin não aceita que se criem blocos contendo apenas uma transação.
d) A inclusão da transação no blockchain seria feita com sucesso, e os saldos resultantes, considerando a remuneração pela mineração de M, seriam: A = 0;
B = 20; C = 0; M = 1.
e) A inclusão da transação no blockchain seria feita com sucesso, e os saldos resultantes, considerando a remuneração pela mineração de M, seriam: A = 0;
B = 21; C = 0; M = 1.
f) A inclusão da transação no blockchain seria feita com sucesso, e os saldos resultantes, considerando a remuneração pela mineração de M, seriam: A = -1;
B = 20; C = 0; M = 2.