Introdução a Computação em Nuvem Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão
Objetivos Nesta aula iremos apresentar a computação em nuvem. A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso ter um terminal conectado à nuvem.
Plano de Aula Computação em Nuvem Introdução Características essenciais Modelos de implantação Modelos de Serviços Catálogos Segurança
Introdução A Computação em nuvem permite o uso computacional (processamento, armazenamento, serviços, etc.) com recursos compartilhados de forma remota, por meio da internet ou redes locais; A computação em nuvem é a evolução de uma variedade de tecnologias: Computação em Grid; Virtualização; Utility computing (disponibilização de serviços remotos baseados em contratos/uso).
Introdução
Computação em Nuvem De acordo com o Instituto Nacional de Padrões e Tecnologia (NIST), o modelo de computação em nuvem é formado por: Cinco características essenciais; Quatro modelos de implantação; Três modelos de serviços.
Computação em Nuvem
Características Essenciais Sob demanda (On-demand self-service): fornecedores de serviços em nuvem oferecem diversos recursos, que podem ser facilmente habilitados e configurados. Assim, o consumidor paga apenas pelos serviços utilizados/contratados; Acesso à rede (Broad network access): para fornecer ou utilizar um serviço em nuvem é preciso haver acesso a uma rede padrão, por meio de dispositivos que possuam uma plataforma capaz de acessar tal serviço. Compartilhamento de recursos (Resource pooling): os provedores de serviços em nuvem utilizam um modelo de compartilhamento de recursos conhecido como multi-inquilino (Multitenancy).
Características Essenciais Elasticidade imediata (Rapid elasticity): possibilita configurar o aumento ou a redução de recursos físicos, o que na maioria das vezes é realizado de modo automático ou pré-configurado pelo cliente; Controle de serviços (Measured service): implica no controle de todos os recursos contratados pelo usuário com a possibilidade de monitoramento, controle e relatórios dos recursos utilizados, o que permite maior transparência para quem contrata os serviços e para o fornecedor.
Modelos de Implantação
Modelos de Implantação Nuvem privada (Private cloud): as infraestruturas são criadas para o uso exclusivo de uma organização e são gerenciadas pelo departamento de TI, terceirizadas ou de forma combinada; Nuvem comunitária (Community cloud): as infraestruturas são compartilhadas por várias organizações que possuem propósitos e interesses comuns (política, missão, requisitos de segurança). Essas infraestruturas podem ser gerenciadas pelo departamento de TI das organizações da comunidade, terceirizadas ou de forma combinada.
Modelos de Implantação Nuvem pública (Public cloud): as infraestruturas estão disponíveis para o uso do público em geral e são gerenciadas pelas empresas fornecedoras que disponibilizam serviços em nuvem de forma que o usuário paga pelo que usar; Nuvem Híbrida (Hybrid cloud): as infraestruturas são compostas por dois ou mais modelos de implantação (nuvem privada, nuvem comunitária, nuvem pública). Organizações utilizam esse modelo para ter maior controle sobre os dados podendo, por exemplo, utilizar um modelo de implantação privado para controlar os dados internos da organização e um modelo de implantação público para as regras de negócios.
Modelos de Implantação
Modelos de Serviço Software como Serviço (SaaS): disponibiliza aplicações completas ao usuário final com acesso completamente transparente, permitindo execução de programas a partir de uma máquina local com acesso provido pelos prestadores de serviço através de portais web; Plataforma como Serviço (PaaS): fornece um ambiente no qual o desenvolvedor pode criar e implementar aplicações sem ter que se preocupar em saber quantos processadores ou o quanto de memória esta sendo usada para o executar a tarefa; Infra-estrutura como Serviço (IaaS): serviços de infraestrutura sob demanda, oferece recursos virtualizados como computação, armazenamento e comunicação.
Modelos de Serviço
Modelo de Software como Serviço (SaaS) Nesse modelo o fornecedor disponibiliza aplicativos que são acessados por meio de navegadores Web ou via desktop; Nova forma de vender software (paga apenas pelo que usa); Neste modelo o usuário final não pode administrar ou controlar os recursos de infraestrutura (processamento, armazenamento, memória, etc); Benefícios: (i) empresas gastarão menos com recursos de TI, pois utilizarão recursos do próprio Data Center; (ii) entregas rápidas de novas atualizações para todos os usuários conectados à rede; e (iii) padronização de serviços para todos os usuários.
Modelo de Plataforma como Serviço (PaaS) Modelo apropriado para desenvolvedores de aplicações, pois oferece um ambiente com sistema operacional, frameworks para desenvolvimento de aplicativos e também hospedagem para os aplicativos desenvolvidos. O usuário não pode administrar ou controlar os recursos da infraestrutura, mas tem controle sobre os aplicativos desenvolvidos e as configurações no ambiente de hospedagem do servidor; Benefícios: (i) custo de aquisição reduzido, pois o usuário paga apenas pelo recurso utilizado; e (ii) redução do impacto ambiental dos recursos usados com infraestrutura local.
Modelo de Infraestrutura como Serviço (IaaS) Esse modelo oferece controle sobre o processamento, armazenamento, redes e outros recursos básicos da computação; O usuário poderá instalar sistemas para o funcionamento da máquina virtual como sistema operacional e aplicações; Benefícios: (i) menores custos com TI, pois nem todos os recursos investidos com infraestrutura local na empresa serão utilizados; (ii) não existência de custos com manutenção de infraestrutura, pois toda a manutenção é de responsabilidade do fornecedor do serviço em nuvem; e (iii) sistema escalável e flexível, já que o dimensionamento de todos os recursos é feito de forma dinâmica conforme necessário.
Catálogos Software as a Service (SaaS) Computação em Nuvem Platform as a Service (PaaS) Infrastructure as a Service (IaaS) Google Docs Photoshop Express Google App Engine
Catálogos (SaaS) Google Docs: é um conjunto de ferramentas desenvolvido para criação e leitura de textos, planilhas, apresentações e formulários eletrônicos; Dropbox: é um serviço de armazenamento de arquivos online que possibilita o compartilhamento com outros usuários tornando os arquivos sincronizados; SalesForce.com: é um aplicativo de Gestão de Relacionamento com o Cliente (CRM) online baseado em multitenancy (princípio da arquitetura de software onde uma única instância de software em um servidor é utilizada por várias organizações clientes); Basecamp: é uma ferramenta para o gerenciamento e a colaboração de projetos online baseado em multitenancy.
Catálogos (PaaS)
Catálogos (IaaS) Para implantar um IaaS devemos usar algumas ferramentas: Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs to Useful Systems) é um framework para construção e gerenciamento de nuvens privadas e híbridas sem necessidade de hardware especial para computação em nuvem. O Eucalyptus possui um módulo chamado euca2tool para a criação de painéis de usuários para gerenciamento dos serviços e plataforma. Esse framework conta com uma versão comercial e um projeto open source.
E a Segurança? Principais ameaças para Computação em nuvem. Uso abusivo da computação em nuvem; API s inseguras; Funcionários maliciosos nos provedores; Vulnerabilidades nas tecnologias de suporte; Vazamento de dados; Sequestro de dados, tráfegos e sessões; Risco desconhecido Impactos da quebra de segurança Vazamento de informações confidenciais; Indisponibilidade de serviços; Aumento de custos e diminuição de credibilidade;
Dúvidas Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva
Próxima Aula Integração de Sistemas usando Rest
Referências Sistemas Distribuídos - Conceitos e Projeto, George Coulouris, 4ª Edição - Editora Bookman, 784 páginas. http://www.devmedia.com.br/desenvolvimentode-sistemas-para-a-nuvem-revista-engenharia-desoftware-magazine-57/27587