SlideShare a Scribd company logo
1 of 42
Download to read offline
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 equipe;
- Automação;
- Iniciativas de DevOps.
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.
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
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 fonte de
dados).
Isolamento
completo.
Evolução
INFRAESTRUTURA
Automação
Pipeline
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.
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.
Features/Responsabilidades
On-premise
Cloud
Cloud
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.
OBRIGADO!
Rafael Souza
rafaelsouza.eng.br
rafael_psouza
rafaelpsouza

More Related Content

Similar to Migrando para Micro Serviços

Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devopsDiego Pacheco
 
O que uma enterprise deveria fazer nos primeiros 90 dias
O que uma enterprise deveria fazer nos primeiros 90 diasO que uma enterprise deveria fazer nos primeiros 90 dias
O que uma enterprise deveria fazer nos primeiros 90 diasAmazon Web Services LATAM
 
TDC - Qual o tamanho adequado de um micro serviço?
TDC - Qual o tamanho adequado de um micro serviço?TDC - Qual o tamanho adequado de um micro serviço?
TDC - Qual o tamanho adequado de um micro serviço?Rafael Salerno de Oliveira
 
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...Fabrízio Mello
 
MIT - Estudo de Caso utilizando Cloud & DevOps
MIT - Estudo de Caso utilizando Cloud & DevOps  MIT - Estudo de Caso utilizando Cloud & DevOps
MIT - Estudo de Caso utilizando Cloud & DevOps Caio Candido
 
Jornada para a Nuvem: Como planejar e executar sua migração com a ajuda do AW...
Jornada para a Nuvem: Como planejar e executar sua migração com a ajuda do AW...Jornada para a Nuvem: Como planejar e executar sua migração com a ajuda do AW...
Jornada para a Nuvem: Como planejar e executar sua migração com a ajuda do AW...Amazon Web Services LATAM
 
Microservices - Arquitetura, Ecossistema e Desafios
Microservices - Arquitetura, Ecossistema e DesafiosMicroservices - Arquitetura, Ecossistema e Desafios
Microservices - Arquitetura, Ecossistema e DesafiosRyan Padilha
 
Taking - Apresentação de serviços das unidades
Taking - Apresentação de serviços das unidadesTaking - Apresentação de serviços das unidades
Taking - Apresentação de serviços das unidadesTaking
 
MIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoMIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoCaio Candido
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infosimples
 
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...tdc-globalcode
 
Zabbix Conference LatAm 2016 - Paulo Deolindo - Case Study_BBTS and Zabbix
Zabbix Conference LatAm 2016 - Paulo Deolindo - Case Study_BBTS and ZabbixZabbix Conference LatAm 2016 - Paulo Deolindo - Case Study_BBTS and Zabbix
Zabbix Conference LatAm 2016 - Paulo Deolindo - Case Study_BBTS and ZabbixZabbix
 
Cloud computing e ITIL por Emerson Dorow
Cloud computing e ITIL por Emerson DorowCloud computing e ITIL por Emerson Dorow
Cloud computing e ITIL por Emerson DorowFernando Palma
 
Azure Fundamentals (Intensivão Azure)
Azure Fundamentals (Intensivão Azure)Azure Fundamentals (Intensivão Azure)
Azure Fundamentals (Intensivão Azure)Resource IT
 
Eaa 2 workshop_itil_outubro_2009
Eaa 2 workshop_itil_outubro_2009Eaa 2 workshop_itil_outubro_2009
Eaa 2 workshop_itil_outubro_2009Ricardo Brito
 
O que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMO que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMFelipe Freire
 
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeTDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeAndré Paulovich
 
MSA: Quando a gestão encontra a arquitetura
MSA: Quando a gestão encontra a arquiteturaMSA: Quando a gestão encontra a arquitetura
MSA: Quando a gestão encontra a arquiteturaDiego Pacheco
 

Similar to Migrando para Micro Serviços (20)

Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 
O que uma enterprise deveria fazer nos primeiros 90 dias
O que uma enterprise deveria fazer nos primeiros 90 diasO que uma enterprise deveria fazer nos primeiros 90 dias
O que uma enterprise deveria fazer nos primeiros 90 dias
 
TDC - Qual o tamanho adequado de um micro serviço?
TDC - Qual o tamanho adequado de um micro serviço?TDC - Qual o tamanho adequado de um micro serviço?
TDC - Qual o tamanho adequado de um micro serviço?
 
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
 
Comprei um SQL Server e agora?
Comprei um SQL Server e agora?Comprei um SQL Server e agora?
Comprei um SQL Server e agora?
 
MIT - Estudo de Caso utilizando Cloud & DevOps
MIT - Estudo de Caso utilizando Cloud & DevOps  MIT - Estudo de Caso utilizando Cloud & DevOps
MIT - Estudo de Caso utilizando Cloud & DevOps
 
Jornada para a Nuvem: Como planejar e executar sua migração com a ajuda do AW...
Jornada para a Nuvem: Como planejar e executar sua migração com a ajuda do AW...Jornada para a Nuvem: Como planejar e executar sua migração com a ajuda do AW...
Jornada para a Nuvem: Como planejar e executar sua migração com a ajuda do AW...
 
2. migracao do seu website gov-edu-ngo
2. migracao do seu website   gov-edu-ngo2. migracao do seu website   gov-edu-ngo
2. migracao do seu website gov-edu-ngo
 
Microservices - Arquitetura, Ecossistema e Desafios
Microservices - Arquitetura, Ecossistema e DesafiosMicroservices - Arquitetura, Ecossistema e Desafios
Microservices - Arquitetura, Ecossistema e Desafios
 
Taking - Apresentação de serviços das unidades
Taking - Apresentação de serviços das unidadesTaking - Apresentação de serviços das unidades
Taking - Apresentação de serviços das unidades
 
MIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoMIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como Código
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)
 
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
 
Zabbix Conference LatAm 2016 - Paulo Deolindo - Case Study_BBTS and Zabbix
Zabbix Conference LatAm 2016 - Paulo Deolindo - Case Study_BBTS and ZabbixZabbix Conference LatAm 2016 - Paulo Deolindo - Case Study_BBTS and Zabbix
Zabbix Conference LatAm 2016 - Paulo Deolindo - Case Study_BBTS and Zabbix
 
Cloud computing e ITIL por Emerson Dorow
Cloud computing e ITIL por Emerson DorowCloud computing e ITIL por Emerson Dorow
Cloud computing e ITIL por Emerson Dorow
 
Azure Fundamentals (Intensivão Azure)
Azure Fundamentals (Intensivão Azure)Azure Fundamentals (Intensivão Azure)
Azure Fundamentals (Intensivão Azure)
 
Eaa 2 workshop_itil_outubro_2009
Eaa 2 workshop_itil_outubro_2009Eaa 2 workshop_itil_outubro_2009
Eaa 2 workshop_itil_outubro_2009
 
O que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMO que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBM
 
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeTDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
 
MSA: Quando a gestão encontra a arquitetura
MSA: Quando a gestão encontra a arquiteturaMSA: Quando a gestão encontra a arquitetura
MSA: Quando a gestão encontra a arquitetura
 

More from Rafael de Paula Souza

More from Rafael de Paula Souza (13)

Desenvolvendo chatbots com e xtreme programming
Desenvolvendo chatbots com e xtreme programmingDesenvolvendo chatbots com e xtreme programming
Desenvolvendo chatbots com e xtreme programming
 
Testes de UI (para não especialisas) com CodeceptJS
Testes de UI (para não especialisas) com CodeceptJSTestes de UI (para não especialisas) com CodeceptJS
Testes de UI (para não especialisas) com CodeceptJS
 
NLP e Chatbots
NLP e ChatbotsNLP e Chatbots
NLP e Chatbots
 
Coleta, armazenamento e visualização de métricas em uma arquitetura de micros...
Coleta, armazenamento e visualização de métricas em uma arquitetura de micros...Coleta, armazenamento e visualização de métricas em uma arquitetura de micros...
Coleta, armazenamento e visualização de métricas em uma arquitetura de micros...
 
Migração de legado - Seniortec 2015
Migração de legado - Seniortec 2015Migração de legado - Seniortec 2015
Migração de legado - Seniortec 2015
 
API management: um aliado para construção de APIs
API management: um aliado para construção de APIsAPI management: um aliado para construção de APIs
API management: um aliado para construção de APIs
 
Software Design and Technical Debts
Software Design and Technical DebtsSoftware Design and Technical Debts
Software Design and Technical Debts
 
Introduction to SaltStack
Introduction to SaltStackIntroduction to SaltStack
Introduction to SaltStack
 
Creating a blog like a hacker
Creating a blog like a hackerCreating a blog like a hacker
Creating a blog like a hacker
 
Tez
TezTez
Tez
 
YARN
YARNYARN
YARN
 
Antlr rafaelpsouza
Antlr rafaelpsouzaAntlr rafaelpsouza
Antlr rafaelpsouza
 
PicoContainer
PicoContainerPicoContainer
PicoContainer
 

Migrando para Micro Serviços