cloud computing

44
CLOUD COMPUTING Prof. Dr. Francisco Isidro Massetto Universidade Federal do ABC [email protected]

Upload: ana-carolina-gracioso

Post on 19-Dec-2014

262 views

Category:

Documents


0 download

DESCRIPTION

Palestra de Francisco Isidro Massetto apresentada na VI Semana de Tecnologia da Fatec de Carapicuíba.

TRANSCRIPT

Page 1: Cloud Computing

CLOUD COMPUTING

Prof. Dr. Francisco Isidro Massetto

Universidade Federal do ABC

[email protected]

Page 2: Cloud Computing

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

Page 3: Cloud Computing

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

Page 4: Cloud Computing

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]

Page 5: Cloud Computing

CENÁRIO SOBRE CLOUD

Do ponto 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

Page 6: Cloud Computing

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

Page 7: Cloud Computing

TIPOS DE CLOUD

Page 8: Cloud Computing

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

Page 9: Cloud Computing

PRÓS E CONTRAS Pontos a Favor

Page 10: Cloud Computing

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

Page 11: Cloud Computing

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

Page 12: Cloud Computing

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

Page 13: Cloud Computing

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

Page 14: Cloud Computing

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

Page 15: Cloud Computing

PRÓS E CONTRAS Pontos Contra

Page 16: Cloud Computing

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

Page 17: Cloud Computing

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?

Page 18: Cloud Computing

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

Page 19: Cloud Computing

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

Page 20: Cloud Computing

ARQUITETURA DE CLOUD

Page 21: Cloud Computing

ARQUITETURA DE CLOUD

Page 22: Cloud Computing

E GRID COMPUTING?

Cloud Grid Controle dos Recursos Fornecidos

Usuário Domínio

Infra-estrutura Recursos e Serviços abstratos.Pode utilizar Grid

para gerenciar

Recursos Computacionais e de Armazenamento

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 computacionais e de

armazenamento. Controle Central

Integração de Recursos Existentes

Recurso – Domínio Administrativo

Interfaces/

Interoperabilidade

Proprietárias/Fraca Públicas/Alta

Benefícios/Malefícios Elasticidade/Segurança Colaboração/

Complexidade

Page 23: Cloud Computing

CARACTERÍSTICA FUNDAMENTAL:

ELASTICIDADE

Page 24: Cloud Computing

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?

Page 25: Cloud Computing

APENAS UM EXEMPLO

Page 26: Cloud Computing

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

Page 27: Cloud Computing

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

Page 28: Cloud Computing

#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

Page 29: Cloud Computing

#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

Page 30: Cloud Computing

#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?

Page 31: Cloud Computing

#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últiplos servidores virtualizados em uma

única infra-estrutura de hardware

Discos exclusivos?

Canais de comunicação exclusivos?

Otimização de solicitações de I/O?

Page 32: Cloud Computing

#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?

Page 33: Cloud Computing

#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?

Page 34: Cloud Computing

#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

Page 35: Cloud Computing

#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

Page 36: Cloud Computing

#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?

Page 37: Cloud Computing

#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

Page 38: Cloud Computing

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

Page 39: Cloud Computing

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

Page 40: Cloud Computing

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

Page 41: Cloud Computing

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

Page 42: Cloud Computing

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”

Page 43: Cloud Computing

INFRAESTRUTURA DE CLOUD

Virtualização

Open Nebula

Nimbus

Amazon EC-2

Google App Engine

Windows Azure

Desenvolvimento

Hadoop

Windows Azure SDK

Page 44: Cloud Computing

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