40
Microservices Flávio Secchieri Mariotti Enterprise Architect Setembro, 2015

Microservices

Embed Size (px)

Citation preview

Page 1: Microservices

MicroservicesFlávio Secchieri Mariotti

Enterprise ArchitectSetembro, 2015

Page 2: Microservices

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

Page 3: Microservices

Beleza, mas quem é você...

Page 4: Microservices

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

[email protected] / [email protected]

Page 5: Microservices

Que horas vamos falar sobre

Microservices...

Page 6: Microservices

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...

Page 7: Microservices

SOA vs Microservices

De novo esse papo

de flexibilidade,

desacoplamento e

serviços, já vi isso

tudo em SOA...

Page 8: Microservices

Um pouco de contexto sobre

SOA

Page 9: Microservices

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.

Page 10: Microservices

Arquitetura Orientada a Serviços

Page 11: Microservices

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

Page 12: Microservices

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...

Page 13: Microservices

Sendo assim...

podemos dizer que

Microserviceé uma forma de projetar

serviços em uma arquitetura

orientada a serviços

SOA

Page 14: Microservices

Diferenças significativas existem...

ESBs usado para integrar

aplicações monolíticas

Modelos de governança

centralizadaESBs (API Gateway)

independentes

Modelos de governança

descentralizadaSOA

Microservices

PORÉMMMM!!!!!

Page 15: Microservices

Um pouco de contexto sobre

Microservices

Page 16: Microservices

O que são Microservices?

Deixa essa comigo!!! Eu sei...

Microservice é um serviço pequeno

Page 17: Microservices

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…

Page 18: Microservices

Ufa!! Ainda

bem que ele

perguntou...

Acho que entendi..

Mas, como saber se

o serviço está

pequeno?

Page 19: Microservices

How Big

Microservices deve ser grande o suficiente para ter uma funcionalidade bem

definida, e pequeno o suficiente para ser independente…

Page 20: Microservices

Mas, afinal... Como fazemos hoje?

Page 21: Microservices

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

Page 22: Microservices

Características de Arquitetura Monolítica

Dificuldades para

escalar…

Page 23: Microservices

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

Page 24: Microservices

Características de Arquitetura Microservices

Componetizado por serviços

Page 25: Microservices

Características de Arquitetura Microservices

Organizado em torno de capacidades de negócios

Page 26: Microservices

Características de Arquitetura Microservices

Gestão de dados descentralizados

Mais facilidade para

escalar…

Page 27: Microservices

Características de Arquitetura Microservices

Automação de infra-estrutura (DevOps Skills)

Page 28: Microservices

Características de Arquitetura Microservices

Projetado para o fracasso

Page 29: Microservices

Por que devo utilizar?

Page 30: Microservices

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

Page 31: Microservices

Será???

Sabia que valeria apena

conhecer esse tal de

Microservices...

Só Vantagens

Microservices isn’t a free lunch!!!

Page 32: Microservices

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

Page 33: Microservices

Quem já está utilizando?

Page 34: Microservices
Page 35: Microservices

Então é isso... Microservice é melhor que monolítico?

Page 36: Microservices

“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

Page 37: Microservices

Referências

Page 38: Microservices

ReferênciasLivros, 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

Page 39: Microservices

Q&A

Page 40: Microservices

DúvidasQ&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!!!