Computação em Nuvem Conceitos e Contexto Palestrante: Luis Cláudio Pereira Tujal SERPRO Serviço Federal de Processamento de Dados Empresa Pública de TIC do governo federal brasileiro *Picture taken under Creative Common license Admirável Mundo Novo *Picture taken under Creative Common license Reflexões Com grandes poderes vêm grandes responsabilidades Tio Ben (do Homem Aranha) O maior crime da história é o assassinato da linda teoria pela cruel quadrilha dos fatos … Stendhal (O Vermelho e o Negro) *Picture taken under Creative Common license Paradigmas da Ciência Há mil anos atrás, ciência empírica, descrevendo fenômenos naturais; - Nos últimos séculos, ciência teórica, valendo-se de modelos e generalizações; - Nas últimas décadas, ciência computacional, simulando fenômenos complexos; - Atualmente, ciência de dados massivos, a eCiência, unificando teoria, experimento e simulação; - dados capturados por instrumentos ou gerados por simuladores; - processados por software; - informação e conhecimento armazenados em sistemas de computação; - cientistas analisam bases de dados e arquivos usando gerenciamento de dados e estatísticas; - Fonte: Jim Gray (2009) e Tony Hey (2010, in “The Fourth Paradigm”) eScience (eCiência) de acordo com John Taylor (Director General of Research Councils UK, Office of Science and Technology) se refere à colaboração mundial em áreas chave da ciência e à nova geração de infraestrutura que vai viabilizá-la. Big Data ou Big Informação PEPEL DA INFORMAÇÃO nas Esferas de Influência na Vida Humana BIOSFERA, propagação da organização; - SIMBOLOSFERA, cultura, linguagem, tecnologia, ciência, governança, economia; - TECNOSFERA, ciência computacional, simulando fenômenos complexos; - ECONOSFERA, economia, política, ciências sociais, - Fonte: Logan (2010) “O que é informação?” Arquiteturas Orientadas à Serviço SOA – Service Oriented Architecture (Arquitetura Orientada a Serviço) Desacoplam aplicações e serviços de negócio dos serviços tecnológicos, tornando a organização independente de uma implementação tecnológica específica ou de uma infraestrutura. Em TIC, usualmente se baseiam em 04 (quatro) conceitos chave: - Interface de aplicação - Serviço - Repositório de Serviços - Barramento de Serviços Perspectivas de Federação, Agilidade, Interoperabilidade e Harmonia Fonte: Thomas Erl (2005) (2005, in “Service-Oriented Architecture – Concepts, Technology and Design”) Ciências da Web As cinco mainstream dimensions das web sciences Fonte: Documento Oficial do Instituto Brasileiro de Pesquisa em Ciência da Web Estratégia de Ambiente de Nuvem para eGoverno : CASE SERPRO Terceira Plataforma É uma plataforma computacional de escopo abrangente que inclui tecnologias que estão se tornando comuns na segunda década do século XXI. O Gartner Group faz referência à “convergência e reforço mútuo de quatro tendências: interação social, mobilidade, nuvem e informação”. A IDC – International Data Corporation se refere à “terceira plataforma para inovação e crescimento de TI, construída sobre dispositivos móveis, serviços de nuvem, tecnologias socias e dados massivos”. Alguns incluem a IoT (Internet of Things) Fonte: Wikipedia, tradução do autor para (http://en.wikipedia.org/wiki/Third_platform) O Sinal e o Ruído Segundo Tomasio Poggio, neurocientista do MIT, “os seres humanos têm mais essa necessidade de encontrar padrões que os outros animais”. Fomos programados para detectar padrões e reagir a oportunidades e ameaças sem muita hesitação. Contudo, o cérebro humano é capaz de armazenar uma quantidade próxima de 3TB de dados. Isto corresponde, de acordo com a IBM, a um milionésimo dos dados que o mundo produz em um dia (padrões de 2012). Fonte: Nate Silver (2012, in “O Sinal e o Ruído”) Considerando a aptidão natural humana para trabalhar com padrões, apresenta-se a disciplina multi-dimensional do analytics, “a descoberta e a comunicação de padrões significativos nos dados”. Fonte: Wikipedia, em (http://en.wikipedia.org/wiki/Analytics). Cloud Computing (Computação em Nuvem) Computação Voluntária Computação em Grid Computação Utilitária Web 2.0 Web 3.0 Computação Paralela Computação Distribuída Cloud Computing Computação Autonômica Computação Ubíqua eScience IoT Computação em Nuvem • O escopo da computação em nuvem tem intersecção com as modalidades grid, e-Science, utilitária, ubíqua, autonômica, paralela, amorfa, para citar algumas. • Podemos enxergar cloud como uma especialização da computação distribuída e da computação paralela que realiza o antigo sonho de computação utilitária. Cloud vs Grid • “GRID” refere-se às grades computacionais • Distinção sutil entre grid e cloud relacionada à alocação de recursos: recursos dedicados para poucos usuários de cada vez no grid e em tempo real para grandes quantidades de usuários na nuvem. Computação Utilitária • No que se refere à computação utilitária, observamos que tanto nesta modalidade quanto na nuvem está ocorrendo um empacotamento de recursos computacionais, como por exemplo, geração, armazenamento e distribuição na forma de serviços similares aos utilidade pública, como eletricidade. Computação Ubíqua • A modalidade ubíqua se refere a um conceito em ciência da computação onde a computação se faz presente em todo e qualquer lugar. • A computação ubíqua pode ocorrer em qualquer dispositivo, qualquer localidade, qualquer formato. Fonte: Wikipedia (http://en.wikipedia.org/wiki/Ubiquitous_computing) Computação Autonômica • Os benefícios da computação autonômica se verificam com a experiência de sistemas computacionais capazes de se auto-gerenciarem. • Envolve a automatização de componentes, de arquiteturas e de mecanismos de administração do ambiente, proporcionando um efeito de tempo real. Computação Voluntária • Baseado na idéia de trabalho voluntário. É necessária a instalação de um programa cliente e cadastro num projeto. Este programa é o responsável pela comunocação com o servidor dos projetos via Internet, e pelo escalonamento de tarefas na utilização dos ciclos ociosos do computador para execução da tarefa referente ao projeto selecionado. • O problema é quebrado em milhões de pequenas unidades que podem ser processadas de forma paralela e distribuída... Projetos que levariam milhares de anos para serem processados podem ser processados em muito menos tempo em milhões de computadores voluntários. Fonte: Wikipedia (http://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_volunt%C3%A1ria) Paralelismo e Distribuição • A computação paralela é uma forma de computação em que vários cálculos são realizados simultaneamente. Fonte: Wikipedia (http://en.wikipedia.org/wiki/Parallel_computing) • A computação distribuída é uma referência à computação paralela e descentralizada, realizada por dois ou mais computadores conectados através de uma rede, cujo objetivo é concluir uma tarefa em comum. Fonte: Wikipedia (http://en.wikipedia.org/wiki/Distributed_computing) Web N.0 • Ao se tratar de cloud também tangencia-se a Web 2.0 e a Web semântica (Web 3.0). • A interface que se origina das especificações e implementações da família das Web N.0 aproveita para expandir a nuvem. Internet das Coisas • IoT – Internet of Things Representa a interconexão de dispositivos computacionais individualmente identificáveis através da infraestrutura de internet existente. . Computação em Nuvem Definição É um modelo para possibilitar acesso de rede, ubíquo, conveniente e sob demanda, a um pool compartilhado de recursos computacionais configuráveis (e.g., redes, servidores, armazenamento, aplicações e serviços) que podem ser rapidamente provisionados e liberados com um mínimo de esforço gerencial ou de interação de provedor de serviço. Fonte: NIST National Institute of Standards and Technology Authors: Peter Mell and Tim Grance, Information Technology Laboratory Special Publication 800-145 September 2011 Tradução: Luis Cláudio Pereira Tujal Aspectos da Computação em Nuvem 1) Elimina-se a necessidade de previsão e comprometimento na alocação inicial de recursos; 2) Granularidade para se pagar pelo uso de recursos computacionais ; 3) O efeito de recursos computacionais ilimitados, sem necessidade de futuros aprovisionamentos. Aspectos da Computação em Nuvem 1) Autoserviço sob demanda – o consumidor pode provisionar unilateralmente as capacidades computacionais; 2) Acesso Amplo em Rede – capacidades computacionais disponíveis através da rede; 3) Resource pooling – recursos computacionais do provedor estão agrupados para servir múltiplos consumidores como o uso de um modelo multi-tenant, com diferentes recursos físicos e virtuais designados e redesignados dinamicamente de acordo com a demanda do consumidor; 4) Elasticidade Rápida – capacidades computacionais podem ser rapidamente provisionadas e liberadas, escalando para cima ou para fora de modo a manter o passo com a demanda; 5) Serviços Mensurados – uso de recursos pode ser monitorado, controlado e relatado, provendo transparência do serviço utilizado para provedor e consumidor; Modelos de Serviço Conceitos de XaaS (Onde X Є {S, I, H, P}) Em ambiente computacional distribuído. Modelos de Serviço Topologia Básica Tipos de Nuvem Computacional Modelos de Entrega Nuvem Pública Organização TI Tradicional Nuvem Privada Nuvem Híbrida Nuvem Comunitária Organização TI Tradicional Nuvem Híbrida Nuvem Privada Nuvem Pública Ganhos Esperados Capacidade De Para Uso de CPU e Armazenamento 10-20% 70-90% Auto-Serviço Não há Testes Semanas Minutos Gerência de Mudanças Meses Dias/Horas Gerência de Implantação Medição/Billing Semanas Minutos Custo Fixo Granular Padronização Complexa Auto-serviço Retorno para novos serviços Anos Meses A nuvem acelera a agregação de valor em uma variedade de domínios Ambiente Legados Ambiente em Nuvem Ilimitado Nuvem Computacional A Nuvem é A Nuvem permite: Um novo modelo de consumo e entrega baseado consumo via serviços internet. Auto-serviço Opções de Fornecimento Economia de Escala Serviços em Nuvem Modelo de Computação em Nuvem A Nuvem representa A industrialização da entrega de IT por meio de serviços Multiplos tipos de Nuvem Coexistirão Privada, Publica e Híbrida Modelos de Workload e Programação específicos Conceitos de Serviços Conceitos de Serviços Arquitetura de Nuvem Padronização da Computação em Nuvem ISO/IEC JTC1 SC38 Distributed application platforms and services WG 3 – Cloud Computing ISO (International Standarts Organization) IEC (International Eletrotechnical Commission) JTC (Joint Technical Committee) SC (Subcommittee) WG (Working Group) Players de Nuvem Caso Amazon Caso Amazon - AWS EC2, o Amazon Elastic Compute Cloud, que permite executar múltiplos servidores Linux virtuais por demanda, provendo quantos computadores você precisar para processar seus dados e executar sua aplicação web sem ter de comprar ou alugar máquinas físicas; Monthly Uptime % Service Credit % >= 99% e < 99.9% 10% < 99% 25% Caso Rackspace Caso Google Tecnologia de Nuvem Computacional Provedor de Nuvem - IaaS Provedor de Nuvem - IaaS Provedor de Nuvem - IaaS Provedor de Nuvem - IaaS Provedor de Nuvem - IaaS Provedor de Nuvem - IaaS Federação – Case Governo Brasileiro Projeto Amãpytuna Modelos Grid e Cloud CICN Centro de Inovação em Computação em Nuvem Cenário: Visão Geral Demanda de Conhecimento pelo Governo Oferta de Conhecimento pela Academia Pressão para a mudança causada por: Novas Tecnologias com a oportunidade de ganhos econômicos efetivos. Tecnologias tradicionais incapazes de atender as novas demandas Grande oferta de sistemas computacionais, porém: Dados passam a ser controlados pelos vendedores Dados podem ser “exportados” ou mantidos no exterior sem o consentimento ou conhecimento dos compradores Poder computacional fica localizado fora do país Padrões Abertos e Nacionais Computação Avançada Acompanhar a mudança de paradigmas Criar os novos paradigmas Cenário: Integração Governo Academia Governo/Indústria Problemas se amontoam Tecnologias não são compreendidas Investimento necessário aumenta Legados duram mais tempo que recomendado Academia Soluções são desperdiçadas Faltam problemas e dados reais Conhecimento é direcionado para problemas internacionais Formação humana em ciência e tecnologia de ponta trabalhando nas tecnologias tradicionais Rede de Pesquisa Computação em Nuvem - Conceitos e Contexto Obrigado! Luis Claudio Pereira Tujal Analista de Sistemas do SERPRO [email protected]