Cloud Computing (CC) - Arquitectura de Sistemas Computacionais
Cloud Computing (CC) - Arquitectura de Sistemas Computacionais
Cloud Computing (CC) - Arquitectura de Sistemas Computacionais
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