Microsserviços
7
min de leitura
4 de julho de 2017

O que os CIOs precisam saber sobre Microsserviços

Lucas Tempestini
Gerente Global de Marketing
Desenvolver estratégias de marketing e comunicação através de uma estratégia global muito complexa.
Mais sobre o autor
SENSEDIA - O que os CIOs precisam saber sobre Microservicos

Nos últimos anos o “hype” dos Microservices ganhou muita força, e não é para menos. Com "garotos propaganda" como a Amazon e o Netflix fica difícil argumentar contra. Mas o que os CIOs precisam saber sobre Microserviços?

Essas gigantes destruidoras de modelos de negócios “tradicionais” são os maiores cases de Arquiteturas Microservices, e convenhamos, elas deram MUITO certo, mas no fim das contas, o que significa tudo isso?

A Arquitetura de Microserviços (ou Microservices Architecture) é mais um design pattern para arquitetura de software. Ela consiste em diversos serviços independentes que executam funções de negócios específicas, e o acoplamento desses serviços deve ser feito através de um protocolo simples e leve, por isso RESTful APIs são normalmente o “go to” na hora de fazer essas integrações.

A vantagem de uma arquitetura assim é a possibilidade de separar cada “bloco” por valor entregue ao usuário. Isso leva a serviços bastante específicos e menores, facilitando a manutenção do software e adicionando flexibilidade, especialmente se comparado a sistemas monolíticos mais engessados.

Mas então, o que você precisa saber sobre Arquitetura Microservices antes de pular de cabeça?

Fora da prateleira

Como todas as práticas e modelos arquiteturais, Microservices também não é algo “comprável”, você não decide comprar numa loja uma solução pronta para o seu negócio e pronto, sua empresa já está rodando neste modelo.

É necessário entender o cenário e todos os detalhes do modelo para implementar algo assim, pois cada monolítico apresenta desafios diferentes e específicos, e isso ocorre até mesmo em cenários em que uma aplicação será criada do zero.

On-Premise ou Cloud? Eis a questão!

Uma das principais variáveis consideradas é a forma de deploy, a opção por Cloud ou On-Premise é crucial, já que um dos benefícios esperados nesse modelo é exatamente a velocidade de Deploy, para aplicações Cloud fica muito claro esse ganho, já situações On-Premise podem demandar uma infraestrutura diferente da atual e alguns esforços de coordenação desses Deploys.

O que me leva ao próximo ponto:

DevOps

Se você está falando de Deploy speed, você está falando de DevOps.

Um dos principais drivers de Microservices é a possibilidade de você ter as funcionalidades daquele “Microserviço” orientadas pelas demandas de negócio, e possibilitar que esse Microserviço seja experimentado, alterado e inovado na velocidade necessária para atender a essas demandas. E a melhor forma de garantir isso é através de DevOps e releases contínuos

Nova Organização: Nova organização

O título aí em cima não está errado não! 🙂

Adotar uma arquitetura de Microserviços impacta a arquitetura da Organização, mas também pode ter um impacto na organização das Equipes de TI, não aumentando nem reduzindo, mas especializando.

Algumas empresas, ao adotarem uma arquitetura assim, re-organizaram suas equipes para atender à demandas de negócio específicas, equipes altamente especializadas em alguns serviços. E os resultados surgem na forma de melhorias significativas de “time-to-market”, uma dedicação exclusiva ao valor entregue por aquele serviço específico e o aumento da autonomia e responsabilidades dessas equipes dentro de ambientes confinados.

Um bom exemplo de uma “reorganização” é a metodologia de “Squads” implementadas no Spotify, em que cada “Squad” possui pessoas de diferentes skills técnicos focadas em uma “Missão”, e essa missão normalmente é um serviço específico e eles são os especialistas que irão desenvolver esse serviço e resolver qualquer problema. A Cultura da Engenharia do Spotify tem ganho adeptos em diversos departamentos de P&D e TI, nesse link, eles contam um pouco sobre como eles implementaram neste link.

Em 2015 nós tivemos o Jamie Kirkpatrick do Spotify palestrando no APIX, um conteúdo espetacular sobre a equipe de desenvolvimento deles que você pode ver aqui.

Os microserviços precisam ser gerenciados

Uma das maneiras mais eficiente de suportar uma Arquitetura de Microserviços é utilizar uma plataforma de Gerenciamento de APIs, como a API Management Platform para comunicações Norte-Sul combinada com uma ferramenta de Service Mesh para as comunicações Leste-Oeste.

Uma plataforma como essas vai oferecer as funcionalidades necessárias para que as integrações entre seus microserviços e até seu Backend sejam gerenciadas e monitoradas. Além de oferecer segurança não só contra ataques direcionados a sua API mas também contra integrações que possam gerar uma sobrecarga na sua API. Outra feature importante para se considerar em uma plataforma como essas é a possibilidade de gerar métricas e indicadores das suas APIs, não só de “saúde” como de Negócios também.

Se você quiser falar com um especialista, preencha o formulário abaixo.

Obrigado pela leitura!