12.04.2013 Views

Cloud Computing (CC) - Arquitectura de Sistemas Computacionais

Cloud Computing (CC) - Arquitectura de Sistemas Computacionais

Cloud Computing (CC) - Arquitectura de Sistemas Computacionais

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Sli<strong>de</strong>s baseados no livro:<br />

<strong>Cloud</strong> <strong>Computing</strong> (<strong>CC</strong>)<br />

José C. Cunha – DI-FCT/UNL<br />

<strong>Cloud</strong> <strong>Computing</strong>: Implementation, Management and Security<br />

J. Rittinghouse, J. Ransome<br />

CRC Press, 2009<br />

SCG


Perspectiva Global<br />

- Conceitos fundamentais<br />

- Funcionalida<strong>de</strong>s oferecidas como Serviços:<br />

SaaS: Software<br />

IaaS: Infrastructure<br />

PaaS: Platform as a Service<br />

MaaS: Monitoring<br />

CaaS: Communication<br />

- <strong>Arquitectura</strong>s <strong>de</strong> <strong>CC</strong>:<br />

SOA + OpenSourceSoftware + Virtualização + Segurança<br />

- Normalização (standards)<br />

- Mobilida<strong>de</strong> e <strong>CC</strong>: re<strong>de</strong>s sociais e colaboração SCG<br />

2


Suporte <strong>de</strong> on-<strong>de</strong>mand computing<br />

aten<strong>de</strong>r ao nível flutuante dos pedidos dos U<br />

(Utilizadores) acesso a diferentes Recursos<br />

Provedores XaaS<br />

CaaS, IaaS,<br />

MaaS, PaaS<br />

SaaS<br />

Utility computing (UC)<br />

Data centers, Grid-, Cluster-, Super- computing<br />

SCG<br />

3


edução <strong>de</strong> custos<br />

Factores e benefícios<br />

<strong>de</strong> implementação<br />

<strong>de</strong> manutenção<br />

acesso global e mobilida<strong>de</strong><br />

infraestruturas flexíveis e expansíveis em escala<br />

produtivida<strong>de</strong> maior:<br />

redução no tempo <strong>de</strong> comercialização dos produtos<br />

foco no <strong>de</strong>senvolvimento <strong>de</strong> aplicações versus na<br />

manutenção e implementação<br />

maior disponibilida<strong>de</strong> <strong>de</strong> produtos HPC para as PMEs...<br />

ecologia dos centros <strong>de</strong> dados<br />

SCG<br />

4


Potenciais dificulda<strong>de</strong>s<br />

pouca compreensão da parte dos Gestores <strong>de</strong> TI<br />

<strong>de</strong>sconfianças quanto a:<br />

- segurança e privacida<strong>de</strong><br />

como evoluir <strong>de</strong> arquitecturas protegidas para ambientes<br />

com aplicações SaaS (Software as a Service)<br />

como garantir acesso seguro aos dados e a sua gestão controlada<br />

esforços para combater isto: a nível da Segurança<br />

2ª meta<strong>de</strong> <strong>de</strong> 2009: recomendações para empresas que queiram<br />

adoptar <strong>CC</strong> como gerir o risco?<br />

- direitos <strong>de</strong> posse dos dados<br />

- <strong>de</strong>sempenho e QoS (Qualida<strong>de</strong> <strong>de</strong> Serviço)<br />

- fiabilida<strong>de</strong><br />

SCG<br />

5


Conceitos<br />

Origem dos conceitos: anos 1960<br />

sistemas <strong>de</strong> time-sharing<br />

mo<strong>de</strong>los <strong>de</strong> utilida<strong>de</strong>s<br />

(utility computing)<br />

pay as you use<br />

dar acesso a recursos computacionais e<br />

a arquitecturas como serviços e contabilizar a sua<br />

utilização<br />

relação entre o U final e o Provedor do Serviço<br />

SCG<br />

6


Origem dos conceitos: Internet Comunicação<br />

Internet<br />

transparência no transporte e na ligação entre<br />

pontos extremos<br />

Generalização...: <strong>Cloud</strong> <strong>Computing</strong><br />

Comunicação + Computação + Arquivo <strong>de</strong> dados<br />

SCG<br />

7


Os ciclos da História...<br />

no início:<br />

os Centros <strong>de</strong> Cálculo com os mainframes<br />

em regime <strong>de</strong> processamento batch<br />

<strong>de</strong>pois os PCs, as re<strong>de</strong>s locais e globais e os<br />

sistemas multimédia e interactivos<br />

os <strong>Sistemas</strong> Distribuídos <strong>de</strong> gran<strong>de</strong> escala ...<br />

e os sistemas <strong>de</strong> computação em Grid<br />

agora <strong>de</strong> novo os Centros <strong>de</strong> Dados<br />

e os Provedores <strong>de</strong> Serviços<br />

SCG<br />

8


Que objectivos iniciais?<br />

como oferecer acesso a servidores virtuais<br />

para os clientes finais po<strong>de</strong>rem ace<strong>de</strong>r a<br />

pedido (on <strong>de</strong>mand) aos serviços<br />

suportados<br />

1º para aplicações não críticas<br />

2º para adopção mais geral, se/logo que as<br />

questões <strong>de</strong> <strong>de</strong>sconfiança forem superadas<br />

SCG<br />

9


Definições?<br />

<strong>CC</strong>: um mo<strong>de</strong>lo <strong>de</strong> computação baseado no<br />

conceito <strong>de</strong> utilida<strong>de</strong>s (utility computing)<br />

suportado por servidores virtuais,<br />

acessíveis a U finais, via Internet<br />

Com o objectivo <strong>de</strong> permitir que R<br />

computacionais sediados numa localização<br />

L1, sejam tornados acessíveis a um U em<br />

qualquer outra localização, <strong>de</strong> forma<br />

transparente (o mesmo objectivo da Grid?)<br />

SCG<br />

10


Estado actual ainda emergente<br />

Provedores que oferecem S específicos:<br />

aplicações completas<br />

S <strong>de</strong> apoio ao <strong>de</strong>senvolvimento <strong>de</strong> aplics<br />

S <strong>de</strong> email<br />

S <strong>de</strong> arquivo <strong>de</strong> dados (storage)<br />

Tentativas <strong>de</strong> agregar e integrar:<br />

em frameworks <strong>de</strong> produtos e S com um<br />

ponto único <strong>de</strong> entrada (como a Grid...)<br />

eg S integrados <strong>de</strong> comunicações<br />

SCG<br />

11


Que requesitos da parte do U?<br />

po<strong>de</strong>r expandir / contrair a capacida<strong>de</strong> da<br />

infraestrutura necessária, dinamicamente<br />

sem ter <strong>de</strong> investir em equipamento, nem em<br />

pessoal <strong>de</strong> administração, manutenção<br />

sem ficar <strong>de</strong>pen<strong>de</strong>nte da tecnologia <strong>de</strong><br />

implementação<br />

sem ter <strong>de</strong> investir em licenças <strong>de</strong> software<br />

Um mo<strong>de</strong>lo UC baseado em subscrição para<br />

ace<strong>de</strong>r a S acessíveis via Internet<br />

SCG<br />

12


o U não tem <strong>de</strong> investir na infraestrutura<br />

po<strong>de</strong> centrar-se no <strong>de</strong>senvolvimento ou utilização<br />

<strong>de</strong> aplicações<br />

po<strong>de</strong> consumir Rs como um Serviço<br />

pagando só pelo seu uso<br />

ou num mo<strong>de</strong>lo <strong>de</strong> subscrição<br />

o Provedor implementa métricas <strong>de</strong><br />

contabilização do uso dos Rs<br />

o U não tem que dimensionar uma sua plataforma<br />

para o caso mais crítico <strong>de</strong> carga do sistema<br />

SCG<br />

13


o Provedor vê a sua infraestrutura partilhada<br />

por muitos Us, melhorando os débitos <strong>de</strong><br />

utilização<br />

rentabiliza os Rs e os custos <strong>de</strong><br />

investimento<br />

po<strong>de</strong> concentrar-se na optimizações dos<br />

Serviços oferecidos<br />

e nas garantias <strong>de</strong> fiabilida<strong>de</strong> e QoS<br />

po<strong>de</strong> respon<strong>de</strong>r a picos, ajustando a<br />

escala dinamicamente<br />

SCG<br />

14


Algumas características distintivas<br />

Para o Cliente: completa transparência...<br />

Para o Provedor:<br />

face à localização<br />

face à infraestrutura<br />

i) Múltiplos locatários (multitenancy)<br />

partilha <strong>de</strong> Rs e custos <strong>de</strong> investimento por gran<strong>de</strong>s números <strong>de</strong> Us<br />

Possibilita:<br />

infraestrutura centralizada com menores custos<br />

capacida<strong>de</strong> maior para suportar picos <strong>de</strong> carga<br />

gestão mais rentável dos Rs (maior tempo <strong>de</strong> utilização)<br />

gestão dinâmica <strong>de</strong> afectação <strong>de</strong> Rs (CPU, Storage, BW)<br />

garantia <strong>de</strong> QoS consistente, SCG<br />

monitorizada pelo Provedor 15


ii) Fiabilida<strong>de</strong><br />

recurso a redundância e replicação<br />

assegura<br />

Business Continuity & Disaster Recovery<br />

mas ... <strong>de</strong>ixa o Cliente <strong>de</strong> mãos atadas, quando há<br />

catástrofes que o Provedor não contemplou<br />

iii) Escalabilida<strong>de</strong><br />

ajuste dinâmico face às variações dos pedidos<br />

dos U<br />

iv) Segurança e Privacida<strong>de</strong><br />

SCG<br />

16


Segurança e Privacida<strong>de</strong><br />

sobretudo sob o controlo do Provedor<br />

que gere a Informação <strong>de</strong> forma<br />

centralizada mais fácil<br />

mas o Cliente per<strong>de</strong> o controlo sobre os<br />

dados sensíveis...<br />

nem tem acesso aos audit trails / log<br />

internos que registam a história dos<br />

acessos aos dados<br />

aspectos a melhorar no futuro?<br />

SCG<br />

17


v) Consumo <strong>de</strong> energia<br />

custos da responsabilida<strong>de</strong> do Provedor<br />

o Cliente só paga o acesso e utilização <strong>de</strong><br />

cada Serviço<br />

o Provedor tem <strong>de</strong> conciliar:<br />

maior consumo pela escala dos R<br />

versus<br />

maior eficiência na utilização dos Rs<br />

para além <strong>de</strong> optimizações no consumo<br />

SCG<br />

18


vi) Aspectos legais<br />

tentativas <strong>de</strong> unificar as abordagens e <strong>de</strong><br />

produzir recomendações para as empresas<br />

provedoras:<br />

como participarem / certificarem obediência a<br />

certas regras<br />

como certificar que as empresas a<strong>de</strong>rem a<br />

organizações reguladoras que impõem a aplicação<br />

<strong>de</strong> boas práticas: ...<br />

SCG<br />

19


Dimensões legais<br />

notificar indivíduos sobre os objectivos da informação ser<br />

coligida ou usada<br />

dar-lhes opção <strong>de</strong> disponibilizarem ou não a informação a<br />

terceiros<br />

garantir que se a <strong>de</strong>rem, os terceiros asseguram o mesmo<br />

nível <strong>de</strong> protecção / privacida<strong>de</strong><br />

dar acesso à informação pessoal<br />

impôr precauções razoáveis (!) <strong>de</strong> segurança para os<br />

dados coligidos contra: perda, mau uso, divulgação<br />

impôr medidas razoáveis (!) para assegurar a integrida<strong>de</strong><br />

dos dados<br />

implementar os mecanismos a<strong>de</strong>quados para estas<br />

garantias<br />

SCG<br />

20


Em resumo...<br />

A Comunida<strong>de</strong>: IBM, Google, Universida<strong>de</strong>s,<br />

Amazon, Yahoo, Microsoft, ...<br />

Investigadores + Provedores<br />

entusiasmados...<br />

Os Gestores <strong>de</strong> TI:<br />

<strong>de</strong>sconfiados...<br />

Mas: que oportunida<strong>de</strong>s <strong>de</strong> mercado?<br />

que garantias?<br />

SCG<br />

21


2- Exemplos <strong>de</strong> funcionalida<strong>de</strong>s<br />

<strong>CC</strong> expan<strong>de</strong> a noção dos Centros <strong>de</strong> Dados<br />

tradicionais porque a esten<strong>de</strong> para uma<br />

escala <strong>de</strong> acessibilida<strong>de</strong> global e porque<br />

oferece níveis <strong>de</strong> transparência superiores,<br />

centrados no conceito <strong>de</strong> Serviço para<br />

encapsular qualquer funcionalida<strong>de</strong>:<br />

aplicação<br />

ambiente <strong>de</strong> <strong>de</strong>senvolvimento<br />

plataforma e infraestrutura<br />

(virtualizadas...)<br />

SCG<br />

22


2.1 SaaS – Software as a Service<br />

as aplicações são acedidas via um browser<br />

por milhares <strong>de</strong> clientes, suportadas por<br />

arquitecturas multi-utilizadores<br />

o foco: no U final em vez <strong>de</strong> na gestão dos<br />

Serviços<br />

Para o Cliente:<br />

não há investimentos iniciais em infraestruturas, em<br />

licenças <strong>de</strong> software e em <strong>de</strong>senvolvimentos <strong>de</strong> ambientes<br />

Para o Provedor:<br />

se só oferece um produto, tem custos mais baixos <strong>de</strong>vido à<br />

gran<strong>de</strong> gama <strong>de</strong> Us (comparado com sistemas que<br />

oferecem muitos S genéricos)<br />

SCG<br />

23


Exemplos<br />

SaaS tem uso corrente em muitas aplicações<br />

Google Apps:<br />

acesso via Web a aplicações típicas <strong>de</strong><br />

escritório, mantendo o software e os dados<br />

do U em servidores Google<br />

SCG<br />

24


uma vertente <strong>de</strong> SaaS<br />

um ManagedService: uma aplicação acessível<br />

como um S a uma infraestrutura <strong>de</strong> uma<br />

organização, em vez <strong>de</strong> a um U final<br />

Exemplos:<br />

Scan <strong>de</strong> virus p/ email<br />

Antispam<br />

S <strong>de</strong> gestão <strong>de</strong> <strong>de</strong>sktops<br />

S <strong>de</strong> monitorização <strong>de</strong> <strong>de</strong>sempenho <strong>de</strong> aplicações<br />

Gestão <strong>de</strong> segurança <strong>de</strong> serviços, providos por um<br />

3º parceiro<br />

SCG<br />

25


Muitos exemplos <strong>de</strong> S comerciais<br />

Outra vertente <strong>de</strong> SaaS:<br />

oferta <strong>de</strong> um conjunto <strong>de</strong> Serviços, gerido <strong>de</strong><br />

forma centralizada, com os quais os U interagem:<br />

Exemplo: nos contextos <strong>de</strong> mercados financeiros ou<br />

comércio electrónico –viagens, hotéis...<br />

Serviços disponíveis via uma plataforma comum<br />

que coor<strong>de</strong>na a entrega e o processamento do<br />

pagamento do uso do Serviço<br />

SCG<br />

26


2.2 PaaS – Platform as a Service<br />

dá a acesso a uma plataforma em vez <strong>de</strong> a<br />

uma aplicação<br />

através <strong>de</strong> APIs baseadas em Web services<br />

para apoiar o <strong>de</strong>senvolvimento <strong>de</strong> aplicações<br />

distribuídas<br />

inclui ambientes <strong>de</strong> <strong>de</strong>senvolvimento<br />

oferecidos como S com garantias<br />

para Programadores <strong>de</strong> fiabilida<strong>de</strong><br />

para Analistas <strong>de</strong>sempenho<br />

para Eng. <strong>de</strong> Software integração<br />

SCG<br />

27


O mo<strong>de</strong>lo PaaS<br />

o <strong>de</strong>senvolvedor constrói aplicações para<br />

serem executadas na infraestrutura do<br />

provedor<br />

o U final ace<strong>de</strong> às aplicações <strong>de</strong>senvolvidas<br />

via um Web browser<br />

Limitação: as funcionalida<strong>de</strong>s do ambiente <strong>de</strong><br />

<strong>de</strong>senvolvimento são restritas às oferecidas<br />

pelo S suportado pelo Provedor<br />

SCG<br />

28


Exemplo: Google App Engine<br />

visa oferecer suporte para a construção <strong>de</strong><br />

aplicações com garantias <strong>de</strong> execução fiável,<br />

mesmo com picos <strong>de</strong> carga e com gran<strong>de</strong>s<br />

volumes <strong>de</strong> dados<br />

O ambiente inclui:<br />

dynamic web serving, persistent storage + queries / sorting<br />

/ transactions, gestão transparente da escala e equilíbrio da<br />

carga, APIs para autenticação do U + um ambiente<br />

completo para <strong>de</strong>senvolvimento local que simula a<br />

GoogleAppEngine num <strong>de</strong>sktop<br />

Actualmente as aplicações utilizam uma interface<br />

baseada em Python suportada pelo ambiente<br />

SCG<br />

29


Computação Grid versus <strong>Cloud</strong>?<br />

Grid: noção <strong>de</strong> supercomputador virtual sobre uma<br />

arquitectura distribuída <strong>de</strong> gran<strong>de</strong> escala<br />

noção <strong>de</strong> que cada nó/organização integrando a<br />

Grid, contribui com os seus R, na medida em que<br />

também ace<strong>de</strong> aos Rs globais da Grid<br />

<strong>Cloud</strong>: um passo evolutivo?<br />

oferecer Serviços, sob controlo mais estrito <strong>de</strong><br />

um Provedor, <strong>de</strong> forma neutra em relação à<br />

arquitectura... Mas em geral suportados por re<strong>de</strong>s<br />

interligando Centros <strong>de</strong> Dados controlados pela<br />

própria organização provedora ...<br />

Conceptualmente po<strong>de</strong> assentar sobre Grids ...<br />

SCG<br />

30


On-Demand <strong>Computing</strong> in <strong>Cloud</strong>s<br />

Google propôs um mo<strong>de</strong>lo integrando:<br />

storage cloud: um sistema <strong>de</strong> ficheiros<br />

distribuídos<br />

compute cloud: suportada por MapReduce<br />

data cloud: suportando serviços <strong>de</strong> acesso<br />

a dados<br />

O sistema Hadoop segue este mo<strong>de</strong>lo.<br />

SCG<br />

31


Data Parallelism – an important Paradigm<br />

capturing typical structures of patterns usually<br />

found in application programs<br />

- Parallel execution of the same operation on different parts of a data set<br />

(arrays, sets, list, etc)<br />

- elementary and complex operations<br />

- two styles: SIMD and SPMD<br />

Architecture focus: single address space<br />

and also physically distributed memory<br />

program variables are visible to all processes but<br />

data distribution is critical<br />

Target architectures may be SIMD, NUMA<br />

but also SMP and Clusters and Grids<br />

JCunha<br />

32


Data Parallelism characteristics<br />

Program simplicity:<br />

- only one Thread of control (the others are implicit slaves)<br />

- sequence of data parallel steps, mixed w. sequential steps<br />

Data set is split in subsets or domains, each assigned to a PE<br />

- data distribution must be specified by the program<br />

- i<strong>de</strong>ally domains are in<strong>de</strong>pen<strong>de</strong>ntly processed<br />

but may require communication that is implicitly triggered<br />

when remotely placed variable are referenced: owner keeps the<br />

data<br />

and sends a copy to the requesting PE<br />

JCunha<br />

33


Collective Operations- Overall<br />

a global view of a computation to <strong>de</strong>scribe simple patterns of<br />

cooperation<br />

- Executed jointly by all or a subset of processing elements (PE)<br />

- Can be combined with data//, task//, sharedMem, Msg, etc<br />

- Operations must be collectively invoked by all partners<br />

- Ease program <strong>de</strong>sign; allow more efficient implementations,<br />

- Ease performance portability<br />

Ex: most usual are Broadcast and Multicast<br />

Ex: Reduction – combines multiple values from multiple PE into a single value<br />

at a single PE<br />

(ops can be add, mul, AND, OR, max, min, or User.<strong>de</strong>fined)<br />

ops must be associative and commutative<br />

Ex: also usual is Barrier synchronization<br />

Ex: Scatter and Gather for distributed memory architectures, eg as in MPI<br />

distribute a set of data to several PE / collect multiple data sets from PE into a single value<br />

in a PE<br />

JCunha<br />

34


Divi<strong>de</strong> and Conquer paradigm<br />

Map and reduce<br />

data domains internally structured and their ops also data//<br />

Given a main data structure: sequence, array, list, set, etc<br />

<strong>de</strong>fined as a variable lenght collection of data elements of equal type<br />

The parallel construct: Map – applies a given function to all elements of<br />

such data structure and execute the function in parallel<br />

Usually combined with collective operations – as Reduce<br />

JCunha<br />

35


Semelhanças <strong>CC</strong> vs GC?<br />

Para o U a <strong>CC</strong> surge como um único ponto <strong>de</strong><br />

acesso, para qualquer necessida<strong>de</strong> <strong>de</strong><br />

computação, <strong>de</strong> acesso a dados ou <strong>de</strong><br />

acesso a aplicações remotas....<br />

como a Grid...<br />

e sempre acessível via Internet...<br />

SCG<br />

36


O objectivo final <strong>de</strong> <strong>CC</strong><br />

disponibilizar capacida<strong>de</strong>s sobre a forma <strong>de</strong><br />

Serviços, como Utilida<strong>de</strong>s, <strong>de</strong> forma<br />

massificada, em todas as áreas <strong>de</strong><br />

aplicação:<br />

Saú<strong>de</strong><br />

Finanças<br />

Seguros<br />

Educação<br />

Turismo<br />

Divertimento<br />

.... SCG<br />

37


Uma vantagem da <strong>Cloud</strong> s/ a Grid?<br />

Fiabilida<strong>de</strong> conseguida<br />

infraestrutura <strong>de</strong> <strong>Cloud</strong> baseada em Serviços<br />

intensamente testados e fiáveis, suportados por<br />

Servidores com diferentes níveis <strong>de</strong> virtualização,<br />

em gran<strong>de</strong>s centros <strong>de</strong> dados,<br />

com garantias <strong>de</strong> cumprimento <strong>de</strong> SLA<br />

(Service Level Agreements)<br />

Este era um objectivo da Computação em Grid<br />

dificilmente conseguido numa arquitectura<br />

completamente distribuída, aberta e instável...<br />

SCG<br />

38


Fiabilida<strong>de</strong> em <strong>Cloud</strong> <strong>Computing</strong><br />

Os provedores comerciais <strong>de</strong> <strong>Cloud</strong><br />

conseguem oferecer serviços com SLA<br />

e garantias <strong>de</strong> QoS elevadas<br />

métrica <strong>de</strong> fiabilida<strong>de</strong>:<br />

tempo médio operacional (uptime) por U<br />

baseado nas taxas <strong>de</strong> erro do lado do S<br />

eg uptime da or<strong>de</strong>m <strong>de</strong> 99.99%<br />

SCG<br />

39


Aspectos críticos da evolução <strong>CC</strong><br />

normalização<br />

para as API do U<br />

para o Implementador<br />

aspectos legais<br />

casos <strong>de</strong> sucesso <strong>de</strong> Provedores <strong>de</strong> S<br />

SCG<br />

40


3. Emergência <strong>de</strong> <strong>Cloud</strong>s...<br />

anos 1980 / 90 -- a) Clusters<br />

nas empresas para servidores<br />

e equilíbrio dinâmico <strong>de</strong> carga<br />

conceito <strong>de</strong> localida<strong>de</strong> dos dados<br />

meados 90 -- b) Grids<br />

expansão do conceito <strong>de</strong> cluster<br />

grd obstáculo: a falta <strong>de</strong> localida<strong>de</strong> dos dados<br />

+ gestão/acesso a arquivos remotos <strong>de</strong> gran<strong>de</strong> capacida<strong>de</strong><br />

+ transferência <strong>de</strong> dados eficiente e fiável<br />

+ segurança Globus toolkit<br />

+ normalização com Web services<br />

SCG<br />

41


<strong>Cloud</strong> <strong>Computing</strong><br />

promove o i<strong>de</strong>al da Grid <strong>de</strong> uma forma<br />

mais realista?<br />

-- Centros <strong>de</strong> Dados: adopção <strong>de</strong> conceitos da<br />

Grid, aglomerando-os como Serviços<br />

oferecidos por Provedores<br />

SCG<br />

42


Virtualização dos Servidores<br />

1960: conceito <strong>de</strong> máquina virtual<br />

IBM Virtual Machine Monitor<br />

Múltiplos OS in<strong>de</strong>pen<strong>de</strong>ntes, executados sobre um mesmo computador<br />

real<br />

Actualmente: virtualização <strong>de</strong> plataformas<br />

criar / gerir máquinas virtuais<br />

Uma camada <strong>de</strong> controlo cria um ambiente simulado <strong>de</strong> um<br />

computador virtual que permite instalar guest software<br />

em geral um OS completo<br />

Suporte <strong>de</strong> múltiplas máquinas virtuais<br />

Interfaces que virtualizam o acesso aos periféricos como se fossem os<br />

reais (disco, CD-ROM, DVD, NIC, etc)<br />

Transportabilida<strong>de</strong><br />

Redução <strong>de</strong> custos<br />

SCG<br />

43


4 – Web services via <strong>Cloud</strong><br />

relação com outsourcing<br />

CaaS -- comunicações<br />

IaaS -- infraestrutura<br />

MaaS -- monitorização<br />

PaaS -- plataforma<br />

SaaS -- serviços<br />

SCG<br />

44


4.1 CaaS<br />

solução integrada <strong>de</strong> S <strong>de</strong> comunicações<br />

Provedores:<br />

gerem o h/s que suporta os S<br />

garantem QoS consistente sob SLAs<br />

mo<strong>de</strong>lo U pagador (on <strong>de</strong>mand ou subscrição)<br />

sobre re<strong>de</strong>s <strong>de</strong> centros <strong>de</strong> dados distribuídos (segurança, falhas,<br />

redundância para eficiência no encaminhamento, cf cliente)<br />

Exemplos:<br />

voz e dados local/remotos voice mail<br />

vi<strong>de</strong>o calling advanced calling<br />

Web collaboration callerID, 3-way, conference<br />

chat advanced PBX<br />

real-time presence workspaces<br />

unified messaging/mobility<br />

SCG<br />

45


4.2 IaaS<br />

acesso a um ambiente virtualizado <strong>de</strong> uma infraestrutura<br />

computacional , oferecido como um Serviço por um<br />

Provedor<br />

-- a infraestrutura é pré-<strong>de</strong>finida, normalizada e optimizado<br />

para cada U<br />

-- opções:<br />

versão pré-<strong>de</strong>finida<br />

ou configuração à la carte<br />

O U: mantém, a posse e gestão das aplicações<br />

Mas <strong>de</strong>lega as operações <strong>de</strong> suporte e gestão da<br />

infraestrutura virtual no Provedor<br />

SCG<br />

46


<strong>Arquitectura</strong> gerida pelo Provedor<br />

Hardware (escalável horizontalmente)<br />

re<strong>de</strong> (routers, firewalls, load balancing)<br />

conectivida<strong>de</strong><br />

ambiente virtual <strong>de</strong> uma infraestrutura para<br />

execução <strong>de</strong> máquinas virtuais específicas<br />

do cliente<br />

SLAs<br />

mo<strong>de</strong>lo <strong>de</strong> UC, subscrição<br />

SCG<br />

47


Amazon Web Services - AWS<br />

no início: AWS com o objectivo <strong>de</strong> alugar ciclos <strong>de</strong> CPU como um S, a U a partir<br />

<strong>de</strong> outros domínios<br />

suportada pela mesma infraestrutura da Amazon para gerir os seus web sites<br />

permitindo maior rentabilida<strong>de</strong><br />

disponibilizando-a a terceiros segundo um mo<strong>de</strong>lo UC<br />

<strong>de</strong>pois generalizado para qualquer funcionalida<strong>de</strong> oferecida<br />

como um S aos U<br />

sem exigir ao U qualquer especialização<br />

para gerir ou controlar a infraestrutura e<br />

tecnologia suportando os Serviços<br />

SCG<br />

48


Eg: Amazon S3 Simple Storage Service<br />

sistema <strong>de</strong> arquivo 3rd party via Internet<br />

interface WS simples para arquivo/acesso a<br />

dados transparente, pervasiva e ubíqua<br />

acesso transparente a uma infraestrutura<br />

<strong>de</strong> arquivo <strong>de</strong> dados<br />

escalável, fiável, rápida, persistente,<br />

a custos reduzidos...<br />

explora a gran<strong>de</strong> escala <strong>de</strong> U e <strong>de</strong> volume <strong>de</strong><br />

dados<br />

SCG<br />

49


Amazon S3 Storage Service<br />

Um S <strong>de</strong> arquivo <strong>de</strong> dados, acessível via<br />

re<strong>de</strong>, para facilitar <strong>de</strong>senvolvimento <strong>de</strong><br />

aplicações distribuídas a uma escala global<br />

interface baseada em Web services para:<br />

arquivar<br />

ace<strong>de</strong>r a qualquer volume <strong>de</strong> dados<br />

a qualquer instante<br />

<strong>de</strong> qualquer localização<br />

Garantias <strong>de</strong> escala, fiabilida<strong>de</strong>, rapi<strong>de</strong>z no<br />

acesso, custo baixo no arquivo<br />

SCG<br />

50


Eg EC2 Amazon (1)<br />

Elastic <strong>Computing</strong> <strong>Cloud</strong><br />

um WS que permite ao U dispor <strong>de</strong> capacida<strong>de</strong> <strong>de</strong><br />

computação adaptável<br />

O Cliente po<strong>de</strong> configurar a capacida<strong>de</strong> exigida<br />

tem controlo completo sobre os seus Rs (virtuais)<br />

só paga o que consome<br />

O Desenvolvedor po<strong>de</strong> construir aplicações com<br />

especificações que controla, eg tolerantes a falhas<br />

O Provedor oferece escala dinamicamente expansível<br />

SCG<br />

51


EC2 oferece um ambiente virtual(2)<br />

1 – U usa uma interface Web para obter e gerir os S<br />

necessários para activar múltiplas instâncias <strong>de</strong><br />

diversos OS<br />

2 – U po<strong>de</strong> carregar as suas aplicações nesses OS<br />

3 – U po<strong>de</strong> gerir as suas permissões <strong>de</strong> acesso para<br />

configurar segurança e acesso da re<strong>de</strong> (das AMI)<br />

4 – U <strong>de</strong>ve criar uma AMI (Amazon Machine Image)<br />

p/ conter: aplicações, bibs, dados e parâmetros<br />

<strong>de</strong> configuração do ambiente virtual<br />

AMIs pré-configuradas oferecidas como<br />

templates<br />

Ou <strong>de</strong>finidas pelo U SCG<br />

52


(3)<br />

5 – U usa as interfaces EC2 para arquivar a AMI usando o<br />

serviço S3 – repositório <strong>de</strong> dados seguro, fiável, <strong>de</strong> acesso<br />

eficiente<br />

Na configuração, o U:<br />

-- escolhe o tipo <strong>de</strong> instância <strong>de</strong> OS<br />

Standard<br />

High-CPU: com mais CPUs do que RAM,<br />

p/ aplicações <strong>de</strong> computação intensa<br />

-- po<strong>de</strong> iniciar, terminar, monitorizar as instâncias <strong>de</strong> AMI<br />

via WS ou outras ferramentas do ambiente.<br />

SCG<br />

53


o U po<strong>de</strong> optar:<br />

(4)<br />

--- execução das AMI em múltiplos sítios<br />

--- associar arquivo persistente <strong>de</strong> blocos a qualquer das<br />

suas AMI<br />

--- ace<strong>de</strong>r a uma biblioteca <strong>de</strong> AMI que disponibilizam<br />

instâncias comuns: eg distribuições standard Linux<br />

SCG<br />

54


Benefícios do mo<strong>de</strong>lo EC2 (5)<br />

Financeiros -- baixo custo<br />

Seguro – via interfaces WS o U po<strong>de</strong> configurar firewalls<br />

para controlo do acesso a re<strong>de</strong> dos grupos das suas AMI<br />

Fiável – rápida activação <strong>de</strong> instâncias <strong>de</strong> AMI <strong>de</strong><br />

substituição / backup<br />

Escalabilida<strong>de</strong> dinâmica, sob controlo da aplicação<br />

a capacida<strong>de</strong> expan<strong>de</strong> / contrai dinamicamente<br />

o U po<strong>de</strong> invocar<br />

uma única instância, centenas, ou milhares<br />

simultaneamente...<br />

tudo sob controlo <strong>de</strong> API <strong>de</strong> WS<br />

SCG<br />

55


(6)<br />

o U tem controlo total sobre as instâncias:<br />

acesso nível root a cada instância<br />

po<strong>de</strong> interagir com cada instância como se fosse<br />

executada <strong>de</strong> forma nativa<br />

as instâncias po<strong>de</strong>m ser rebooted via a API WS<br />

tem acesso ao output standard da consola das AMI<br />

após ter carregado as <strong>de</strong>finições <strong>de</strong> AMI no S3, o U<br />

po<strong>de</strong> iniciar uma AMI em qualquer número <strong>de</strong><br />

instâncias -- via uma API específica<br />

SCG<br />

56


Configuração flexível:<br />

escolhas do U para<br />

(7)<br />

múltiplos tipos <strong>de</strong> instâncias, OS, produtos <strong>de</strong> software<br />

configuração <strong>de</strong> CPU, Memória e Arquivo para cada instância<br />

Integração com outros WS do ambiente Amazon WS:<br />

S3 + SimpleDB + SQS (SimpleQueueService) + <strong>Cloud</strong>Front<br />

-- funcionalida<strong>de</strong> integráveis para<br />

computação, arquivo e processamento <strong>de</strong> queries<br />

SCG<br />

57


SimpleDB (8)<br />

um WS para suporte <strong>de</strong> queries em dados estruturados<br />

arquivados por S3 em tempo real<br />

opera conjuntamente com EC2.<br />

versus soluções típicas <strong>de</strong> BD relacionais em clusters<br />

+ oferece as funcionalida<strong>de</strong>s básicas <strong>de</strong> uma BD<br />

+ uma API simples para arquivo e acesso aos dados<br />

+ fácil <strong>de</strong> usar / sem a complexida<strong>de</strong> operacional típica<br />

não exige que o U se preocupe com<br />

a mo<strong>de</strong>lação <strong>de</strong> dados interna à BD<br />

a manutenção da in<strong>de</strong>xação<br />

o ajuste do <strong>de</strong>sempenho<br />

SCG<br />

58


SQS (9)<br />

um S <strong>de</strong> message bus ou broker<br />

gere uma fila <strong>de</strong> mensagens fiável e escalável<br />

para interoperação entre componentes distribuídos da<br />

aplicação<br />

expõe, como um Web service, a infraestrutura <strong>de</strong><br />

mensagens da Amazon à escala da Web<br />

permite ao U enviar/ler mensagens sem <strong>de</strong> ter <strong>de</strong> instalar<br />

software ou configuração especial <strong>de</strong> firewalls.<br />

SCG<br />

59


<strong>Cloud</strong>Front (10)<br />

um WS para entrega <strong>de</strong> conteúdos (content <strong>de</strong>livery)<br />

para distribuir conteúdos a U finais<br />

com baixa latência e transferências rápidas<br />

com base numa re<strong>de</strong> global <strong>de</strong> sítios (Edge locations)<br />

Cliente EdgeServer<br />

OriginServer (local à Aplic)<br />

Aplicação<br />

Pedidos encaminhados para o EdgeServer mais próximo<br />

entrega <strong>de</strong> conteúdos com o melhor <strong>de</strong>sempenho possível<br />

SCG<br />

60


Amazon EBS – Elastic Block Store (11)<br />

um elemento do EC2 para suportar tolerância a falhas<br />

oferece um arquivo persistente às instâncias AMI<br />

os volumes EBS suportam arquivo off-instance<br />

in<strong>de</strong>pen<strong>de</strong>nte do ciclo <strong>de</strong> vida da instância – persistência<br />

com alta disponibilida<strong>de</strong> e fiabilida<strong>de</strong><br />

e po<strong>de</strong>m ser associados a instâncias dinamicamente<br />

sendo expostos como standard block <strong>de</strong>vices<br />

são automaticamente replicados no back-end<br />

o U po<strong>de</strong> criar point-in-time snapshots dos seus volumes <strong>de</strong><br />

dados (guardados no S3), que po<strong>de</strong>m ser usados para base<br />

<strong>de</strong> novos volumes EBS (níveis <strong>de</strong> robustez muito fortes)<br />

SCG<br />

61


Acesso distribuído (12)<br />

o U po<strong>de</strong> colocar as instâncias em múltiplos locais<br />

Amazon locations:<br />

compostas <strong>de</strong> Regiões (Reg) (USA e EU)<br />

cada Região organizada em<br />

Cada Reg tem:<br />

Zonas <strong>de</strong> Disponibilida<strong>de</strong> (AZ)<br />

1 ou + AZ, dispersas geograficamente<br />

Conceito <strong>de</strong> AZ: dispersão geografica para evitar pontos<br />

únicos <strong>de</strong> falha e oferecerem conectivida<strong>de</strong> <strong>de</strong> mais baixa<br />

latência numa mesma Região<br />

Amazon SLA: assegura 99.95% <strong>de</strong> disponibilida<strong>de</strong> <strong>de</strong> uptime<br />

para cada Região<br />

SCG<br />

62


4.3 MaaS Monitoring as a Service<br />

outsourcing <strong>de</strong> S <strong>de</strong> monitorização <strong>de</strong> segurança sobretudo para<br />

plataformas empresariais versus monitorização interna<br />

existe <strong>de</strong>s<strong>de</strong> a década 1990 e assume agora a roupagem <strong>de</strong> S <strong>de</strong> <strong>Cloud</strong><br />

liberta a organização cliente do peso <strong>de</strong> gerir a segurança:<br />

monitorizar o ambiente, gerir e analisar os logs dos servidores, etc<br />

reavaliar: quando há reconfigurações<br />

acesso a Security Operations Centers (SCO):<br />

-- protecção contra ameaças internas e externas<br />

early <strong>de</strong>tection<br />

monitorização <strong>de</strong> plataformas, controlo e dos serviços, via uma<br />

interface Web (remota ou não)<br />

centralização dos logs e análise inteligente<br />

<strong>de</strong>tecção e gestão <strong>de</strong> vulnerabilida<strong>de</strong>s<br />

actualização contínua e fortificação<br />

intervenção e apoio (Help Desk) SCG<br />

63


4.4 PaaS Platform as a Service<br />

oferecer plataformas para <strong>de</strong>senvolver e executar aplicações específicas<br />

baseadas na Web<br />

é uma vertente do mo<strong>de</strong>lo SaaS<br />

dá acesso a todas as facilida<strong>de</strong>s para:<br />

gerir o ciclo <strong>de</strong> vida <strong>de</strong> construir e produzir aplicações e serviços Web<br />

tudo através da Internet<br />

sem exigir ao <strong>de</strong>senvolvedor fazer carregamentos ou instalar software<br />

Em IaaS: o <strong>de</strong>senvolvedor especifica um completo OS com aplicações<br />

Em PaaS: só interessa o <strong>de</strong>senvolvimento <strong>de</strong> aplicações Web, seja qual<br />

for o OS subjacente<br />

versus construir as suas próprias aplicações internamente...<br />

SCG<br />

64


aseado em UC<br />

oferece ambientes com;<br />

workflows para <strong>de</strong>senhar a aplicação, as fases <strong>de</strong> <strong>de</strong>senvolvimento,<br />

teste, <strong>de</strong>ployment e execução<br />

+<br />

serviços a nível <strong>de</strong> aplicação:<br />

escritórios virtuais<br />

colaboração em grupo<br />

integração <strong>de</strong> BD<br />

segurança<br />

escalabilida<strong>de</strong><br />

arquivo <strong>de</strong> dados (possivelmente persistente)<br />

gestão do estado<br />

instrumentação e interfaces <strong>de</strong> monitorização<br />

SCG<br />

65


4.5 SaaS<br />

versus Software as a Product – mo<strong>de</strong>lo tradicional<br />

SaaS:<br />

as aplicações são hospedadas e geridas por um Provedor<br />

<strong>de</strong> S e acessíveis ao U via re<strong>de</strong><br />

associada a um mo<strong>de</strong>lo <strong>de</strong> UC<br />

Emergiu após consolidadas as abordagens WS e SOA.<br />

Muito parecida com:<br />

ASP – Application Service Provi<strong>de</strong>r<br />

Software on Demand (acesso ao cliente a uma única cópia<br />

<strong>de</strong> uma aplicação configurada para o seu uso específico)<br />

SCG<br />

66


o U ace<strong>de</strong> a aplicações remotas via Internet, ace<strong>de</strong>ndo a<br />

localizações geridas pelo Provedor<br />

as aplicações são disponibilizadas segundo um mo<strong>de</strong>lo 1-N<br />

(única instância, múltiplos utilizadores) em vez <strong>de</strong> 1-1<br />

a gestão da aplicação, manutenção e actualização são<br />

centralizadas no Provedor e não no U<br />

SaaS frequentemente usado em articulação com PaaS<br />

suportando ambientes e ferramentas <strong>de</strong> comunicação e <strong>de</strong><br />

colaboração.<br />

Do lado do Provedor: virtualização + múltiplos locatários<br />

Do lado do U: potencial flexibilida<strong>de</strong> e <strong>de</strong>sempenho<br />

SCG<br />

67


SaaS - Implementação<br />

diversos níveis <strong>de</strong> maturida<strong>de</strong>, conforme os atributos (ex: Microsoft):<br />

configuração, eficiência com múltiplos locatários, escalabilida<strong>de</strong><br />

Nível 1: Ad-Hoc / Custom<br />

cada U tem uma versão específica da aplicação hospedada no S<br />

Nível 2: Configurabilida<strong>de</strong><br />

via meta-dados po<strong>de</strong>-se reconfigurar a aplicação<br />

diferentes U po<strong>de</strong>m usar instâncias distintas da aplicação<br />

Nível 3: Eficiência com multi-locatários<br />

uma única instância da aplicação po<strong>de</strong> servir múltiplos U<br />

Nível 4: Escalabilida<strong>de</strong><br />

com uma arquitectura multi-tier<br />

gestão <strong>de</strong> um pool <strong>de</strong> instâncias idênticas da aplicação, com<br />

load balancing e um número dinamicamente variável <strong>de</strong><br />

servidores -- centenas ou milhares<br />

SCG<br />

68


Standards in the <strong>Cloud</strong>s<br />

Open <strong>Cloud</strong> Consortium (O<strong>CC</strong>)<br />

standards<br />

interoperabilida<strong>de</strong> entre <strong>Cloud</strong>s<br />

benchmarks<br />

propõe adopção <strong>de</strong> open software<br />

Distributed Management Task Force (DMTF)<br />

Virtualization Management Initiative<br />

normas para virtualização e sua interoperabilida<strong>de</strong><br />

instalar sistemas <strong>de</strong> computação virtualizados<br />

<strong>de</strong>scobrir e registá-los<br />

gerir o seu ciclo <strong>de</strong> vida<br />

gerir Recursos virtuais<br />

monitorizar os sistemas virtualizados: robustez e <strong>de</strong>sempenho<br />

SCG<br />

69


Open Virtualization Format (OVF)<br />

uma nova norma para simplificar:<br />

<strong>de</strong>fine:<br />

interoperabilida<strong>de</strong><br />

segurança<br />

gestão do ciclo <strong>de</strong> vida <strong>de</strong> VMs<br />

formato para encapsular e distribuir VMs<br />

(aberto, seguro, portável - neutro, eficiente, extensível)<br />

Eg, verificação <strong>de</strong> integrida<strong>de</strong> <strong>de</strong> VM, <strong>de</strong>s<strong>de</strong> que geradas<br />

verificação <strong>de</strong> licenças das VMs<br />

interface da VM com o sistema Host (a plataforma que a virtualiza) e o<br />

ambiente <strong>de</strong> execução: localizar as aplicações e optimizar o<br />

<strong>de</strong>sempenho<br />

suporte <strong>de</strong> meta-dados para <strong>de</strong>screver as proprieda<strong>de</strong>s da VM<br />

procedimentos <strong>de</strong> instalação<br />

SCG<br />

70


Aplicações em <strong>CC</strong><br />

Aplicações que actuam como<br />

power collaborators<br />

A maioria oferecidas como SaaS para os<br />

clientes e com impacte crescente no peso<br />

da colaboração e da mobilida<strong>de</strong> para a<br />

concepção <strong>de</strong> sistemas <strong>de</strong> <strong>CC</strong><br />

YouTube, Zimbra, Facebook, etc.<br />

SCG<br />

71

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!