Computação Além das Nuvens: Desafios e Oportunidades Flávio R. C. Sousa [email protected] @flaviosousa www.es.ufc.br/~flavio Departamento de Computação – UFPI – Março/2013 Semana da Computação (Secomp) – UECE – Abril/2013
o Facebook Mais de 30 milhões de usuários no iPhone Milhões de usuários em 12 horas no Android 13 funcionários, sendo que 3 cuidam de TI 5 Fonte: Amazon
entregues de uma forma transparente A mesma ideia tem sido aplicada no contexto da informática Cloud Computing ou Computação em Nuvem Computação em Nuvem Ideia antiga: Software como um Serviço (SaaS) Entrega de aplicações através da Internet Recentemente: “[Hardware, Infraestrutura, Plataforma] como um serviço” “X como um serviço” 8
muito grande Economia de escala sem precedentes Transferência de risco Fatores de tecnologia Internet de banda larga difundida Maturidade de tecnologias de virtualização Fatores de negócios Custo inicial mínimo Modelo de pagamento Baseado no uso (pay-as-you-go) 9
de manutenção Quant. fixa de recursos Dificuldade de escalabilidade Pagamento pelo uso Menor custo de manutenção Escalabilidade linear Tolerância a falhas Sob demanda 12 Fonte: Forrester Research
Internet ou infraestrutura de comunicação entre os componentes arquiteturais, baseada em uma abstração que oculta a complexidade de infraestrutura 14 Fonte: Buyya et al. 2009
que possibilita acesso, de modo conveniente e sob demanda, a um conjunto de recursos computacionais configuráveis que podem ser rapidamente adquiridos e liberados com mínimo esforço gerencial ou interação com o provedor de serviços” 15 Fonte: NIST
Alocação de capacidades “Desperdício“ de capacidades “Falta“ de capacidades Custo fixo das capacidades Previsão de Carga Custo Inicial das capacidades Fonte: Microsoft
Redução dos investimentos iniciais Redução do “excesso de TI“ Sem “falta“ de capacidades É possível a redução das capacidades no caso da redução da carga Tempo CAPACIDADE DA TI Previsão de Carga Fonte: Microsoft
Armazenamento Desenvolvimento de Software Requisitos (SaaS, PaaS e IaaS) Arquitetura para sistemas de larga escala SLA (desempenho, disponibilidade), segurança Métodos e ferramentas Testes otimizados Composição de serviços
modelos de dados Interoperabilidade entre provedores Questões de contrato, SLA e governança Soluções de segurança no acesso e ataques Privacidade, integridade e auditoria Técnicas de criptografia Novas estratégias para garantir a segurança
Aplicações com diferentes requisitos Desenvolver técnicas para prover escalabilidade Desenvolver soluções para garantir escalabilidade, disponibilidade e consistência Nuvem Pública
implementar elasticidade Replicação Redimensionamento Migração Como medir a elasticidade? Novas métricas Novas ferramentas Demand Capacity Time Resources Demand Capacity Time Resources
condições extremas Limitações de rede Segurança Ambientes de computação em nuvem possuem acesso público Quantidade de requisições imprevisível e variável Complexo fazer estimativas e garantias de QoS 31
qualidade Técnicas adaptativas e dinâmicas Auto sintonia de parâmetros baseada na carga de trabalho Compreensão automática da carga de trabalho Experimentação 32
Gerenciado de forma transparente para os usuários Diferente de sistemas tradicionais Intervenção humana limitada Alta alternância na carga de processamento Variedade de infraestruturas compartilhadas Utilização de técnicas existentes/novas Inteligência Artificial Aprendizagem de Máquina Otimização
Deve existir interoperabilidade entre diferentes provedores e serviços de nuvem Acesso, armazenamento e gerenciamento Exemplo As APIs da Amazon são padrão de fato Grande quantidade de interfaces e protocolos Padronizar as interfaces e serviços Abordagens para descrever, descobrir e compor serviços 35
de preço Preço por recurso pré-definido Hora completa Ex. Amazon Preço por recurso customizável Fração hora - 5 min Ex. CloudSigma Assinatura de serviços Ex. Hospedagem de sites Qual modelo reflete o uso real dos recursos? Custo com licenças? 36
Novas abordagens são flexíveis para garantir a escalabilidade Permite construir serviços com garantias de SLA Trade-off entre funcionalidades e custos operacionais Os serviços em nuvem para dados oferecem: APIs mais restritas do que os SGBDs tradicionais Uma linguagem minimalista de consulta Possuem garantia de consistência limitada Mais esforço no desenvolvimento das aplicações 37
nuvem Novas aplicações Grande volume de dados Internet of Things (IoT) Big Data Diferentes abordagens Sistemas relacionais NoSQL NewSQL 38
páginas Yahoo! + de 650M de usuários, 11B visitas a páginas/mês Flick + de 5B de fotos Facebook: 1B de usuários, 1,13 Trilhões de "likes", 219B de fotos e 140.3B de relacionamentos Youtube: 100 horas de vídeos adicionado a cada minuto Twitter: 8 TB e 90 milhões de tweets por dia Boeing: 640 TB gerados em um voo transatlântico Wal-Mart: 2,5 PB e 1 milhão de transações/hora 39
para a avaliação de serviços de dados em nuvem Característica Tradicional Nuvem Custo [$] Fixo Otimizado Desempenho [tps, secs] Otimizado Fixo Escalabilidade [#cores] Otimizado Fixo Previsibilidade [s($)] - Fixo Consistência [%] Fixo ??? Flexibilidade [#diversos] - Otimizado Fonte: Florescu et al. 2009
em nuvem Qual o melhor serviço para um determinado propósito? Necessidade de serviços de benchmarks Avaliar diferentes tipos de serviços Ferramentas para gerar cargas de trabalho, monitorar o desempenho Métricas para calcular o custo por usuário em uma determinada unidade de tempo Desenvolvimento de sistemas de simulação Ex. CloudSim 42