1. CLOUD COMPUTING
Prof. Dr. Francisco Isidro Massetto
Universidade Federal do ABC
francisco.massetto@ufabc.edu.br
2. AGENDA DA PALESTRA
Conceitos e Características
Vantagens e Desvantagens
Tipos de Cloud
Modelos de Negócio
Desafios e Oportunidades para provedores de
Cloud
Next Step - Desenvolvendo aplicações para Cloud
3. ALUGMAS DEFINIÇÕES
Antes de tudo: Não há consenso!
Cloud: um antigo sonho agora se tornando
realidade
Tornar a infra-estrutura de TI um fator utilitário para
as companhias
Acabaria a necessidade de constantes investimentos em
infra-estrutura e principalmente a capacidade de aumentar
ou diminuir a escala conforme demanda
Inicialmente Cloud refere-se tanto às aplicações
entregues como serviços e também à infra-
estrutura (hardware e software básico) nos
Datacenters que oferecem tais serviços
4. ALGUMAS DEFINIÇÕES
“Computação em Nuvem refere-se tanto as
aplicações entregues como serviços utilizando a
Internet quanto a hardware e software em Centro
de Dados que provêm esses serviços.” [Armbrust
et al., 2009]
“Tipo de sistema paralelo e distribuído consistindo
em uma coleção de computadores interconectados
e virtualizados que são dinamicamente fornecidos
e apresentados como um ou mais recursos de
computação unificado baseado no contrato de nível
de serviço” [Buyya et al., 2008]
5. CENÁRIO SOBRE CLOUD
Doponto de vista Hardware, temos 3 novos
aspectos:
A ilusão de um conjunto infinito de recursos
disponíveis sob demanda
A eliminação de um acordo formal por parte dos
usuários de Cloud
Empresas podem começar “pequenas” e aumentar sua
demanda ao longo do tempo
A habilidade de se pagar para usar recursos
computacionais em um curto prazo conforme
necessidade
6. TIPOS DE CLOUD
Public Cloud
Serviços de Cloud Computing disponíveis na forma
“pay-as-you-go”
Público em geral pode pagar para usar serviços.
Private Cloud
Em geral usado para referir-se a datacenters internos a
uma organização, não sendo disponível para outros
usuários
8. CARACTERÍSTICAS
Paradigma de computação distribuída
especializado
Massivamente escalável
Pode ser encapsulado com uma entidade abstrata
que entrega diferentes níveis de serviço ao cliente
Focado em economia de larga escala
Serviços podem ser dinamicamente configurados
(via virtualização ou de outra forma) e entregue
sobre demanda
Utility Computing
10. PRÓS E CONTRAS
Computadores pessoais de baixo custo
Usuários finais não precisariam mais de máquinas
potentes e robustas
Tablets ganharão (e já ganham) cada vez mais espaço, já
que tudo está na CLOUD
Desempenho
Alguns aspectos que irritam os usuários finais (como o
tempo de boot da máquina, carregamento de software
“pesado”) podem ser melhorados, uma vez que estes
aplicativos não serão mais instalados
Fator primordial para desempenho rede
11. PRÓS E CONTRAS
Baixo custo de Infraestrutura de TI
Baixa necessidade de aquisição de servidores, discos,
memória
Poucas ocorrências de manutenção
Falhas físicas são abstraídas e ficam a cargo do
provedor de cloud
Com menor quantidade de servidores na empresa,
menor a ocorrência de falhas
12. PRÓS E CONTRAS
Menor custo com Software
Possibilidade de aluguel de aplicativos cobrar sobre
uso
Vendas personalizadas de módulos específicos
Atualizações instantâneas
Uma vez que você usa uma aplicação via web,
obviamente você sempre estará usando sua versão
mais recente
13. PRÓS E CONTRAS
Poder computacional extremamente ampliado
Uma vez que toda a nuvem está a disposição, tarefas que
podem ser realizadas nela jamais seriam capazes de
serem efetivas em um desktop ou workstation
Capacidade de armazenamento ilimitada
Devido à elasticidade é possível agregar cada vez mais
elementos de armazenamento
Aumento da Segurança dos Dados
Dados na Cloud permanecem na Cloud (em algum lugar)
Perdas, Danos ou Falhas em HDs não são
responsabilidade do usuário final
Replicações e redundância
14. PRÓS E CONTRAS
Aumento da interoperabilidade entre Sistemas
Operacionais
Independente do SO disponível na Cloud, o acesso pode
ser feito por qualquer dispositivo
Colaboração de Grupos
Onipresença facilitando comunicação e CSCW
Acesso universal a recursos
Desvencilhar-se de dispositivos específicos
Tudo na Cloud é acessível via Web, basta uma conexão
16. PRÓS E CONTRAS
Velocidade e Disponibilidade de conexão são pré-
requisitos
De nada adianta ter uma infra-estrutura e aplicativos
disponíveis se não forem alcançáveis pelos usuários
Desempenho da Cloud pode ser comprometido, não pela
infra-estrutura de hardware ou configuração de software,
mas pela conexão do seu usuário com a nuvem
Funcionalidades dos aplicativos pode (e é em
muitos casos) bastante reduzida
Apesar da Web 2.0, HTML 5, controles ativos, as
capacidades de um browser ainda são muito inferiores a
um Desktop ou Workstation
17. PRÓS E CONTRAS
Dados armazenados podem não ser seguros
Acesso não autorizado aos dados
Como garantir que o provedor não irá tornar disponível
seus dados estratégicos a seus concorrentes?
Como provar que isso foi feito?
Se seus dados forem perdidos, você está
enrascado
Justamente o contraponto de você armazenar ou não
dados localmente. Qual a decisão?
18. BARREIRAS DA CLOUD
(“A NUVEM NEGRA”)
Questões Técnicas
Temos capacidade de implantar/migrar para Cloud?
Modelo de Negócios
Nosso negócio é compatível com o modelo de Cloud?
Internet – Acesso e Velocidade
Vamos oferecer um recurso que vai ser alcançável pelos usuários?
Segurança
Quem garante que nossos dados estão seguros, acessíveis com
restrições e disponíveis?
Compatibilidade
Mudanças são onerosas e muitas vezes traumáticas – você trocaria
o Word por um Browser?
Aspectos Sociais
As aplicações/dados não estão fisicamente no meu HD. Logo não
aceito isso e não uso
19. O QUE SE BUSCA EM CLOUD?
Software as a Service (SaaS)
Aplicações para usuários finais via Web
Platform as a Service (PaaS)
APIs, frameworks, linguagens e ferramentas de
desenvolvimento para Cloud computing
Implementação pode ser feita via webServices
Infrastructure as a Service (IaaS)
Servidores (máquinas reais ou virtuais),
armazenamento
22. E GRID COMPUTING?
Cloud Grid
Controle dos Recursos Usuário Domínio
Fornecidos
Infra-estrutura Recursos e Serviços Recursos Computacionais e de
abstratos.Pode utilizar Grid Armazenamento
para gerenciar
Modelo de Negócios Paga-se pelo que é utilizado Usuário possui um certo
número de unidades de
serviços (CPU/hora)
Arquitetura Conjunto de recursos Integração de Recursos
computacionais e de Existentes
armazenamento. Controle Recurso – Domínio
Central Administrativo
Interfaces/ Proprietárias/Fraca Públicas/Alta
Interoperabilidade
Benefícios/Malefícios Elasticidade/Segurança Colaboração/
Complexidade
24. APENAS UM EXEMPLO
Animoto.com
Portal para criação de slideshows via web
Fato:
Anunciou seu serviços no Facebook.com
Demanda de acesso ao serviço oscilou da
necessidade de 50 para 3500 servidores (em
momentos de pico) em 3 dias!
Inviável de se implementar em um ambiente real
não necessariamente por causa do custo da infra-
estrutura, como também pelo custo operacional de
manutenção
E quando opera-se abaixo do pico?
26. TRANSFERÊNCIA DE CUSTO/RISCO
Sub-utilização de recursos computacionais
Agora não é mais responsabilidade do operador
e sim do provedor do serviço
“Green Computing”
Otimização no consumo de energia elétrica nas
empresas
Perda de usuários
Quem assume o risco de usuários que deixam
de utilizar o serviços?
Administração dos recursos computacionais
Novamente de responsabilidade do provedor
27. DESAFIOS E OPORTUNIDADES
Ao todo 10 principais obstáculos e oportunidades
para Cloud Computing
Idéias para criação de soluções tanto comerciais,
como voltadas a pesquisa
28. #1 – DISPONIBILIDADE DO SERVIÇO
Único provedor de serviço
Integração entre vários provedores
Necessidade de intercâmbio de serviços
DDOS
Quick scale-up pode auxiliar na manutenção
Escala de oferta é aumentada, para que o
software continue sendo oferecido de forma que
os pontos atacados não influenciem sua
operação
29. #2 – APREENSÃO DE DADOS
Soluções proprietárias podem custar muito aos
usuários
Presos ao provedor, ficam à mercê de suas políticas de
preço/acesso
Ideal: padronizações
Desafios: padronizar API ou criar camadas que
realizem interoperabilidade entre diversos
provedores
30. #3 – CONFIDENCIALIDADE DE DADOS
E AUDITORIAS
Até que ponto deixar dados estratégico sob
armazenamento de terceiros?
Como fazer para garantir o acesso exclusivo e com
garantias?
Como auditar dados para confirmar se foram ou
não corrompidos?
Qual o controle e nível de acesso que temos sobre
quem consulta/altera dados?
31. #4 – GARGALOS NA TRANSFERÊNCIA
DE DADOS
Certamente
um dos principais desafios é
como vencer gargalos de transferência de
dados
Serviços podem ser oferecidos na mesma infra-
estrutura de hardware
Múltiplosservidores virtualizados em uma
única infra-estrutura de hardware
Discos exclusivos?
Canais de comunicação exclusivos?
Otimização de solicitações de I/O?
32. #5 – DESEMPENHO IMPREVISÍVEL
Tipos distintos de sistemas de armazenamento
Quantidade de servidores virtualizados
HPC
Necessidade de garantir que as threads em uma
aplicação de alto desempenho executam
simultaneamente
Como escalonar essas aplicações para obterem o
máximo de desempenho?
33. #6 – ARMAZENAMENTO ESCALÁVEL
Como gerenciar a ocupação altamente dinâmica de
HDs em um sistema de Cloud Computing?
À medida que o sistema aumenta a demanda, a
necessidade de maior quantidade de HDs
E quando a escalabilidade diminui rapidamente?
Como gerenciar esses espaços disponíveis em um
curto periodo de tempo?
34. #7 – BUGS EM LARGA ESCALA
Identificação de bugs em um sistema em que o
usuário não tem controle sobre sua infra-estrutura
Muitos erros em geral não ocorrem em ambientes
de menor escala e são comprovados apenas em
larga escala
35. #8 – ESCALABILIDADE RÁPIDA
Pay-as-you-go
Reconfigurações muito rápidas de uso de recursos
Como gerenciar essas oscilações sem alterar
contratos de níveis de serviços?
Escalonamento de novos serviços em infra-
estruturas que tornam-se ociosas rapidamente
36. #9 – COMPARTILHAR REPUTAÇÃO
Como prever que uma mensagem vinda de
um serviço de cloud é confiável ou não
Exemplo: EC2 – Amazon
Inserir um IP da Amazon como sendo lista de
SPAM pode generalizar de forma negativa a
oferta e uso de serviços da Cloud
Que podem ser essenciais para a empresa
Uma empresa que envia SPAMs usando
infra-estrutura de cloud
De quem é a responsabilidade? Quem é o
Spammer?
37. #10 - LICENCIAMENTO DE SOFTWARE
Muito problemático em relação à escalabilidade
Softwares que operam por licenças limitam a
escalabilidade
Desafios: criação de modelos de negócios que
quantifiquem o uso do software e não o número de
licenças
Métricas para uso de Cloud
38. ALGUNS USOS DE CLOUD
Uso doméstico
Contas domésticas, orçamento familiar, listas de
compras, atividades da família, planejamento de
férias/feriados, álbuns de fotos (Picasa, Flickr)
Uso comunitário
Serviços e noticiário do bairro, agendas de eventos,
trabalhos colaborativos (envolvendo departamentos de
uma empresa ou mesmo associações), TODO-Lists,
Marketing
39. ALGUNS USOS DE CLOUD
Corporativo
Listas de contatos, ramais e emails da intranet
Agendamentos de reuniões (Doodle)
Compartilhamento de agendas (Google Calendar)
Gerenciamento de Projetos
Aplicativo Spreadsheet do GoogleDocs tem sido
amplamente usados para definir tarefas, prazos e
cumprimentos
Workflow
Orçamento compartilhado
Vários departamentos inserem numa planilha única suas
necessidades para que todos tenham visão de todo
planejamento de custos
Integração com ferramentas mobile – Android, IOs
40. ALGUNS USOS DE CLOUD
CRM
Salesforce.com
Automação da força de vendas
Call centers
Canais com parceiros – uma área global de colaboração
entre parceiros
Marketing – ferramentas de análise de resultados para
decisões estratégicas de marketing
Conteúdos – ferramentas de armazenamento
colaborativo de documentos
Análises – ferramentas de dashboards, BSC, decisão,
alocação de recursos
41. USOS DE CLOUD
Gerenciamento de Projetos
@task
Ferramenta “estilo” Project
Definição de diagramas de Gantt, dependências, paralelismo,
sincronizações
Integração com API iPhone
Copper Project
Facilidade de uso na própria nuvem ou instalação dentro da
empresa
42. CLOUD-BASED OPERATING SYSTEMS
ajaxWindows
www.ajaxwindows.com
Interface muito próxima ao MS-Windows
eyeOS
Acompanha suíte de aplicativos de escritórios
compatível com Office
Nilvio
“Windows 2000 nas nuvens”
43. INFRAESTRUTURA DE CLOUD
Virtualização
Open Nebula
Nimbus
Amazon EC-2
Google App Engine
Windows Azure
Desenvolvimento
Hadoop
Windows Azure SDK
44. POR QUE ISSO?
De qual lado estarei?
Usuário de cloud?
Provedor de cloud para clientes?
Implantador de private cloud?
Alternativa bastante interessante para oferecer a solução “on
demand” de software para departamentos internos à empresa
Fábrica de software oferecendo sistemas on demand para
clientes dos outros departamentos