aplicação da arquitetura de micro serviços em softwares corporativos
TRANSCRIPT
Aplicação da arquitetura de micro serviços em softwares corporativos
Emmanuel Neri de SouzaDr. Sebastião Ribeiro Junior
Dr. Rodrigo Clemente Thom de Souza
2
Agenda
• Introdução• Objetivo• Fundamentação Teórica• Estado da Arte
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 – GTT
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
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)
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
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
07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
8
Arquitetura monolítica
07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Fowler, Martin (2014)
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
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
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
07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
12
Arquitetura de micro serviços
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)
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
07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
15
Estado da Arte
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 [email protected]
07/11/2015 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT