Aplicação da arquitetura de micro serviços em softwares corporativos
1. Aplicação da arquitetura
de micro serviços em
softwares corporativos
Emmanuel Neri de Souza
Dr. Sebastião Ribeiro Junior
Dr. Rodrigo Clemente Thom de Souza
2. Agenda
• Introdução
• Objetivo
• Fundamentação Teórica
• Estado da Arte
2 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
3. Introdução
• Aumento da informatização proporcionando
um crescimento na abrangência dos softwares
• Adoção a mobilidade dos softwares
• Surgimento de novos modelos de negócios,
baseados em computação em nuvem e
soluções Software as a Service(SaaS)
07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT3
4. Objetivo
• Redução do tamanho dos projetos de
software
• Redução do acomplamento e aumento
de flexibilidade
• A necessidade de escalar os softwares
• Redução do tempo de deploy e
downtime total da aplicação
4 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
5. Softwares Corporativos
• São aqueles que automatizam processos de
natureza administrativa, financeira, contábil e
outros relacionados a gestão empresarial
• “Complexidades voltada a expressivo volume
de dados, grande número de usuários e
extensa quantidade de linhas de códigos.”
Fowler, Martin(2008)
5 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
6. Arquitetura de Software
• Edsger Dijkstra em 1968 e David Parnas
no início de 1970
• Trata-se da estrutura do software
• Caracteriza os pontos positivos e
negativos softwares
6 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
7. Arquitetura monolítica
• “Quando uma aplicação é construída em
uma grande e única unidade.”
D.I. Savchenko, G.I. Radchenko, O. Taipale(2015)
• Software composto por um conjunto de
funcionalidades em uma única estrutura
• O modelo de arquitetura mais comum no
desenvolvimento de software
7 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
9. Arquitetura monolítica
• Composto por múltiplos módulos em
apenas uma estrutura
• O software é executado em uma única
instância
• Permite ser escalado apenas em
horizontal
• Restrito a uma tecnologia
9 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
10. Arquitetura Orientada a
Serviços(SOA)
• Service Oriented Architectures, Roy
Schulte e Yefim Natis(1996)
• A adoção do mercado em 2008 na
integração de sistemas
• Serviço independente que possui uma
interface definida para realizar a
comunicação entre sistemas
10 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
11. Arquitetura de micro serviços
• “Um conjunto de serviços pequenos,
autônomos que trabalham em conjunto.”
Newman, Sam (2015)
• Software modularizado em pequenos
serviços que se comunicam por através
de uma forma padronizada
11 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
12. Arquitetura de micro serviços
12 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Fowler, Martin (2014)
13. Diferença de SOA
“Micro serviços são parecidos a
SOA(Arquitetura Orientada a Serviços),
porém SOA é algo muito maior”.
Fowler, Martin (2014)
13 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
14. Características de micro serviços
• Serviços pequenos
• Serviços autônomos
Pode ser executado em uma ou mais
instâncias
Deploys independentes entre os serviços
• Interface de comunicação padronizada
Independência de tecnologia
• Permite ser escalado horizontal e vertical
14 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
15. Estado da Arte
15 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Linha do tempo arquitetura de micro serviços – Souza, Emmanuel(2015)
16. OBRIGADO
Emmanuel Neri de Souza
emmanuelnerisouza@gmail.com
16 07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT