TI sob demanda Utility Computing Objetivo da Utility Computing Fornecer os componentes básicos como: Armazenamento, Processamento e Largura de banda de uma rede como uma mercadoria Baseada em provedores especializados com um baixo custo unitário 5
Escalabilidade A capacidade fornecida é praticamente infinita Disponibilidade Acesso a qualquer momento Desempenho Tempos de resposta são quase constantes Backups Responsabilidade do provedor 6
em TI O custo cresce de forma linear e previsível com o uso Dependendo do modelo do negócio O provedor de serviços pode repassar o custo de armazenagem, computação e de rede para os usuários finais Já que é realizado a contabilização do uso 7
$ 750 dólares Dois funcionários para administrar os servidores pagando 100.000 dólares por ano. Os servidores exigem 150 watts cada e o custo da eletricidade é de 0.10 por quilowatt-hora O custo anual para operar os 100 servidores é de 13.140 dólares 9
estimativas Nem todos os custos foram considerados Se a utilização for de 100% Melhor comprar Se a utilização for de 68% ou menor Melhor alugar Conclusão Modelo de Utility Computing é preferível em muitos casos 11
ou dedicadas Nível de usuário Políticas de utilização Gerenciadores de recursos Interface com o usuário Nível de administração Gerência de hardware Gerência de software 13
paralelas Amplamente distribuída, Heterogênea e Compartilhada, sem controle central Com múltiplos domínios administrativos Permite a criação de supercomputadores virtuais com recursos já existentes Organização virtual que permite a aglomeração de recursos que estão distantes geograficamente ou não Recursos podem ser: clock de CPU, memória, disco, máquinas, dados, etc 14
gerenciadores de recursos locais Gerenciadores de recursos globais Monitoração Autenticação Certificação Interface com o usuário Nível de administração (local e global) erência de hardware gerência de software Várias razões Científicas, Políticas, Econômicas, Sociais 15
vangatem Resolver problemas computacionais complexos Fornecer um ambiente escalável para o desenvolvimento de aplicações Distribuição e alocação de recursos Distribuição uniforme de recursos; Negociação e gerenciamento de recursos compartilhados Recursos alocados sob demanda; pagamento baseado no uso Domínios Múltiplos domínios Domínio único Foco Comunidade científica; não- comercial Para todos os usuários, empresas; comercial Desenvolvimento Lote (batch) Orientado a Serviço Grade vs. Cloud
VirtualBox, Parallels Hypervisor (bare-metal) Executado diretamente sobre o hardware Xen, Microsoft Hyper-V e VMware ESX Tipos de Virtualização CPU Memory NIC Card Hard Disk Hypervisor x86 Architecture Hypervisor CPU Memory NIC Card Hard Disk APP Operating System x86 Architecture 21
a implantação de VMs Responsável por suportar esta abstração, e interceptar e emular algumas instruções emitidas pelas MVs Provê uma interface que permite ao usuário inicializar, pausar, serializar e desligar múltiplas MVs Tipicamente chamado de: Monitor de máquina virtual (VMM - Virtual Machine Monitor) Hypervisor 22
são projetados para funcionar diretamente sobre o hardware, de modo que, naturalmente, eles assumem que têm o controle total sobre o hardware. A arquitetura x86 oferece quatro níveis de privilégio, conhecidos como Anel 0, 1, 2 e 3, para SO e aplicativos poderem gerenciar o acesso ao hardware do computador. 23
x86 Algumas instruções sensíveis não podem ser virtualizadas, pois têm semânticas diferentes quando não são executadas no Anel 0 Capturar e traduzir estes pedidos de instrução sensíveis e privilegiadas, em tempo de execução, foi o desafio que originalmente fez a virtualização da arquitetura x86 parecer impossível 24
Paravirtualização (paravirtualization, PVM) Virtualização assistida por hardware (hardware-assisted virtualization, HVM) Principal diferença Forma como as instruções privilegiadas das VMs chegam de fato ao hardware 25
hardware subjacente Não necessita modificar o SO visitante Chamadas são interceptadas pelo hipervisor, que as mapeia para o hardware real subjacente Tradução binária SO visitante não tem conhecimento de que está sendo executado em hardware virtualizado Exemplo Virtual Box 26
ou use drivers especiais Envolve a substituição de quaisquer operações privilegiadas por chamadas para o hipervisor Hiperchamadas (hypercalls) SO visitante sabe que está sendo executado em hardware virtualizado Exemplo Xen 27
CPUs com recursos de virtualização Tecnologias Intel VT-x e AMD-V Oferecem extensões necessárias para executar VMs com SO não modificado Sem as desvantagens inerentes à emulação de CPU da virtualização total Permite que SO visitante execute instruções privilegiadas diretamente na CPU Nenhuma tradução para virtualização é necessária Exemplos KVM, QEMU, modo HVM do Xen 28
do tempo gasto em tarefas administrativas Facilidade para fazer backup e proteção de dados Consolidação de servidores Otimiza a utilização dos recursos Facilidade de integração, testes e migração Facilidade para recuperação de falhas 29
baseada nos elementos de repositório de serviços, barramento de serviços e aplicação frontend Princípios Reutilização Baixo Acoplamento Autonomia Composição Sem Estado Fácil Localização 33
Nele é exposta a lógica de negócio em forma serviços sobre a Internet através de interfaces programáveis Utiliza de protocolos de Internet com o propósito de fornecer meios para buscar, assinar e acessar esses serviços 35
Extensível SOAP Protocolo de Acesso a Objetos Simples WSDL Linguagem de Descrição de Serviços Web UDDI Descrição, Descoberta e Integração Universais 36
o usuário Diálogo com o usuário (Troca de Mensagem) Diretório de Serviços Coordenação dos Serviços XML Schema +WSDL + SOAP WSDL + SOAP Broker (UDDI + WSDL) Broker (UDDI + WSDL) 38
Estruturas de TI grandes e heterogêneas Dificuldades para se gerenciar os sistemas complexos atuais Existência de poucos profissionais experientes e capacitados Elevado custo de manutenção A gestão da complexidade tem custos crescentes: Intervenção humana e custos de TI 44
qualidade da informação Confiança nos dados Semântica Incerteza das Aplicações Comportamento Dinâmico Adaptatividade espaço temporal Interacções dinâmicas e oportunistas ad hoc, gossip 46
capacidade humana: É preciso retirar as pessoas do ciclo Autonomia Apesar de globalmente estarmos a caminhar neste sentido, há algum modo sistemático/estruturado de lidar com o problema? Computação Autonômica 47
e ferramentas de gestão têm dificuldade ao lidar com a escala, complexidade e heterogeneidade dos sistemas Os sistemas naturais/biológicos evoluíram para lidar com ambientes muito mais complexos, heterogêneos e imprevisíveis: Os seres vivos são arquiteturas autoconfiguráveis, auto adaptativas, autoreparativa, autotimizadas, autoprotegidas e altamente descentralizadas!!! 48
desafios usando orientações de alto nível: Ao contrário da IA, não se pretende replicar a cognição humana! Autogerenciamento de sistemas Utiliza um mínimo de interferência humana Trata diferentes aspectos Complexidade Dinamismo Heterogeneidade 49
trabalham constantemente de forma integrada de forma a manter um conjunto de variáveis essenciais dentro daquilo que se designa por zona de viabilidade Duas observações: O objetivo do comportamento adaptativo é a sobrevivência Se o ambiente interno ou externo empurram o sistema para fora do estado de equilíbrio (homeostase), este trabalha para retornar a esse equilíbrio 50
altera o seu comportamento quando a avaliação aponta que os objetivos não estão a ser cumpridos...” (Laddaga, 1997) Um programa não pode ser tão complexo como o ambiente Os principais problemas de um sistema auto adaptativo e autogerido são detectar a necessidade de alteração, planeá-la e, em menor medida, executá-la Três áreas científicas têm dados contributos: Teoria de controlo de sistemas Sistemas de planejamento Sistemas reflexivos ou com percepção do contexto 51
um sistema autonômico Gerenciado de forma transparente para os usuários Diferenças de outros “paradigmas” Intervenção humana limitada Carga de trabalho altamente variável Grande quantidade e variedade de recursos compartilhados 52
em ambientes imprevisíveis Maximizar a utilização sem intervenção humana Alocação de recursos Balanceamento de carga Recursos BDs, armazenamento, redes 56
de ataques Especificando e gerindo o acesso aos recursos Protegendo contra acessos não autorizados Detectando intrusões e reportando-as à medida que ocorrem 57
Desempenho, disponibilidade, elasticidade Monitorar, modelar e prever o comportamento Abordagem Técnicas de sistemas distribuídos Adaptação e extensão para construir soluções em nuvem Técnicas de aprendizagem de máquina Classificar a carga de trabalho Prever o custo de operações Melhorar o provisionamento 61
Diferentes níveis de automação Diferentes abstrações para o usuário Customização das políticas Diferentes estratégias Simples Métricas de CPU e memória Complexas Nível do serviço Custo/benefício 62
Aspectos técnicos Objetivos do negócio Abordagem Desenvolvimento de políticas baseadas em ontologias Organização do domínio de conhecimento Descrever componentes e relações 63
quantidade de recursos Reduz custos Garantir a qualidade do serviço Qualidade do serviço (SLA) Disponibilidade, desempenho e penalidades Gerenciamento autônomo Gerenciar recursos Carga de trabalho Garantir qualidade do serviço 64
e dinâmicas Obter dados sobre os elementos Sensores Atuadores Abordagem Redes de sensores Gerenciamento dos dados coletados MapReduce Processar grandes volumes de dados Construir uma base de conhecimento 65