Uma das maiores investidoras em capital de risco do Vale do Silício apresenta um programa em seu Podcast sobre esse assunto.
Arquitetura de Microserviços - Microservices Architecture
A gente nota que o assunto Arquitetura de Microserviços começa a aparecer por todos os lados quando uma das maiores investidoras em capital de risco do Vale do Silício apresenta um programa em seu Podcast apenas sobre esse assunto.
Estou falando da A16Z, Andreessen e Horowitz, que é considerada junto com a Sequoia Capital e a Accel Partners umas das Top 3 do Vale do Silício. Desde quando investidores de risco entendem de Microserviços?
Pois bem, desde que os fundadores dessas empresas de investimento saíram de suas próprias empresas de tecnologia (por terem vendido por muito dinheiro) e criaram seus próprios fundos.
Vivemos na era de investidores experts em computação, muitas vezes mais experts que os fundadores de startups formados em universidades de primeira linha, startups essas que eles investem.
Basta ouvir o Podcast [1] para entender o significado simbólico. Arquitetura de Microserviços na área de software é um assunto considerado avançado entre arquitetos e engenheiros de software, e muito poucas empresas sabem do que se trata, menos ainda aplicam essa filosofia em seus sistemas de software. Apenas ouvir o Podcast, e entender o que eles falam, já é uma aula de especialização em informática.
Microserviços pode ser considerado, de uma maneira bem geral, como SOA de uma granulação mais fina (menores pedaços). Mas o que é SOA? É Service Oriented Architecture (Arquitetura Orientada a Serviços), que é uma forma de organizar o seus sistemas de software corporativos, orientados a serviços que o software oferece. SOA é uma tecnologia de mais de 10 anos, e usada em algumas grandes corporações.
A Visionnaire trabalha com isso há muitos anos. Na verdade podemos dizer que a Visionnaire nasceu nesse contexto.
Antes de SOA existiram os WebServices, e antes de WebServices existiam os "Objetos Distribuídos". Agora estamos falando de 20 anos atrás, exatamente a
idade da Visionnaire!
Microserviços é Objetos Distribuídos com Outro Nome?
Alguns críticos argumentam que Microserviços nada mais é do que a evolução de tecnologias já existentes do passado, mas com outro nome. Mas não é bem o caso. Existem sim semelhanças, que até do ponto de vista teórico são muitas (pois era nisso que se queria chegar no passado [2]), mas existem muitas diferenças também. Como comenta Adrian Cockcroft, que ajudou a Netflix na migração para uma Arquitetura de Microserviços que é hoje referência em todo o mundo [3], antes tínhamos muito menos capacidade de processamento e muito menores velocidades de redes, e queríamos passar tudo em grandes quantidades de dados por um protocolo baseado em XML. Tudo isso mudou e os Microserviços são uma realidade.
O termo Microserviços foi introduzido em 2005 [4] e tem o apoio de autores conhecidos na área de
software [5] e [6]. A filosofia é de que os serviços deveriam ser pequenos e os protocolos deveriam ser leves,
nesse tipo de arquitetura há uma divisão macro do software que é chamada de Arquitetura Hexagonal, onde
a aplicação núcleo fica no centro e todas as outras aplicações ficam ao redor do centro
se integrando via APIs (Application Programming Interfaces, ou Interfaces de Programação de Aplicação), como mostrado na figura a seguir.
A partir daí todas as outras aplicações se comunicam, umas com
as outras, de uma forma distribuída, escalável através de APIs que podem ser publicadas abertamente na Internet.
É justamente essa filosofia que fez com que empresas como Stripe (pagamentos para desenvolvedores) e Twilio (telefonia por API) pudessem vir a existir e valer bilhões na bolsa de valores nos dias de hoje.
E o Futuro?
Bom, o futuro em software corporativo é sim Microserviços. Na verdade já é o presente. Mas vemos coisas ainda mais desafiadoras como as Arquiteturas Microserviços "sem servidores" (Serverless Microservices) e o projeto AWS Lambda da Amazon [8]. Essa é uma forma do mundo corporativo correr mais rápido e pelo menos estar na mesma velocidade que as Startups que já começam com as novas tecnologias.
E a Visionnaire continua seguindo seu DNA, que é estar "além do seu tempo" [9], trazendo para seus clientes
o que está por vir no futuro do desenvolvimento de software, fazendo com que não sejam pegos de surpresa pelas
ondas tecnológicas, que sejam mais produtivos investindo menos recursos e que estejam, também, na frente de
seus competidores.
Sergio Mainetti Jr. é Diretor e Co-fundador da Visionnaire.
Lista de Referências
[1] a16z Podcast: All about Microservices.
[2] The Essential Distributed Objects Survival Guide.
[3] Netflix Open Source Software
Center.
[4] Wikipedia – Microservices.
[5] Microservices –
A definition of this new architectural term.
[6] Pattern: Microservices Architecture.
[7] Introduction to Microservices.
[8] Microservices without the Servers.
[9] Visão,
Missão e Valores da Visionnaire.