Top Banner
Migrando um legado para Micro Serviços Desafios, estratégias e aprendizados
42

Migrando um legado para micro serviços

Jul 30, 2015

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Migrando um legado para micro serviços

Migrando um legado para Micro Serviços

Desafios, estratégias e aprendizados

Page 2: Migrando um legado para micro serviços

www.ilegra.com

Page 3: Migrando um legado para micro serviços

Cenário

Page 4: Migrando um legado para micro serviços

O cliente sabe onde estão os problemas

Sabe que está fazendo errado

Mas precisa de ajuda para resolver

Cenário

Page 5: Migrando um legado para micro serviços

Velocidade de desenvolvimento

Previsibilidade

Satisfação do cliente

Page 6: Migrando um legado para micro serviços

TI e Software legados

Page 7: Migrando um legado para micro serviços

“Arquitetura”

Page 8: Migrando um legado para micro serviços

Estratégia

Page 9: Migrando um legado para micro serviços

Pilares

CoachingArquitetura

DevOps

Page 10: Migrando um legado para micro serviços

Tática

- Consultoria de Arquitetura;- Projeto piloto;- Treinamentos;- Evolução de Serviços;- Capacitação gradativa da equipe;- Automação;- Iniciativas de DevOps.

Page 11: Migrando um legado para micro serviços

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.

Page 12: Migrando um legado para micro serviços

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

Page 13: Migrando um legado para micro serviços

ARQUITETURA

Page 14: Migrando um legado para micro serviços

Discovery

Page 15: Migrando um legado para micro serviços

Projeto Piloto

Time separado (isolamento)

Primeiros serviços

Code Review

Feedback

Page 16: Migrando um legado para micro serviços

Simplicidade como Norte

Page 17: Migrando um legado para micro serviços

Eliminar complexidade acidental

Page 18: Migrando um legado para micro serviços

Spring Boot

Page 19: Migrando um legado para micro serviços

“Chassis” de Serviços

Page 20: Migrando um legado para micro serviços

POCs / Spikes

- Reduzir riscos;- Ajudar nas estimativas;- Isolamento de complexidade.

Page 21: Migrando um legado para micro serviços

Anatomia dos Serviços

Page 22: Migrando um legado para micro serviços

Design Estrutural

“Keep the code on the right layer”

Page 23: Migrando um legado para micro serviços

Inter-service Communication

REST/Http(sync)

Event Driven(async)

JMS

Page 24: Migrando um legado para micro serviços

Log centralizado

Page 25: Migrando um legado para micro serviços

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

Page 26: Migrando um legado para micro serviços

INFRAESTRUTURA

Page 27: Migrando um legado para micro serviços

Automação

Page 28: Migrando um legado para micro serviços

Pipeline

Page 29: Migrando um legado para micro serviços

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.

Page 30: Migrando um legado para micro serviços

Ansible

Page 31: Migrando um legado para micro serviços

Docker + Gradle

Dockerfile

build.gradle

Page 32: Migrando um legado para micro serviços

Vagrant

Page 33: Migrando um legado para micro serviços

API MANAGEMENT

Page 34: Migrando um legado para micro serviços

Gateway / Proxy

API Proxy

API Gateway

API Management

Page 35: Migrando um legado para micro serviços

Gateway / Proxy

Page 36: Migrando um legado para micro serviços

- Traffic Control;- Authentication;- Rate Limits;- Caching;- Analytics;- Transformation;- Monetization;- API Mocks.

Features/Responsabilidades

Page 37: Migrando um legado para micro serviços

On-premise

Page 38: Migrando um legado para micro serviços

Cloud

Page 39: Migrando um legado para micro serviços

Cloud

Page 40: Migrando um legado para micro serviços

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.

Page 41: Migrando um legado para micro serviços

OBRIGADO!

Page 42: Migrando um legado para micro serviços

Rafael Souza

rafaelsouza.eng.br

rafael_psouza

rafaelpsouza