Dominance of Backend as a Service

Por dti digital|
Atualizado: Jul 2023 |
Publicado: Jan 2016

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

Quer saber mais?

Desenvolvimento de Software

Confira outros artigos

WhatsApp Business na sua estratégia: muito além de um chatbot

Podemos dizer adeus a conversas monótonas com chatbots limitados e sem personalidade. Daqui em diante, veremos interfaces conversacionais oferecendo experiências digitais cada vez mais sofisticadas. Em outro artigo, abordamos como mais experiências estão sendo convertidas, progressivamente, em conversas e como essa tendência é potencializada pelos avanços nos modelos de Inteligência Artificial e nos canais de […]

Desenvolvimento de Software

inteligencia-artificial-ia-como-otimizacao-para-grandes-empresas

A Inteligência Artificial (IA) e otimização operacional nas empresas

Sumário1 Como a Inteligência Artificial (IA) pode otimizar operações empresariais e aumentar a eficiência? Descubra aqui!  2 Automatização de tarefas repetitivas e demoradas 2.1 Exemplos de IA para economia de tempo2.2 10 exemplos de como utilizar a Inteligência Artificial (IA) para automatizar tarefas repetitivas e/ou demoradas: 3 Melhoria da eficiência e redução de custos com Inteligência Artificial (IA)3.1 […]

Desenvolvimento de Software

Desenvolvimento Android e iOS

Desenvolvimento Android x iOS: 10 recomendações para o desenvolvimento produtivo

Entre agosto de 2022 e junho de 2023, o mercado de aplicativos móveis experimentou um crescimento notável, projetando um aumento anual de 13,4% até 2030, alcançando um mercado estimado em US$ 187,58 bilhões. E, certamente, a tendência é que essa expansão continue exponencialmente nos próximos anos.  Portanto, agora é a hora de explorar as oportunidades […]

Desenvolvimento de Software

Veja outros artigos de Desenvolvimento de Software