Andando nas nuvensUma abordagem prática
http://www.flickr.com/photos/mutablend/7077017143/sizes/l/in/photostream/
Marcos Ferreira - Softexpert
SECCOM 2012
Tuesday, October 16, 12
Marcos• Desenvolvedor, arquiteto na Softexpert;
• Formado em sistemas de informação pela UDESC;
• Trabalha a mais de 10 anos com desenvolvimento, integração e implantação de sistemas corporativos;
• Programador compulsivo.
Tuesday, October 16, 12
Marcos• Desenvolvedor, arquiteto na Softexpert;
• Formado em sistemas de informação pela UDESC;
• Trabalha a mais de 10 anos com desenvolvimento, integração e implantação de sistemas corporativos;
• Programador de dois turnos.
Tuesday, October 16, 12
O que é cloud computing?
Por que cloud computing está na moda?
Onde eu me encaixo no cloud?
Pensamento distribuído
Multitenancy
Considerações gerais
http://www.tecnoclasta.com/wp-content/uploads/2008/10/gradronegro.jpg
What’s up?
Tuesday, October 16, 12
What’s up?
O que é cloud computing?
Por que cloud computing está na moda?
Onde eu me encaixo no cloud?
Pensamento distribuído
Multitenancy
Considerações gerais
http://www.tecnoclasta.com/wp-content/uploads/2008/10/gradronegro.jpg
{
Tuesday, October 16, 12
O que é cloud computing?
http://skypoweraz.com/wp/wp-content/uploads/2011/06/puffy-cloud.jpg
Tuesday, October 16, 12
Muito mais que um novo termo
http://www.midlandsbusinessnews.co.uk/wp-content/uploads/2012/07/Cloud-IT-Event.jpg
Tuesday, October 16, 12
Tuesday, October 16, 12
Segundo pesquisa publicada pela Citrix em
08/2012: http://www.citrix.com/lang/English/lp/lp_2328330.asp
http://www.deepintolove.com/wp-content/uploads/2011/04/BruneiStorm2.jpg
Tuesday, October 16, 12
29% acreditam ter algo a ver com o tempo
http://blackamarillo.us/wp2/wp-content/uploads/2012/07/weather-channel-photos1.jpg
Tuesday, October 16, 12
14% admitiram fingir saber o que é em uma entrevista de empregoht
tp://
ww
w.v
entr
iloqu
istc
entr
al.c
om/v
entr
iloqu
ism
-tri
bute
/ven
trilo
quis
t-te
rry-
benn
ett/
imag
es/t
erry
-ben
nett
-006
.jpg
Tuesday, October 16, 12
95% dos que acreditam não usar cloud, usam
http://imguol.com/2012/09/24/adriane-galistei-brinda-com-sabrina-sato-durante-o-evento-24912-1348537948733_1024x768.jpg
Tuesday, October 16, 12
A origem do termo cloud é obscura...
http://www.papeldeparede.etc.br/fotos/wp-content/uploads/Senhordosaneis4.jpg
Tuesday, October 16, 12
Tuesday, October 16, 12
Nossos queridos diagramas de
redes?http://en.wikipedia.org/wiki/Cloud_computing#History
Tuesday, October 16, 12
Salesforce?
Tuesday, October 16, 12
Amazon?
Tuesday, October 16, 12
Google?
Tuesday, October 16, 12
http://www.youtube.com/watch?v=0FacYAI6DY0
A indústria da computação é única indústria que é mais movida pela moda que a própria indústria da moda.
Tuesday, October 16, 12
Larry Ellison sobre Cloud - 2008
http://www.youtube.com/watch?v=0FacYAI6DY0
A indústria da computação é única indústria que é mais movida pela moda que a própria indústria da moda.
Tuesday, October 16, 12
A internet foi a útima grande mudança. Eles não a chamam mais de internet, eles chamam cloud computing. 10 razões para você conhecer as soluções de cloud da Oracle
Larry Ellison sobre Cloud - 2012
Tuesday, October 16, 12
A internet foi a útima grande mudança. Eles não a chamam mais de internet, eles chamam cloud computing. 10 razões para você conhecer as soluções de cloud da Oracle.
Larry Ellison sobre Cloud - 2012
Tuesday, October 16, 12
Uma definição séria:
Tuesday, October 16, 12
Um modelo para acesso a rede sob demanda, ubíquo e conveniente para um p o o l c o m p a r t i l h a d o d e r e c u r s o s computacionais configuráveis que podem ser rapidamente provisionados e lançados com mínimo esforço de gerenciamento ou interação com o provedor de serviços
Tuesday, October 16, 12
NIST - 2012National Institute of Standards and Technology
Um modelo para acesso a rede sob demanda, ubíquo e conveniente para um p o o l c o m p a r t i l h a d o d e r e c u r s o s computacionais configuráveis que podem ser rapidamente provisionados e lançados com mínimo esforço de gerenciamento ou interação com o provedor de serviços
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
Tuesday, October 16, 12
Por que cloud computing está na moda?
Tuesday, October 16, 12
Um exemplo:
Tuesday, October 16, 12
Imaginem que todo mundo tivesse que gerar sua própria energia elétrica
http://3.bp.blogspot.com/_uLD-wt6mPwQ/Svisx1OJD_I/AAAAAAAAAUY/oUq5jZFe4JQ/s400/Gerador+de+energia.jpg
Tuesday, October 16, 12
http://3.bp.blogspot.com/_uLD-wt6mPwQ/Svisx1OJD_I/AAAAAAAAAUY/oUq5jZFe4JQ/s400/Gerador+de+energia.jpg
Tuesday, October 16, 12
http://3.bp.blogspot.com/_uLD-wt6mPwQ/Svisx1OJD_I/AAAAAAAAAUY/oUq5jZFe4JQ/s400/Gerador+de+energia.jpg
http
://w
ww
.foto
sim
agen
s.ne
t/w
p-co
nten
t/up
load
s/20
11/0
9/G
elad
eira
.jpg
Tuesday, October 16, 12
http://3.bp.blogspot.com/_uLD-wt6mPwQ/Svisx1OJD_I/AAAAAAAAAUY/oUq5jZFe4JQ/s400/Gerador+de+energia.jpg
http
://w
ww
.foto
sim
agen
s.ne
t/w
p-co
nten
t/up
load
s/20
11/0
9/G
elad
eira
.jpg
http://www.magazineluiza.com.br/imagens2/portaldalu/fotosconteudo/377.1.jpg
Tuesday, October 16, 12
X
http
://ca
ntin
hoda
scas
adas
.com
/wp-
cont
ent/
uplo
ads/
2010
/10/
M%
C3%
A1q
uina
-de-
lava
r-ro
upas
-fron
tal.j
pg
http
://w
ww
.foto
sim
agen
s.ne
t/w
p-co
nten
t/up
load
s/20
11/0
9/G
elad
eira
.jpg
http://www.magazineluiza.com.br/imagens2/portaldalu/fotosconteudo/377.1.jpg
http://3.bp.blogspot.com/_uLD-wt6mPwQ/Svisx1OJD_I/AAAAAAAAAUY/oUq5jZFe4JQ/s400/Gerador+de+energia.jpg
Tuesday, October 16, 12
XX
http://www.multimediadeluxe.com/deluxe_news/uploadsFCK//microondasa.jpg
http
://ca
ntin
hoda
scas
adas
.com
/wp-
cont
ent/
uplo
ads/
2010
/10/
M%
C3%
A1q
uina
-de-
lava
r-ro
upas
-fron
tal.j
pg
http
://w
ww
.foto
sim
agen
s.ne
t/w
p-co
nten
t/up
load
s/20
11/0
9/G
elad
eira
.jpg
http://www.magazineluiza.com.br/imagens2/portaldalu/fotosconteudo/377.1.jpg
http://3.bp.blogspot.com/_uLD-wt6mPwQ/Svisx1OJD_I/AAAAAAAAAUY/oUq5jZFe4JQ/s400/Gerador+de+energia.jpg
Tuesday, October 16, 12
+
http://www.multimediadeluxe.com/deluxe_news/uploadsFCK//microondasa.jpg
http
://ca
ntin
hoda
scas
adas
.com
/wp-
cont
ent/
uplo
ads/
2010
/10/
M%
C3%
A1q
uina
-de-
lava
r-ro
upas
-fron
tal.j
pg
http
://w
ww
.foto
sim
agen
s.ne
t/w
p-co
nten
t/up
load
s/20
11/0
9/G
elad
eira
.jpg
http://www.magazineluiza.com.br/imagens2/portaldalu/fotosconteudo/377.1.jpg
http://3.bp.blogspot.com/_uLD-wt6mPwQ/Svisx1OJD_I/AAAAAAAAAUY/oUq5jZFe4JQ/s400/Gerador+de+energia.jpg
Tuesday, October 16, 12
Por sorte, alguém pensou em uma rede de distribuição de energia elétrica
http://3.bp.blogspot.com/_1yCUAEL4k_k/TSZgDOnjppI/AAAAAAAAAN8/JxgkOfMJWjg/s1600/tomadas.jpg
Tuesday, October 16, 12
Além disso, você paga apenas pelo que usa
http://www.juruaonline.com.br/wp-content/uploads/2011/11/3_1140.jpg
Tuesday, October 16, 12
Agora imagine a mesma facilidade para datacenters, frameworks, sistemas de
gestão ou aplicativos
Tuesday, October 16, 12
Agora imagine a mesma facilidade para datacenters, frameworks, sistemas de
gestão ou aplicativos
http
://w
ww
.loud
at.c
om/w
p-co
nten
t/up
load
s/20
12/0
4/cl
ick-
aquc
3ad.
jpg
Tuesday, October 16, 12
Agora imagine a mesma facilidade para datacenters, frameworks, sistemas de
gestão ou aplicativos
http
://w
ww
.blu
e-so
l.com
/ene
rgia
-sol
ar/w
p-co
nten
t/up
load
s/20
12/0
8/m
edid
or.jp
g
http
://w
ww
.loud
at.c
om/w
p-co
nten
t/up
load
s/20
12/0
4/cl
ick-
aquc
3ad.
jpg
Tuesday, October 16, 12
i1 i2 i3
Load Balancer
www.seudominio.com
0:00h - 6:00h
Tuesday, October 16, 12
i1 i2 i3
Load Balancer
www.seudominio.com
6:00h - 10:00h
Tuesday, October 16, 12
i1 i2 i3
Load Balancer
www.seudominio.com
10:00h - 18:00h
Tuesday, October 16, 12
Vários cases:
Morgridge Institute
Tuesday, October 16, 12
-1 milhão de horas de processamento em uma semana;
-É o equivalente a 115 anos de processamento para um único processador;
-Média de 5000 instâncias, com picos de 8000;
-Custo total de $19.555$
Morgridge Institute
http://aws.typepad.com/aws/2012/10/scaling-science-1-million-compute-hours-in-1-week.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+AmazonWebServicesBlog+%28Amazon+Web+Services+Blog%29
Tuesday, October 16, 12
Onde eu me encaixo no cloud?
http://intheboatshed.net/wp-content/uploads/2010/06/WOODWORK_Boat_Building_Academy_1_PROG.jpg
Tuesday, October 16, 12
IaaS - Infrastructure as a Service
Tuesday, October 16, 12
IaaS - Infrastructure as a Service
O mais próximo de serviços de hardware, como processamento, storage,
redes, entre outros.
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
Tuesday, October 16, 12
Tuesday, October 16, 12
IaaS
Tuesday, October 16, 12
PaaS - Platform as a Service
Tuesday, October 16, 12
-APIS, bibliotecas e serviços que abstraem complexidades de hardware, SO, etc
-Serviços comuns disponíveis: banco de dados, datastore, filas, email, multitenancy, memcache
PaaS - Platform as a Service
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
Tuesday, October 16, 12
IaaS
PaaS
Tuesday, October 16, 12
https://developers.google.com/appengine/docs/features
SaaS - Software as a Service
Tuesday, October 16, 12
https://developers.google.com/appengine/docs/features
SaaS - Software as a Service
Utilização de softwares/aplicações sem preocupações com infraestrutura, configuração,
instalação, atualização, etc;
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
Tuesday, October 16, 12
IaaS
PaaS
SaaS
Tuesday, October 16, 12
O que é cloud computing?
Por que cloud computing está na moda?
Onde eu me encaixo no cloud?
Pensamento distribuído
Multitenancy
Considerações gerais
http://www.tecnoclasta.com/wp-content/uploads/2008/10/gradronegro.jpg
{
What’s up?
Tuesday, October 16, 12
Pensamento distribuído
http://www.jakesnewblog.com/wp-content/gallery/2009/sept/img_2372.jpg
Tuesday, October 16, 12
Pensamento distribuído
http://www.jakesnewblog.com/wp-content/gallery/2009/sept/img_2372.jpg
-Provisionamento-Sessão-Arquivos estáticos
Tuesday, October 16, 12
Pensamento distribuido - Provisionamento
Tuesday, October 16, 12
Small Instance - Linux1.7 GB memory1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)160 GB instance storage32-bit or 64-bit platformI/O Performance: ModerateEBS-Optimized Available: NoAPI name: m1.small
$0.080 per Hour
Pensamento distribuído - Provisionamento
Tuesday, October 16, 12
Pensamento distribuído - Provisionamento
Tuesday, October 16, 12
Pensamento distribuído - Provisionamento
Tuesday, October 16, 12
Pensamento distribuído - Provisionamento
Tuesday, October 16, 12
Adicionar mais uma instância
x
Aumentar sua instância atual
S1 S2M
+
Load Balancer
Pensamento distribuído - Provisionamento
Tuesday, October 16, 12
1.7 GB memory1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)160 GB instance storage32-bit or 64-bit platformI/O Performance: ModerateEBS-Optimized Available: NoAPI name: m1.small
$0.080 per Hour
3.75 GB memory2 EC2 Compute Unit (1 virtual core with 2 EC2 Compute Unit)410 GB instance storage32-bit or 64-bit platformI/O Performance: ModerateEBS-Optimized Available: NoAPI name: m1.medium
$0.160 per Hour
Small Instance - Linux Medium Instance - Linux
Pensamento distribuído - Provisionamento
Tuesday, October 16, 12
Small Instance - Linux$0.080 per Hour
Medium Instance - Linux$0.160 per Hour
Pensamento distribuído - Provisionamento
Tuesday, October 16, 12
Small Instance - Linux$0.080 per Hour
Medium Instance - Linux$0.160 per Hour
2 x $0.080 = 0.16 1 x $0.160 = 0.16
Pensamento distribuído - Provisionamento
Tuesday, October 16, 12
Small Instance - Linux$0.080 per Hour
Medium Instance - Linux$0.160 per Hour
2 x $0.080 = 0.16 1 x $0.160 = 0.16
$0.160 x 750h = $120 $0.160 x 750h = $120
Pensamento distribuído - Provisionamento
Tuesday, October 16, 12
Pensamento distribuído - Provisionamento
Tuesday, October 16, 12
Small Instance - Linux$0.080 per Hour
Medium Instance - Linux$0.160 per Hour
2 x $0.080 = 0.16 1 x $0.160 = 0.16
$0.160 x 750h = $120 $0.160 x 750h = $120
Pensamento distribuído - Provisionamento
Tuesday, October 16, 12
Small Instance - Linux$0.080 per Hour
Medium Instance - Linux$0.160 per Hour
2 x $0.080 = 0.16 1 x $0.160 = 0.16
$0.160 x 750h = $120 $0.160 x 750h = $120
$0.08 x 750h = $60$0.08 x 375h = $30
= $90
Pensamento distribuído - Provisionamento
Tuesday, October 16, 12
Pensamento distribuído - Sessão
Tuesday, October 16, 12
-HTTP não nasceu para manter sessão
-Sessões através de cookies
http://flamesnation.ca/uploads/Image/chupa-chups-psychologist_0ef39074.jpg
Pensamento distribuído - Sessão
Tuesday, October 16, 12
S1
Clientes
Sessão
Pensamento distribuído - Sessão
Tuesday, October 16, 12
S1
Sessão
ID1
IDI={....}
1˚ acesso
Pensamento distribuído - Sessão
Tuesday, October 16, 12
S1
Sessão
ID1
S1
Sessão
ID1
IDI={....} IDI={....}
1˚ acesso 2˚ acesso
Pensamento distribuído - Sessão
Tuesday, October 16, 12
S1
Clientes
Sessão
S2
Sessão
Load Balancer
Pensamento distribuído - Sessão
Tuesday, October 16, 12
ID1
S1
Sessão
Load Balancer
S2
Sessão
IDI={....}
1˚ acesso
Pensamento distribuído - Sessão
Tuesday, October 16, 12
ID1
S1
Sessão
Load Balancer
S2
Sessão
ID1
S1
Sessão
Load Balancer
S2
Sessão
IDI={....} IDI={....}
1˚ acesso 2˚ acesso
Pensamento distribuído - Sessão
Tuesday, October 16, 12
Sessão por afinidade
http://3.bp.blogspot.com/_LeOrCWRdTA4/THpRN-azz_I/AAAAAAAAE-w/UqvCVQ75ywI/s1600/palma_love.jpg
Tuesday, October 16, 12
ID1
S1
Sessão
Load Balancer
S2
Sessão
IDI={....}
Pensamento distribuído - Sessão
Tuesday, October 16, 12
ID1
S1
Sessão
Load Balancer
S2
Sessão
ID1
S1
Sessão
Load Balancer
S2
Sessão
IDI={....} IDI={....}
1˚ acesso 2˚ acesso
Pensamento distribuído - Sessão
Tuesday, October 16, 12
E se o servidor cair?
http://imguol.com/2012/04/27/neymar-cai-no-gramado-apos-ser-atingido-por-objeto-atirado-das-arquibancadas-do-estadio-hernandes-silles-em-la-paz-na-bolivia-durante-partida-contra-o-bolivar-pela-libertadores-25042012-1335540174399_1920x1080.jpg
Tuesday, October 16, 12
S1
Sessão
S2
Sessão
Load Balancer
x
ID1
IDI={....}
Pensamento distribuído - Sessão
Tuesday, October 16, 12
Session Recovery
http
://d1
5mj6
e6qm
t1na
.clo
udfr
ont.n
et/fi
les/
imag
es/0
311/
2440
/Life
_bel
t.jpg
Tuesday, October 16, 12
Session Recovery
http
://d1
5mj6
e6qm
t1na
.clo
udfr
ont.n
et/fi
les/
imag
es/0
311/
2440
/Life
_bel
t.jpg
-Replicar sessão
Tuesday, October 16, 12
S1
Sessão
S1
Sessão
Load Balancer
x
ID1
IDI={....} IDI={....}
Pensamento distribuído - Sessão
Tuesday, October 16, 12
Session Recovery-Replicar sessão
-Compartilhar sessão
http
://d1
5mj6
e6qm
t1na
.clo
udfr
ont.n
et/fi
les/
imag
es/0
311/
2440
/Life
_bel
t.jpg
Tuesday, October 16, 12
S1
Sessão
S2
Load Balancer
IDI={....}
Pensamento distribuído - Sessão
Tuesday, October 16, 12
• Sessão em um nó separado
• Sistema de arquivos separados
• Sessão persistida em banco de dados
• Sessão em memcache
Pensamento distribuído - Sessão
Tuesday, October 16, 12
• Sessão em um nó separado
• Sistema de arquivos separados
• Sessão persistida em banco de dados
• Sessão em memcache
Pensamento distribuído - Sessão
Tuesday, October 16, 12
• Sessão em um nó separado
• Sistema de arquivos separados
• Sessão persistida em banco de dados
• Sessão em memcache
Pensamento distribuído - Sessão
Tuesday, October 16, 12
• Sessão em um nó separado
• Sistema de arquivos separados
• Sessão persistida em banco de dados
• Sessão em memcache
Pensamento distribuído - Sessão
Tuesday, October 16, 12
Arquivos estáticos
http://img0.etsystatic.com/000/0/6374392/il_fullxfull.274678760.jpg
Pensamento distribuído
Tuesday, October 16, 12
Pensamento distribuído
S1
Clientes
Fotos
S1
Fotos
Load Balancer
Tuesday, October 16, 12
Pensamento distribuído
S1
Clientes
Fotos
S1
Load Balancer
Tuesday, October 16, 12
Multitenancy
http://palavrapensamentoatitude.files.wordpress.com/2010/08/sao_paulo_sa_122.jpg
Tuesday, October 16, 12
Multitenancy
Vários tenants, inquilinos, compartilhando algum tipo
de recurso
http://palavrapensamentoatitude.files.wordpress.com/2010/08/sao_paulo_sa_122.jpg
Tuesday, October 16, 12
MultitenancyMínimo de
recurso compartilhado
Todos os recursos são
compartilhados
Tuesday, October 16, 12
MultitenancyMínimo de recurso compartilhado
Tuesday, October 16, 12
MultitenancyMínimo de recurso compartilhado
Dados isolados pela própria arquitetura
Um deploy para cada cliente
Tuesday, October 16, 12
MultitenancyTodos os recursos são compartilhados
Tuesday, October 16, 12
MultitenancyTodos os recursos são compartilhados
Dados isolados pela aplicação:clientId = x
Único deploy para todos os clientes
Tuesday, October 16, 12
MultitenancyModelo híbrido
Uma conexão para cada
cliente
Tuesday, October 16, 12
Considerações gerais
Tuesday, October 16, 12
Considerações gerais
API/Webservices
Tuesday, October 16, 12
Considerações gerais
API/Webservices
rest/soap
Tuesday, October 16, 12
Considerações gerais
API/Webservices
rest/soap
JSON/XML
Tuesday, October 16, 12
TKS!
[email protected]@gmail.com
@marcoooos
facebook.com/marcoooosgithub.com/marcos
Tuesday, October 16, 12
http://www.citrix.com/lang/English/lp/lp_2328330.asp
http://www.techrepublic.com/blog/datacenter/mini-glossary-cloud-computing-terms-you-should-know/2308
http://convergenciadigital.uol.com.br/cgi/cgilua.exe/sys/start.htm?infoid=28354&sid=97
http://www.slideshare.net/drluckyspin/cloud-computing-and-your-data-warehouse
http://hc.apache.org/httpcomponents-client-ga/tutorial/html/statemgmt.html
http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html
http://en.wikipedia.org/wiki/Load_balancing_(computing)
http://blog.caelum.com.br/um-produto-para-muitos-clientes-implementando-multitenancy/
http://msdn.microsoft.com/en-us/library/aa479086.aspx#mlttntda_topic2
http://imasters.com.br/artigo/19067/cloud/entendendo-o-modelo-multi-tenancy
http://memcached.org/
http://code.google.com/p/memcached-session-manager/
http://openiconlibrary.sourceforge.net/
http://api.ning.com/files/68NhEwzw5g04WF6UGW1q*ss3IMDv-I1wCDKiVWUbL7bCFdQhvJb-6Mk*qPwpBJfqXdabppTagUOLQPXdOknf7xREclxvKM6Y/cloud_computing.jpg
http://www.heroku.com/
http://aws.amazon.com/
https://www.salesforce.com/
https://developers.google.com/appengine/
Tuesday, October 16, 12