2. Objetivo
O que são Microservices
Características do Microservices
Os princípios dos Microservices
Vantagens
Desvantagens
Microservice é o futuro?
Referências
Q&A
Agenda
4. Flávio Secchieri Mariotti
Mestrando em Engenharia da Computação com ênfase em Engenharia de Software pelo IPT/USP. Pós-Graduado pelo
Instituto Brasileiro de Tecnologia Avançada IBTA em Engenharia de Software baseado em SOA. Bacharel em Sistemas
de Informação pela UNIUBE e Técnico em Processamento de Dados pelo UniFeb.
Brazil Architecture Manager na CSC - Computer Sciences Corporation, Professor Universitário, Articulista, Palestrante
e Consultor especializado em desenvolvimento de software orientado em arquiteturas OO, SOA, GIS, Mobile, Cloud
Computing com tecnologia Microsoft. Profissional Certificado ITIL, PSM e MCP.
Professor de Pós-Graduação na FIAP a mais de 5 anos das disciplinas: SOA, Cloud Computing (Azure), Windows
Phone e Arquitetura de Soluções (TOGAF).
https://br.linkedin.com/in/flaviomariotti
@FlavioSMariotti
fmariotti@csc.com / flavio.mariotti@outlook.com
6. novo paradigma para arquitetura de software. Um novo estilo de
arquitetura de software que propõe uma nova abordagem
arquitetural, visando reduzir acoplamento e aumentar a
flexibilidade do sistema, facilitando, assim as adequações
requeridas em um cenário cada vez mais complexo de aplicações
compostas por vários elementos, tais como: APIs, processos
independentes de comunicação, ecossistema
heterogêneo e tecnologia agnóstico.
Objetivo
Entender...
7. SOA vs Microservices
De novo esse papo
de flexibilidade,
desacoplamento e
serviços, já vi isso
tudo em SOA...
9. Definição
O que é SOA?
SOA é um estilo arquitetural que diminui o acoplamento, aumenta a
flexibilidade e torna a interoperabilidade e troca de mensagens entre
sistemas mais simples.
Por que existem diversas definições de SOA?
Explicar o que é SOA para um CEO é diferente de explicar o que é
SOA à um programador.
11. Services
Serviços representam um processo, atividade ou tarefa de negócio
transformados em componentes de software de alto nível. Se compõe com a
aplicação de princípios do service-orientation e unidades lógicas que podem
existir como objetos, componentes, web-services, ou serviços REST.
Princípios:
Serviços são reutilizáveis
Serviços compartilham um contrato formal
Serviços possuem baixo acoplamento
Serviços abstraem a lógica
Serviços são capazes de se compor
Serviços são autônomos
Serviços devem possuir a capacidade de serem descobertos
12. Services
Serviços representam um processo, atividade ou tarefa de negócio
transformados em componentes de software de alto nível. Se compõe com a
aplicação de princípios do service-orientation e unidades lógicas que podem
existir como objetos, componentes, web-services, ou serviços REST.
Princípios:
Serviços são reutilizáveis
Serviços compartilham um contrato formal
Serviços possuem baixo acoplamento
Serviços abstraem a lógica
Serviços são capazes de se compor
Serviços são autônomos
Serviços devem possuir a capacidade de serem descobertos
Para Microservices
vamos nos
concentrar nesse
princípio...
13. Sendo assim...
podemos dizer que
Microservice
é uma forma de projetar
serviços em uma arquitetura
orientada a serviços
SOA
14. Diferenças significativas existem...
ESBs usado para integrar
aplicações monolíticas
Modelos de governança
centralizada
ESBs (API Gateway)
independentes
Modelos de governança
descentralizadaSOA
Microservices
PORÉMMMM!!!!!
16. O que são Microservices?
Deixa essa comigo!!! Eu sei...
Microservice é um serviço pequeno
17. Definição
Microservices são um novo estilo arquitetural que propõe uma abordagem de
desenvolvimento de sistemas compostas por um conjunto de pequenos serviços…
18. Ufa!! Ainda
bem que ele
perguntou...
Acho que entendi..
Mas, como saber se
o serviço está
pequeno?
19. How Big
Microservices deve ser grande o suficiente para ter uma funcionalidade bem
definida, e pequeno o suficiente para ser independente…
21. Características de Arquitetura Monolítica
Any organization that designs a system (defined broadly) will produce a design
whose structure is a copy of the organization's communication structure.
-- Melvyn Conway, 1967
23. Características de Arquitetura Microservices
Componetizado por serviços
Organizado em torno de capacidades de negócios
São produtos não projetos
Pontos de conectividade mais inteligentes
Governança descentralizada
Gestão de dados descentralizados
Automação de infra-estrutura (DevOps Skills)
Projetado para o fracasso
30. Vantagens
Alinhamento organizacional
Facilidade para liberação de novas funcionalidades
Escalabilidade independente / Mais flexibilidade
Facilidade para se concentrar nas questões de segurança
Escolha da tecnologia mais adequada
31. Será???
Sabia que valeria apena
conhecer esse tal de
Microservices...
Só Vantagens
Microservices isn’t a free lunch!!!
32. Desvantagens
Serviços poliglotas, requer desenvolvedores poliglotas
Leva tempo para chegar lá
Testes são mais complexos
Replicação de dados e regras
Transações
Gestão de configuração e versionamento
Log das aplicações
36. “While our experiences so far are positive compared to monolithic applications, we're
conscious of the fact that not enough time has passed for us to make a full judgement.”
-- James Lewis and Martin Fowler
38. Referências
Livros, Blogs, Frameworks, e mais...
Microservices is SOA?
https://dmitrio.wordpress.com/2014/05/25/microservices-is-soa/Scrum.org
Microservices
http://martinfowler.com/articles/microservices.html
The principles of Microservices
O’Reilly Conference with Sam Newman
40. Dúvidas
Q&A
Isso vai cair na prova?
zzzzZZZ What? Já terminou?
Qual o nome dele mesmo?
Ele disse micro ou macro?
Cara, na boa, Microservices e SOA são iguais!!!
Afff, Deveria ter ido na palestra do lado....
Quem tá com fome?
Não entendi NADA!!!