2. 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”
4. 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.
5. 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
9. 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.
10.
11. 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.
13. 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.
16. 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.
19. 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)