OVERVIEW
ARQUITETURA
AGNI G. B. CAMPOS
http://agni-tech.blogspot.com
(21) 96624-5486
AGENDA
1 / Sistemas monolíticos
2 / Serviços
3 / Micro Serviços
SISTEMAS
MONOLÍTICOS
De maneira geral sistemas
feitos até recentemente eram
concebidos sob arquitetura
monolítca, ou seja, ainda que
divididos em camadas,  tudo é
distribuído em um único
pacote, boa abordagem para
sistemas simples mas para
aplicações complexas, essa
abordagem não é adequada.
PROBLEMAS
SISTEMAS
MONOLÍTICOS
-> Dificuldade para implantar
"Continuos Deploy", em geral,
indisponibilidade total do sistema
durante implementações
-> Aprisionamento tecnológico 
-> Manutenção e compreensão da
aplicação torna-se cada vez mais
dificil a medida que a aplicação
cresce.
PROBLEMAS
SISTEMAS
MONOLÍTICOS
-> Dificuldade para coordenar
ações da equipe;
-> Queda de qualidade do código
com passar do tempo 
->Uso desgovernado de recursos
(Servidores de aplicação)
-> Escalabilidade comprometida
MODELOS ARQUITETURAIS
SOA REST
MICROSERVICES
DEFINIÇÃO
DE SERVIÇO
Componente de software
com capacidades
implementadas sob a forma
de operações (metódos). E
essas capacidades podem ser
vistas como funcionalidades
das quais um ou mais
sistemas dependem.
REUSABILIDADE AUTONOMIA
CONTRATO
PADRONIZADO
BAIXO
ACOPLAMENTO
VISIBILIDADE
ABSTRAÇÃO
INDEPENDÊNCIA
DE ESTADO
(STATELES)
PRINCIPIOS DO SOA
PROBLEMAS
COMUNS
SOA
-> Dificuldades em encontrar a
melhor forma de dividir algo
maior em partes menores.
 
-> Falta de consenso em como
implementar essa arquitetura
(inúmeras especificações
complementares para Web
Services).
REST
- Baseado no conceito de recurso e no
uso  de requisições HTTP
- Recurso é o conjunto de dados do qual
uma aplicação depende
- RESTful web services baseados na
arquitetura REST 
REPRESENTAÇÃO ESQUEMÁTICA
REST
MICRO SERVIÇOS
Serviços pequenos e autônomos  trabalhando de forma
conjunta, a fim de atender ao escopo de uma
requisição/demanda especifica.
MICRO
SERVIÇOS
- Deve contribuir para o baixo
acoplamento
- Deploy como um componente
isolado
- Alterações devem acontecer
sem afetar os demais
componentes, sem parar toda
aplicação
MICRO
SERVIÇOS
BENEFÍCIOS
- Adoção de novas tecnologias
com maior facilidade
- Alta disponibilidade
- Escalabilidade
- Torna mais fácil adoção de
Continuous deployment
- Foco em produtos, não projetos
MICRO SERVIÇOS
DESCENTRALIZAÇÃO
- Times multifuncionais cuidando de um produto
- Evitar uso de soluçõs Enterprise Service Bus (ESB) ou de
orquestração
- Bases de dados descentralizadas, normalmente  uma para
cada serviço.
ABORDAGENS DE
DEPLOYMENT INDEPENDENTE
- UMA ÚNICA INSTÂNCIA DE UM SERVIÇO POR HOST
- MÚLTIPLAS INSTÂNCIAS DE UM SERVIÇO POR HOST
- UMA ÚNICA INSTÂNCIA DE UM SERVIÇO POR MÁQUINA VIRTUAL
- UMA INSTÂNCIA DE SERVIÇO POR CONTAINER -> DOCKER
OBRIGADO PELA
ATENÇÃO!
AGNI G. B. CAMPOS
http://agni-tech.blogspot.com

Overview arquitetura