Cloud Computing
Carlos Eduardo de Carvalho Dantas (
[email protected]) “Nós somos o que repetidamente fazemos. Excelência, então, não é um ato, mas um hábito”. Aristóteles.
Conectividade no mundo
Velocidade?
Central da copa 2002 – transmissão por satélite → delay 4s
Conectividade no mundo
E se fosse possível concentrar todas as informações do mundo na internet?
Cloud Computing - definição
Modelo no qual os recursos computacionais (processamento, armazenamento e softwares) estão disponíveis em uma rede de computadores e são acessados remotamente;
Cloud Computing - definição
Acredita-se que no futuro ninguém mais precisará instalar nenhum software em seu computador para desempenhar qualquer tipo de tarefa, desde edição de imagens e vídeos até a utilização de programas de escritório (Office), pois tudo isso será acessível através da internet.
Cloud Computing - exemplos
Webmails (usuários que possuem conta de emails não sabem aonde estes estão); Criação e armazenamento online de arquivos: google docs, office web apps, dropbox, etc.. Youtube, picasa, redes sociais, anti-vírus online, etc..
Cloud Computing - exemplos
Chrome os - trabalha exclusivamente com aplicativos web; Não estará disponível como download para instalação, em vez disso, o sistema operacional só virá em hardware específico de fabricação dos parceiros do Google
Cloud Computing - exemplos
Uso reduzido dos computadores pessoais; Os computadores passam a ser apenas um meio de solicitar e receber os serviços da nuvem. Quem processa, faz I/O, usa memória, etc.. é o sistema em nuvem acessado via navegador ou outro programa-cliente.
Características
Acesso a rede;
On-demand self service;
Pool de recursos;
Rápida elasticidade;
Serviço mensurado
Modelo de implantação
Privado – nuvens construídas para um único usuário ou empresa. Virtualização de servidores; Público – mantidas por terceiros e disponíveis para o público em geral ou grupo de indústrias;
Comunidade – disponível para todos
Híbrido – combinação entre os níveis acima
Modelos de Serviços
Iaas (infrastructure as a Service) – processamento, armazenamento, rede;
Ex: Amazon Elastic Compute Cloud (EC2);
Simple Storage Service (EC3)
Modelos de Serviços
Paas (Platform as a Service) – serviços para desenvolvimento, testes, publicação, hospedagem e manutenção de aplicações
Ex: Windows Azure
Google App Engine
Modelos de Serviços
Saas (Software as a Service) – sistemas online como webmails, e-commerce, transformando computadores pessoais em canais de comunicação entre a nuvem e o usuário; Saas deve se tornar um grande aliado contra a pirataria
Modelos de Serviços
DaaS – Development as a Service – ferramentas compartilhadas, ferramentas de desenvolvimento web-based e mashups; Caas – Communication as a Service – bem parecido com Saas, mas satisfaz a função de comunicações, como telefonia IP
Prós
Alta escalabilidade e baixo custo;
Muitas opções de escolha e agilidade;
Mudanças e gerenciamento transparentes;
Estar em cloud é sempre estar sob arquitetura de última geração
Contras
Menor segurança;
Menor nível de controle;
Menor confiabilidade;
Imposição tecnológica (API)
Aspectos arquiteturais
1) Escalabilidade
2) Elasticidade
3) Diminuição do custo;
4) Disponibilidade;
5) Segurança e privacidade;
6) Facilidades e flexibilidades de provedores;
7) Portabilidade e vendor lock-in
Escalabilidade
É muito mais fácil fazer uma aplicação crescer ”gigantescamente” usando alguma plataforma de cloud do que arquitetura tradicional; Provedores como Amazon, Google e VMWare possuem provedores com imensos datacenters e milhares de máquinas à disposição; Api reduzida, ex: GAE impossibilita o uso de threads e sistemas de arquivos
Elasticidade
Aumento do uso de máquinas quase instantaneamente quando necessário e liberálas quando não forem mais necessárias; Permite atender a picos repentivos e imprevisíveis sem preocupações e não desperdiçar recursos quando a aplicação está sem grandes acessos; Não precisa comprar máquinas a mais pensando em picos pontuais
Elasticidade
Uma operadora de cartão de crédito tem muitos acessos perto do natal; Ticketmaster quando começa a vender ingressos de shows grandes; Há sistemas distribuídos que quebram envio de emails para evitar que todos acessem ao mesmo tempo
Diminuição do custo
Provedores de cloud cobram baseado no uso do que se faz dos recursos computacionais do ambiente (CPU, memória, banda, etc..); Manutenção do Hardware e com equipe própria para gerenciar as máquinas – custos mais baixos que manter estrutura própria; Provedores possuem bons painéis de acompanhamento de gastos; Não há preocupações como HD queimado ou licenças expiradas de Software
Disponibilidade
Disponibilidade depende 100% do provedor;
100% de disponibilidade é utópico;
É importante possuir sistemas que se recuperem rapidamente de quedas; Provedores possuem equipes especializadas e dedicadas a garantir disponibilidade; Possuem datacenter em diversas cidades, com backup, replicação e redundância
Segurança e privacidade
Confiar informações estratégicas e ultraconfidenciais em terceiros?
Proteção contra ataques externos;
Privacidade com relação ao próprio provedor;
Facilidades e flexibilidades
Na Amazon EC2, o desenvolvedor precisa configurar e se preocupar para a aplicação rodar em vários datacenters. No GAE a replicação é automática; No Amazon EC2, é controlado replicação, load balance, DNS, etc.. no cloudfoundry, é possível até controlar quando de memória deve ser utilizado em cada JVM.
Portabilidade e vendor lock-in
Quanto uma aplicação fica amarrada a um determinado ambiente impedindo a troca de provedor no futuro; Usar datastore privado do GAE impede portabilidade. GAE procura oferecer serviços que sigam especificações oficiais e bem reconhecidas no mercado
Diminuição do custo
Provedores de cloud cobram baseado no uso do que se faz dos recursos computacionais do ambiente (CPU, memória, banda, etc..); Manutenção do Hardware e com equipe própria para gerenciar as máquinas – custos mais baixos que manter estrutura própria; Provedores possuem bons painéis de acompanhamento de gastos; Não há preocupações como HD queimado ou licenças expiradas de Software
FIM