andando nas nuvens, uma abordagem prática

110
Andando nas nuvens Uma abordagem prática http://www.flickr.com/photos/mutablend/7077017143/sizes/l/in/photostream/ Marcos Ferreira - Softexpert SECCOM 2012 Tuesday, October 16, 12

Upload: marcos-ferreira

Post on 18-Dec-2014

535 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Andando nas nuvens, uma abordagem prática

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

Page 2: Andando nas nuvens, uma abordagem prática

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

Page 3: Andando nas nuvens, uma abordagem prática

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

Page 4: Andando nas nuvens, uma abordagem prática

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

Page 5: Andando nas nuvens, uma abordagem prática

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

Page 6: Andando nas nuvens, uma abordagem prática

O que é cloud computing?

http://skypoweraz.com/wp/wp-content/uploads/2011/06/puffy-cloud.jpg

Tuesday, October 16, 12

Page 7: Andando nas nuvens, uma abordagem prática

Muito mais que um novo termo

http://www.midlandsbusinessnews.co.uk/wp-content/uploads/2012/07/Cloud-IT-Event.jpg

Tuesday, October 16, 12

Page 8: Andando nas nuvens, uma abordagem prática

Tuesday, October 16, 12

Page 9: Andando nas nuvens, uma abordagem prática

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

Page 10: Andando nas nuvens, uma abordagem prática

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

Page 11: Andando nas nuvens, uma abordagem prática

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

Page 12: Andando nas nuvens, uma abordagem prática

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

Page 13: Andando nas nuvens, uma abordagem prática

A origem do termo cloud é obscura...

http://www.papeldeparede.etc.br/fotos/wp-content/uploads/Senhordosaneis4.jpg

Tuesday, October 16, 12

Page 14: Andando nas nuvens, uma abordagem prática

Tuesday, October 16, 12

Page 15: Andando nas nuvens, uma abordagem prática

Nossos queridos diagramas de

redes?http://en.wikipedia.org/wiki/Cloud_computing#History

Tuesday, October 16, 12

Page 16: Andando nas nuvens, uma abordagem prática

Salesforce?

Tuesday, October 16, 12

Page 17: Andando nas nuvens, uma abordagem prática

Amazon?

Tuesday, October 16, 12

Page 18: Andando nas nuvens, uma abordagem prática

Google?

Tuesday, October 16, 12

Page 19: Andando nas nuvens, uma abordagem prática

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

Page 20: Andando nas nuvens, uma abordagem prática

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

Page 21: Andando nas nuvens, uma abordagem prática

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

Page 22: Andando nas nuvens, uma abordagem prática

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

Page 23: Andando nas nuvens, uma abordagem prática

Uma definição séria:

Tuesday, October 16, 12

Page 24: Andando nas nuvens, uma abordagem prática

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

Page 26: Andando nas nuvens, uma abordagem prática

Por que cloud computing está na moda?

Tuesday, October 16, 12

Page 27: Andando nas nuvens, uma abordagem prática

Um exemplo:

Tuesday, October 16, 12

Page 28: Andando nas nuvens, uma abordagem prática

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

Page 29: Andando nas nuvens, uma abordagem prática

http://3.bp.blogspot.com/_uLD-wt6mPwQ/Svisx1OJD_I/AAAAAAAAAUY/oUq5jZFe4JQ/s400/Gerador+de+energia.jpg

Tuesday, October 16, 12

Page 35: Andando nas nuvens, uma abordagem prática

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

Page 36: Andando nas nuvens, uma abordagem prática

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

Page 37: Andando nas nuvens, uma abordagem prática

Agora imagine a mesma facilidade para datacenters, frameworks, sistemas de

gestão ou aplicativos

Tuesday, October 16, 12

Page 38: Andando nas nuvens, uma abordagem prática

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

Page 39: Andando nas nuvens, uma abordagem prática

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

Page 40: Andando nas nuvens, uma abordagem prática

i1 i2 i3

Load Balancer

www.seudominio.com

0:00h - 6:00h

Tuesday, October 16, 12

Page 41: Andando nas nuvens, uma abordagem prática

i1 i2 i3

Load Balancer

www.seudominio.com

6:00h - 10:00h

Tuesday, October 16, 12

Page 42: Andando nas nuvens, uma abordagem prática

i1 i2 i3

Load Balancer

www.seudominio.com

10:00h - 18:00h

Tuesday, October 16, 12

Page 43: Andando nas nuvens, uma abordagem prática

Vários cases:

Morgridge Institute

Tuesday, October 16, 12

Page 45: Andando nas nuvens, uma abordagem prática

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

Page 46: Andando nas nuvens, uma abordagem prática

IaaS - Infrastructure as a Service

Tuesday, October 16, 12

Page 47: Andando nas nuvens, uma abordagem prática

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

Page 48: Andando nas nuvens, uma abordagem prática

Tuesday, October 16, 12

Page 49: Andando nas nuvens, uma abordagem prática

IaaS

Tuesday, October 16, 12

Page 50: Andando nas nuvens, uma abordagem prática

PaaS - Platform as a Service

Tuesday, October 16, 12

Page 51: Andando nas nuvens, uma abordagem prática

-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

Page 52: Andando nas nuvens, uma abordagem prática

IaaS

PaaS

Tuesday, October 16, 12

Page 53: Andando nas nuvens, uma abordagem prática

https://developers.google.com/appengine/docs/features

SaaS - Software as a Service

Tuesday, October 16, 12

Page 54: Andando nas nuvens, uma abordagem prática

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

Page 55: Andando nas nuvens, uma abordagem prática

IaaS

PaaS

SaaS

Tuesday, October 16, 12

Page 56: Andando nas nuvens, uma abordagem prática

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

Page 57: Andando nas nuvens, uma abordagem prática

Pensamento distribuído

http://www.jakesnewblog.com/wp-content/gallery/2009/sept/img_2372.jpg

Tuesday, October 16, 12

Page 58: Andando nas nuvens, uma abordagem prática

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

Page 59: Andando nas nuvens, uma abordagem prática

Pensamento distribuido - Provisionamento

Tuesday, October 16, 12

Page 60: Andando nas nuvens, uma abordagem prática

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

Page 61: Andando nas nuvens, uma abordagem prática

Pensamento distribuído - Provisionamento

Tuesday, October 16, 12

Page 62: Andando nas nuvens, uma abordagem prática

Pensamento distribuído - Provisionamento

Tuesday, October 16, 12

Page 63: Andando nas nuvens, uma abordagem prática

Pensamento distribuído - Provisionamento

Tuesday, October 16, 12

Page 64: Andando nas nuvens, uma abordagem prática

Adicionar mais uma instância

x

Aumentar sua instância atual

S1 S2M

+

Load Balancer

Pensamento distribuído - Provisionamento

Tuesday, October 16, 12

Page 65: Andando nas nuvens, uma abordagem prática

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

Page 66: Andando nas nuvens, uma abordagem prática

Small Instance - Linux$0.080 per Hour

Medium Instance - Linux$0.160 per Hour

Pensamento distribuído - Provisionamento

Tuesday, October 16, 12

Page 67: Andando nas nuvens, uma abordagem prática

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

Page 68: Andando nas nuvens, uma abordagem prática

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

Page 69: Andando nas nuvens, uma abordagem prática

Pensamento distribuído - Provisionamento

Tuesday, October 16, 12

Page 70: Andando nas nuvens, uma abordagem prática

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

Page 71: Andando nas nuvens, uma abordagem prática

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

Page 72: Andando nas nuvens, uma abordagem prática

Pensamento distribuído - Sessão

Tuesday, October 16, 12

Page 73: Andando nas nuvens, uma abordagem prática

-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

Page 74: Andando nas nuvens, uma abordagem prática

S1

Clientes

Sessão

Pensamento distribuído - Sessão

Tuesday, October 16, 12

Page 75: Andando nas nuvens, uma abordagem prática

S1

Sessão

ID1

IDI={....}

1˚ acesso

Pensamento distribuído - Sessão

Tuesday, October 16, 12

Page 76: Andando nas nuvens, uma abordagem prática

S1

Sessão

ID1

S1

Sessão

ID1

IDI={....} IDI={....}

1˚ acesso 2˚ acesso

Pensamento distribuído - Sessão

Tuesday, October 16, 12

Page 77: Andando nas nuvens, uma abordagem prática

S1

Clientes

Sessão

S2

Sessão

Load Balancer

Pensamento distribuído - Sessão

Tuesday, October 16, 12

Page 78: Andando nas nuvens, uma abordagem prática

ID1

S1

Sessão

Load Balancer

S2

Sessão

IDI={....}

1˚ acesso

Pensamento distribuído - Sessão

Tuesday, October 16, 12

Page 79: Andando nas nuvens, uma abordagem prática

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

Page 80: Andando nas nuvens, uma abordagem prática

Sessão por afinidade

http://3.bp.blogspot.com/_LeOrCWRdTA4/THpRN-azz_I/AAAAAAAAE-w/UqvCVQ75ywI/s1600/palma_love.jpg

Tuesday, October 16, 12

Page 81: Andando nas nuvens, uma abordagem prática

ID1

S1

Sessão

Load Balancer

S2

Sessão

IDI={....}

Pensamento distribuído - Sessão

Tuesday, October 16, 12

Page 82: Andando nas nuvens, uma abordagem prática

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

Page 84: Andando nas nuvens, uma abordagem prática

S1

Sessão

S2

Sessão

Load Balancer

x

ID1

IDI={....}

Pensamento distribuído - Sessão

Tuesday, October 16, 12

Page 85: Andando nas nuvens, uma abordagem prática

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

Page 86: Andando nas nuvens, uma abordagem prática

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

Page 87: Andando nas nuvens, uma abordagem prática

S1

Sessão

S1

Sessão

Load Balancer

x

ID1

IDI={....} IDI={....}

Pensamento distribuído - Sessão

Tuesday, October 16, 12

Page 88: Andando nas nuvens, uma abordagem prática

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

Page 89: Andando nas nuvens, uma abordagem prática

S1

Sessão

S2

Load Balancer

IDI={....}

Pensamento distribuído - Sessão

Tuesday, October 16, 12

Page 90: Andando nas nuvens, uma abordagem prática

• 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

Page 91: Andando nas nuvens, uma abordagem prática

• 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

Page 92: Andando nas nuvens, uma abordagem prática

• 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

Page 93: Andando nas nuvens, uma abordagem prática

• 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

Page 94: Andando nas nuvens, uma abordagem prática

Arquivos estáticos

http://img0.etsystatic.com/000/0/6374392/il_fullxfull.274678760.jpg

Pensamento distribuído

Tuesday, October 16, 12

Page 95: Andando nas nuvens, uma abordagem prática

Pensamento distribuído

S1

Clientes

Fotos

S1

Fotos

Load Balancer

Tuesday, October 16, 12

Page 96: Andando nas nuvens, uma abordagem prática

Pensamento distribuído

S1

Clientes

Fotos

S1

Load Balancer

Tuesday, October 16, 12

Page 97: Andando nas nuvens, uma abordagem prática

Multitenancy

http://palavrapensamentoatitude.files.wordpress.com/2010/08/sao_paulo_sa_122.jpg

Tuesday, October 16, 12

Page 98: Andando nas nuvens, uma abordagem prática

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

Page 99: Andando nas nuvens, uma abordagem prática

MultitenancyMínimo de

recurso compartilhado

Todos os recursos são

compartilhados

Tuesday, October 16, 12

Page 100: Andando nas nuvens, uma abordagem prática

MultitenancyMínimo de recurso compartilhado

Tuesday, October 16, 12

Page 101: Andando nas nuvens, uma abordagem prática

MultitenancyMínimo de recurso compartilhado

Dados isolados pela própria arquitetura

Um deploy para cada cliente

Tuesday, October 16, 12

Page 102: Andando nas nuvens, uma abordagem prática

MultitenancyTodos os recursos são compartilhados

Tuesday, October 16, 12

Page 103: Andando nas nuvens, uma abordagem prática

MultitenancyTodos os recursos são compartilhados

Dados isolados pela aplicação:clientId = x

Único deploy para todos os clientes

Tuesday, October 16, 12

Page 104: Andando nas nuvens, uma abordagem prática

MultitenancyModelo híbrido

Uma conexão para cada

cliente

Tuesday, October 16, 12

Page 105: Andando nas nuvens, uma abordagem prática

Considerações gerais

Tuesday, October 16, 12

Page 106: Andando nas nuvens, uma abordagem prática

Considerações gerais

API/Webservices

Tuesday, October 16, 12

Page 107: Andando nas nuvens, uma abordagem prática

Considerações gerais

API/Webservices

rest/soap

Tuesday, October 16, 12

Page 108: Andando nas nuvens, uma abordagem prática

Considerações gerais

API/Webservices

rest/soap

JSON/XML

Tuesday, October 16, 12

Page 110: Andando nas nuvens, uma abordagem prática

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