Dominance of Backend as a Service

Microserviços

À medida que os desenvolvedores passam a dar a devida importância aos conceitos de reaproveitamento de código e encapsulamento, a antiga abordagem tradicional monolítica para desenvolvimento de sistemas cai em desuso. Em contrapartida, as arquiteturas baseadas em serviços, denominadas Service Oriented Architecture ou SOA, ganham mais adeptos e vêm se mostrando mais adequadas diante de grande parte dos cenários corporativos e industriais.
Evoluindo ainda mais na construção da arquitetura orientada a serviços, chegamos aos Microserviços. O conceito por trás dessa abordagem é que cada pequeno conjunto de funcionalidades correlacionadas é controlado por um sistema. O funcionamento interno de cada sistema é isolado, sendo ele o único responsável por estabelecer e gerenciar os dados e inteligências envolvidas no processo de negócio por ele atendido. A ilustração a seguir retirada do site da MSDN (https://msdn.microsoft.com/en-us/magazine/mt595752.aspx) ilustra os dois cenários.

Dominance of Backend

Backend as a Service
Os sistemas, então, tendem a basear suas camadas de Backend em serviços publicados na rede, o que chamamos de Backend as a Service (BaaS). Um cenário muito comum no mundo corporativo e industrial é que várias aplicações precisem compartilhar, por exemplo, um módulo de autenticação e autorização baseado no usuário. Para isso, é criado um módulo (microserviço) que é responsável apenas pelo conjunto de funcionalidades e lógicas relacionadas ao login e permissões de acesso. Percebe-se que como ele é publicado de forma independente na nuvem, qualquer necessidade de manutenção, como escalabilidade de recursos ou a publicação de um novo release, é mais suave.
Continuous Integration (Integração contínua)
No mundo da tecnologia da informação, não é possível competir em alto nível sem a atualização constante das aplicações para atender às necessidades do mercado, que a todo instante tem suas atenções voltadas para uma nova direção. É desejo que a priorização de novos releases de um módulo não seja afetada por suas dependências. Nesse momento fica claro que a utilização do BaaS e Microservices favorece a simplificação do plano de implantação, porque permite que os deploys sejam feitos de forma independente. Dessa forma, a integração contínua, que é desejo ou já uma realidade das grandes empresas, é empregada com mais segurança e agilidade.

dti
A dti desenvolveu uma solução baseada em Microserviços para uma grande empresa no segmento corporativo na qual pequenos módulos expõem serviços específicos. Alguns exemplos desses módulos são:
⦁ Serviço para buscar endereço a partir de CEP e vice e versa.
⦁ Serviço para enviar SMS e E-mail.
⦁ Serviço para armazenar e consultar arquivos em um GED.
⦁ Serviço para gerar diferentes tipos de código de barras e QRCodes.
Outro contexto no qual a DTI utilizou BaaS e Microservices foi em um projeto de inovação. Para isolamento e escalabilidade dos recursos foi utilizado o produto Microsoft Azure e suas features de Virtual Machines (VM) e Containers. Através da ferramenta foi possível determinar quantas máquinas virtuais são alocadas para cada Microservice. Além disso, em alguns casos em que o processo demandava apenas uma fração de máquina virtual, foi possível estabelecer a configuração em containers, de forma que diferentes sistemas compartilhem uma mesma máquina virtual.

 

Por: André Mayer
Revisão: Dandara Chaves

Imagem: Freepik

Deixe um comentário