cloud computing e arquiteturas shared disk e shared-nothing

21
Cloud computing e arquiteturas shared-disk e shared-nothing Alexandre Saudate (@alesaudate)–

Upload: alexandre-saudate

Post on 15-Dec-2014

454 views

Category:

Technology


0 download

DESCRIPTION

Minha short talk sobre shared-disk e shared-nothing no QCon 2013

TRANSCRIPT

Page 1: Cloud computing e arquiteturas shared disk e shared-nothing

Cloud computing e arquiteturas shared-disk e

shared-nothingAlexandre Saudate (@alesaudate)–

Page 2: Cloud computing e arquiteturas shared disk e shared-nothing

Quem sou eu?• Arquiteto SOA e instrutor na SOA|Expert, com oito

anos de experiência• Autor dos livros “SOA Aplicado: integrando com

web services e além” e “REST: Construa API’s inteligentes de maneira simples”

Page 3: Cloud computing e arquiteturas shared disk e shared-nothing

Porquê utilizamos cloud computing?

Page 4: Cloud computing e arquiteturas shared disk e shared-nothing

Porque temos custos variáveis!• Sazonalidade (diária ou por épocas do ano)• Crescimento inesperado ou incerto• Utilização de recursos apenas por um período de

tempo• Etc.

Page 5: Cloud computing e arquiteturas shared disk e shared-nothing

Se os custos são variáveis, e usar cloud é bom porquê o número de máquinas também é variável...

... Precisamos de uma arquitetura que ofereça o

mesmo grau de flexibilidade

Page 6: Cloud computing e arquiteturas shared disk e shared-nothing

Como funciona uma arquitetura tradicional

Page 7: Cloud computing e arquiteturas shared disk e shared-nothing

Ou, ainda pior:

Page 8: Cloud computing e arquiteturas shared disk e shared-nothing

Ambos os modelos são péssimos!

Qual a solução?

Page 9: Cloud computing e arquiteturas shared disk e shared-nothing

A arquitetura shared-disk prevê que os nós são stateless, ou seja, não importa qual nó será utilizado para atender à requisição.

Desta forma, ou parte do estado é persistido em disco ou no próprio cliente.

Falar em sessões, nesta arquitetura, não faz sentido.

Page 10: Cloud computing e arquiteturas shared disk e shared-nothing
Page 11: Cloud computing e arquiteturas shared disk e shared-nothing

Este modelo possibilita que, na camada de aplicação, seja possível adicionar nós à vontade.

Mas... ainda há um problema: o banco de dados é compartilhado entre as máquinas, tornando –se um single point of failure (ponto único de falha), e limitando a escalabilidade.

Solução: não compartilhar nada, nem mesmo o banco de dados.

Page 12: Cloud computing e arquiteturas shared disk e shared-nothing

Complexo?

Page 13: Cloud computing e arquiteturas shared disk e shared-nothing

Para que a arquitetura seja shared- nothing, basta que a camada de dados também seja shared-nothing.

Temos vários representantes de gerenciadores de dados que seguem essa arquitetura, como o Apache Cassandra, VMWare GemFire, Apache Hadoop, etc.

Page 14: Cloud computing e arquiteturas shared disk e shared-nothing

Exemplo: shared-nothing com GemFire

Page 15: Cloud computing e arquiteturas shared disk e shared-nothing

Ou, simplesmente...

Page 16: Cloud computing e arquiteturas shared disk e shared-nothing

Tanto em shared-disk quanto em shared-nothing, usar SOA é fundamental

Os nós conversam uns com os outros utilizando serviços, e não através de compartilhamento de sessão.

Assim, cada máquina (ou grupo de máquinas) da aplicação corresponde a uma faceta desta.

Page 17: Cloud computing e arquiteturas shared disk e shared-nothing

Mas Alexandre, isso me parece muito teórico!

Quem usa isso?

Page 18: Cloud computing e arquiteturas shared disk e shared-nothing
Page 19: Cloud computing e arquiteturas shared disk e shared-nothing

Conclusão• Utilizar shared-disk e/ou shared-nothing em cloud

não é simplesmente uma boa alternativa, é item obrigatório

• Também é fortemente recomendado utilizar SOA para obter dados:

“Create a shared nothing infrastructure. Infrastructure can become a shared resource for development and deployment with the same downsides as shared resources in your logic and data tiers. It can cause locking and blocking and dead lock. A service oriented architecture allows the creation of a parallel and isolated development process that scales feature development to match your growth.”

(http://highscalability.com/amazon-architecture )

Page 20: Cloud computing e arquiteturas shared disk e shared-nothing

Dúvidas?

Page 21: Cloud computing e arquiteturas shared disk e shared-nothing

Obrigado!