SlideShare uma empresa Scribd logo
Combinando Micro-serviços com
Práticas DevOps
Rodrigo Cândido da Silva
@rcandidosilva
Sobre
• JUG Leader do GUJavaSC
• http://gujavasc.org
• Twitter
• @rcandidosilva
• Contatos
• http://rodrigocandido.me
Agenda
• Micro-serviços
• DevOps
• Docker
• AWS ECS
• Demo
• Perguntas
Monolito vs. Micro-serviços
Monolito vs. Micro-serviços
Micro-serviços
• Pequenos
• Deployment interdependente
• Independente de tecnologia
• Infra-estrutura separada
"Small independent component with well-
defined boundaries that’s doing one thing, but
doing it well"
Manifesto Reativo
Micro-serviços
• Principais desafios
• Configuração centralizada
• Registro e descoberta de serviços
• Roteamento de serviços
• Balanceamento de carga
• Tolerância à falhas
• Monitoramento
• Segurança
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
• API
• Routing / Health check
• Microservices
• Logging
• Data Management
• Eureka
• Hystrix + Turbine
• Ribbon
• Zuul
• + alguns outros…
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
Spring Cloud
• Conjunto de bibliotecas / componentes
• Não é apenas uma ferramenta
• Integrado ao Spring Boot
• Suporta diferentes arquiteturas e tecnologias em Cloud
• AWS, Netflix, Heroku, Cloud Foundry, etc
• Facilita a implementação de padrões necessários aos
sistemas distribuídos
“Toolset designed for building distributed systems”
Spring Cloud
• Principais Componentes
Spring BootSpring Cloud
Spring Cloud + Netflix OSS
Spring Cloud + Netflix OSS
“Casamento perfeito para criação de micro-
serviços resilientes“
Gerenciamento de Configuração Spring Cloud Config + Bus
Descoberta de Serviços Netflix Eureka
Balanceamento de Carga Netflix Ribbon
Circuit Breaker Netflix Hystrix + Turbine
Proxy Server Netflix Zuul
Segurança Spring Cloud Security
Spring Cloud Config
Netflix Eureka
Netflix Ribbon
Netflix Hystrix
• Circuit Breaker Pattern
Hystrix Dashboard
Netflix Zuul
Spring Cloud Security
Discovery	
Client
Relying Party
Resource
Server
Get an access token
& an ID Token (JWT)
Use an access token
Authorization
Server
Iden.ty	Provider	or	
IDP	or		
OpenID	Provider	or	
OP	
	
	
Authorization
Endpoint
Token
Endpoint
Important Stuff
Userinfo
Endpoint
Registration
Endpoint
JWKS
Endpoint
JWKS
Endpoint
Validate
(JWT)
ID Token
/.well-known	
/webfinger	
/openid-configura.on
Check Session IFrame
End Session Endpoint
ALM
DevOps
Lifecycle
Ferramentas
Deployment
Deployment
Monolito Micro-serviço
Deployment vs Environments
• Múltiplos ambientes diferentes de execução
Auto Scaling
• Capacidade de aumentar e diminuir a escalabilidade
automaticamente
Orquestração
• Gerenciamento da comunicação dos serviços em containers
diferentes
Docker
Docker engine Docker Hub
“Open platform for building, shipping
and running distributed applications"
Containers vs Virtualization
Virtualization Container
• Minutos para iniciar uma VM, e… segundos para iniciar
um container
Docker
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
AWS ECS
“highly scalable, high performance container
management service that supports Docker
containers"
AWS ECS
AWS ECS
DevOps + Jenkins + ECS
Demo
• Microservices + DevOps
• https://github.com/rcandidosilva/spring-cloud-sample
Conclusões
• Arquitetura de micro-serviços é complexa
• Práticas de DevOps são essenciais
• Containers são ótimas alternativas para micro-serviços
• Containers necessitam de orquestração
• Cloud oferece boas soluções para orquestração
• Enjoy it ;)
Perguntas
?
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
Iniciativas
• Eventos mensais
• Blogging
• Redes sociais
• Listas de discussão
• Organização de eventos
• Projetos open source
• etc…
Como Colaborar
• Site
• http://www.gujavasc.org
• Twitter
• http://twitter.com/gujavasc
• Github
• http://github.com/gujavasc
• Facebook
• http://facebook.com/gujavasc
• Slack
• https://gujavasc.herokuapp.com/
Referências
• http://projects.spring.io/spring-boot/
• http://projects.spring.io/spring-cloud/
• https://netflix.github.io/
• http://www.reactivemanifesto.org/
• http://www.docker.com/
• http://docs.docker.com/engine/swarm/
• http://jenkins.io/
• http://aws.amazon.com/ecs/
Muito Obrigado!
@rcandidosilva
rodrigocandido.me

Mais conteúdo relacionado

PDF
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
PDF
GUJavaSC - Combinando AngularJS com Java EE
PDF
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
PDF
TDC Floripa 2017 - Criando Microservices Reativos com Java
PDF
GUJavaSC - Protegendo Microservices em Java
PDF
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
PDF
QCon 2015 - Combinando AngularJS com Java EE
PDF
Workshop Microservices - Microservices com Spring Cloud e Netflix OSS
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
GUJavaSC - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
TDC Floripa 2017 - Criando Microservices Reativos com Java
GUJavaSC - Protegendo Microservices em Java
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon 2015 - Combinando AngularJS com Java EE
Workshop Microservices - Microservices com Spring Cloud e Netflix OSS

Mais procurados (20)

PDF
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
PDF
Workshop Microservices - Arquitetura Microservices
PDF
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
PDF
Workshop Microservices - Construindo APIs RESTful com Spring Boot
PDF
GUJavaSC - Mini-curso Java EE
PDF
Microservices
PDF
TDC 2015 - Segurança em Recursos RESTful com OAuth2
PDF
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
PDF
QCon SP 2016 - WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...
PDF
Protegendo Microservices: Boas Práticas e Estratégias de Implementação
PDF
Goldark - Microservices
PPTX
Reduza seu trabalho de gerenciamento do kubernetes tdc 2018 poa
PPTX
Microservices - ALM Roadshow 2015
PPTX
Azure Security Center - 120715 - PTBR-Final
PPTX
Conteineres no Microsoft Azure
PDF
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
PDF
As novidades da nova versão do Java 9
PPTX
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
PPTX
Introdução à computação na nuvem e Windows Azure
PDF
Integrando infraestruturas híbridas
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
Workshop Microservices - Arquitetura Microservices
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
Workshop Microservices - Construindo APIs RESTful com Spring Boot
GUJavaSC - Mini-curso Java EE
Microservices
TDC 2015 - Segurança em Recursos RESTful com OAuth2
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
QCon SP 2016 - WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...
Protegendo Microservices: Boas Práticas e Estratégias de Implementação
Goldark - Microservices
Reduza seu trabalho de gerenciamento do kubernetes tdc 2018 poa
Microservices - ALM Roadshow 2015
Azure Security Center - 120715 - PTBR-Final
Conteineres no Microsoft Azure
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
As novidades da nova versão do Java 9
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
Introdução à computação na nuvem e Windows Azure
Integrando infraestruturas híbridas
Anúncio

Semelhante a GUJavaSC - Combinando Micro-serviços com Práticas DevOps (20)

PPTX
Microservices com Spring Boot e Spring Cloud Netflix
PPTX
Microserviços - Universidade Metodista - EETI 2016
PPTX
Microservices
ODP
Microserviços com DevOps
PPTX
Microservices - Canal .NET Dev Weekend
PDF
Microsserviços com Spring Boot e Spring Cloud
PPTX
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
PDF
Desafios de implantar uma arquitetura de microservices
PPTX
Microservices
PPTX
Deep dive com Microserviços e Docker
PPTX
Spring cloud and netflix oss
PDF
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
PPTX
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
PPTX
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
PDF
O desafio de sustentar centenas de servicos
PDF
12 Factor App Docker na Cloud e outras buzzwords
PDF
Quebrando o monolito com microserviços - TDC 2017
PDF
Introdução a Microservices com Node.JS
PPTX
Architecture performance using micro services
PDF
Transformando a ti com cloud computing e virtualização
Microservices com Spring Boot e Spring Cloud Netflix
Microserviços - Universidade Metodista - EETI 2016
Microservices
Microserviços com DevOps
Microservices - Canal .NET Dev Weekend
Microsserviços com Spring Boot e Spring Cloud
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Desafios de implantar uma arquitetura de microservices
Microservices
Deep dive com Microserviços e Docker
Spring cloud and netflix oss
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
O desafio de sustentar centenas de servicos
12 Factor App Docker na Cloud e outras buzzwords
Quebrando o monolito com microserviços - TDC 2017
Introdução a Microservices com Node.JS
Architecture performance using micro services
Transformando a ti com cloud computing e virtualização
Anúncio

Mais de Rodrigo Cândido da Silva (13)

PDF
Java 9, 10 e ... 11
PDF
Cloud Native Java EE
PDF
Protecting Java Microservices: Best Practices and Strategies
PDF
GUJavaSC - Criando Micro-serviços Reativos com Java
PDF
JavaOne 2016 - Reactive Microservices with Java and Java EE
PDF
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...
PDF
ConFoo 2015 - Supporting Multi-tenancy Applications with Java EE
PDF
ConFoo 2015 - Securing RESTful resources with OAuth2
PDF
GUJavaSC - Unit Testing com Java EE
PDF
JavaOne 2014 - Securing RESTful Resources with OAuth2
PDF
JavaOne 2014 - Supporting Multi-tenancy Applications with Java EE
PDF
Suportando Aplicações Multi-tenancy com Java EE
PDF
Batch Processing - Processamento em Lotes no Mundo Corporativo
Java 9, 10 e ... 11
Cloud Native Java EE
Protecting Java Microservices: Best Practices and Strategies
GUJavaSC - Criando Micro-serviços Reativos com Java
JavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...
ConFoo 2015 - Supporting Multi-tenancy Applications with Java EE
ConFoo 2015 - Securing RESTful resources with OAuth2
GUJavaSC - Unit Testing com Java EE
JavaOne 2014 - Securing RESTful Resources with OAuth2
JavaOne 2014 - Supporting Multi-tenancy Applications with Java EE
Suportando Aplicações Multi-tenancy com Java EE
Batch Processing - Processamento em Lotes no Mundo Corporativo

Último (20)

PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
SISTEMA DE INFORMAÇÃO EM SAÚDE_UEPA.pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PPTX
Émile Durkheim slide elaborado muito bom
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Aula sobre banco de dados com firebase db
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PPTX
Sistemas de Teconologias da Informação em Saúde.pptx
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PDF
tutor eletronico para seguranca de bebes e criancas
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Aula 18 - Manipulacao De Arquivos python
Apple Pippin Uma breve introdução. - David Glotz
SISTEMA DE INFORMAÇÃO EM SAÚDE_UEPA.pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Curso de Java 9 - (Threads) Multitarefas.pptx
Émile Durkheim slide elaborado muito bom
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Aula sobre banco de dados com firebase db
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Processos na gestão de transportes, TM100 Col18
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Sistemas de Teconologias da Informação em Saúde.pptx
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
tutor eletronico para seguranca de bebes e criancas
COBITxITIL-Entenda as diferença em uso governança TI
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx

GUJavaSC - Combinando Micro-serviços com Práticas DevOps