Migrando um legado para
Micro Serviços
Desafios, estratégias e aprendizados
www.ilegra.com
Cenário
O cliente sabe onde estão os
problemas
Sabe que está fazendo errado
Mas precisa de ajuda para resolver
Cenário
Velocidade de desenvolvimento
Previsibilidade
Satisfação do cliente
TI e Software legados
“Arquitetura”
Estratégia
Pilares
CoachingArquitetura
DevOps
Tática
- Consultoria de Arquitetura;
- Projeto piloto;
- Treinamentos;
- Evolução de Serviços;
- Capacitação gradativa da ...
Desafios Técnicos
- Nosso principal problema: Integration Database;
- Muita lógica de negócios no banco (procedures);
- Ev...
Cloud?
- Traria agilidade, mas é inviável no momento: Integration Database;
- Mas podemos chegar lá:
- Trabalhando feed de...
ARQUITETURA
Discovery
Projeto Piloto
Time separado (isolamento)
Primeiros serviços
Code Review
Feedback
Simplicidade como Norte
Eliminar complexidade
acidental
Spring Boot
“Chassis” de Serviços
POCs / Spikes
- Reduzir riscos;
- Ajudar nas estimativas;
- Isolamento de complexidade.
Anatomia dos Serviços
Design Estrutural
“Keep the code on the right layer”
Inter-service
Communication
REST/Http
(sync)
Event Driven
(async)
JMS
Log centralizado
Evolução dos Serviços
Foco nas
abstrações
(contratos,
aggregations,
anatomia).
Busca por
consumidores
(serviço como
única ...
INFRAESTRUTURA
Automação
Pipeline
Docker
- Centrado na aplicação (e não no servidor/maquina);
- Deployment rápido;
- Manutenção simplificada (isolamento);
-...
Ansible
Docker + Gradle
Dockerfile
build.gradle
Vagrant
API MANAGEMENT
Gateway / Proxy
API Proxy
API Gateway
API Management
Gateway / Proxy
- Traffic Control;
- Authentication;
- Rate Limits;
- Caching;
- Analytics;
- Transformation;
- Monetization;
- API Mocks....
On-premise
Cloud
Cloud
Próximos Passos
- Finalizar projeto piloto;
- Criação de novos serviços;
- Trazer mais aplicações como consumidores dos se...
OBRIGADO!
Rafael Souza
rafaelsouza.eng.br
rafael_psouza
rafaelpsouza
Próximos SlideShares
Carregando em…5
×

Migrando um legado para micro serviços

382 visualizações

Publicada em

Palestra do TDC Floripa 2015

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
382
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Migrando um legado para micro serviços

  1. 1. Migrando um legado para Micro Serviços Desafios, estratégias e aprendizados
  2. 2. www.ilegra.com
  3. 3. Cenário
  4. 4. O cliente sabe onde estão os problemas Sabe que está fazendo errado Mas precisa de ajuda para resolver Cenário
  5. 5. Velocidade de desenvolvimento Previsibilidade Satisfação do cliente
  6. 6. TI e Software legados
  7. 7. “Arquitetura”
  8. 8. Estratégia
  9. 9. Pilares CoachingArquitetura DevOps
  10. 10. Tática - Consultoria de Arquitetura; - Projeto piloto; - Treinamentos; - Evolução de Serviços; - Capacitação gradativa da equipe; - Automação; - Iniciativas de DevOps.
  11. 11. Desafios Técnicos - Nosso principal problema: Integration Database; - Muita lógica de negócios no banco (procedures); - Evitar “big-bang refactoring”; - Remover features dos legado(s) constantemente; - Features novas entram como serviço.
  12. 12. Cloud? - Traria agilidade, mas é inviável no momento: Integration Database; - Mas podemos chegar lá: - Trabalhando feed de dados on-premise -> cloud; - Encontrando serviços e componentes candidatos para cloud (menos dependências dados isolados); - Condução de forma gradativa. Cloud
  13. 13. ARQUITETURA
  14. 14. Discovery
  15. 15. Projeto Piloto Time separado (isolamento) Primeiros serviços Code Review Feedback
  16. 16. Simplicidade como Norte
  17. 17. Eliminar complexidade acidental
  18. 18. Spring Boot
  19. 19. “Chassis” de Serviços
  20. 20. POCs / Spikes - Reduzir riscos; - Ajudar nas estimativas; - Isolamento de complexidade.
  21. 21. Anatomia dos Serviços
  22. 22. Design Estrutural “Keep the code on the right layer”
  23. 23. Inter-service Communication REST/Http (sync) Event Driven (async) JMS
  24. 24. Log centralizado
  25. 25. Evolução dos Serviços Foco nas abstrações (contratos, aggregations, anatomia). Busca por consumidores (serviço como única fonte de dados). Isolamento completo. Evolução
  26. 26. INFRAESTRUTURA
  27. 27. Automação
  28. 28. Pipeline
  29. 29. Docker - Centrado na aplicação (e não no servidor/maquina); - Deployment rápido; - Manutenção simplificada (isolamento); - Portabilidade entre maquinas; - Controle de versões; - Crescendo.
  30. 30. Ansible
  31. 31. Docker + Gradle Dockerfile build.gradle
  32. 32. Vagrant
  33. 33. API MANAGEMENT
  34. 34. Gateway / Proxy API Proxy API Gateway API Management
  35. 35. Gateway / Proxy
  36. 36. - Traffic Control; - Authentication; - Rate Limits; - Caching; - Analytics; - Transformation; - Monetization; - API Mocks. Features/Responsabilidades
  37. 37. On-premise
  38. 38. Cloud
  39. 39. Cloud
  40. 40. Próximos Passos - Finalizar projeto piloto; - Criação de novos serviços; - Trazer mais aplicações como consumidores dos serviços; - Equipes de outros projetos construir serviços; - Diminuir a “força” do Integration Database; - Métricas de delivery; - Maior esforço nas iniciativas DevOps.
  41. 41. OBRIGADO!
  42. 42. Rafael Souza rafaelsouza.eng.br rafael_psouza rafaelpsouza

×