Arquitetura Micro Serviços: como isso pode ajudar sua empresa (Parte 1)?

Atualmente a grande maioria das aplicações rodando em ambiente produtivo são de arquitetura monolítica e n-camadas e isso não é o que melhor se enquadra no modelo de sistemas baseados na nuvem (Cloud-based systems). O mundo dos negócios exige hoje agilidade e flexibilidade para enfrentar a inovação e as ações dos competidores. Cada vez mais empresas estão procurando um modo simples e rápido de mover os seus sistemas legados para a nuvem. No entanto a arquitetura monolítica está dificultando este processo.

Neste artigo iremos discutir alguns problemas da arquitetura monolítica e porque precisamos de uma arquitetura diferente para maximizar e otimizar os investimentos na nuvem. Vamos discutir também porque a arquitetura de micro serviços é a melhor escolha para este novo cenário.

Por que sistemas monolíticos não são ideais para a nuvem?

Quando um gestor pensa em migrar para a nuvem ele geralmente está buscando algum destes três objetivos:

  • Redução de custos;
  • Maior agilidade na gestão da infraestrutura de sistemas;
  • Aumento da velocidade no lançamento de novas versões dos sistemas.

Destes três vou destacar o último. O aumento da velocidade de lançamento de novas versões é uma parte importante da presença digital para as empresas que estão buscando diferenciação e serem disruptivas no mercado em que atuam. Para alcançar a tão falada transformação digital elas precisam fazer mudanças rápidas e ajustes em seus sistemas assim que recebem feedbacks de seus clientes e/ou indicadores de mercado. Falhar rápido e corrigir rápido são conceitos que precisam ser incluídos na cultura das organizações. Assim os sistemas precisam ser fáceis de serem alterados, escaláveis e atualizados em uma velocidade muito maior. Vamos examinar então porque os sistemas monolíticos estão travando este processo.

O que é um sistema monolítico?

Uma aplicação monolítica é desenvolvida em uma única unidade publicável. Exemplo: Um único arquivo WAR no Java, um conjunto de arquivos de um WebApp/Web Site MVC em .NET. Eles geralmente são construídos em três camadas: um banco de dados (que consiste em várias tabelas dentro de um sistema de gerenciamento de banco de dados – MS Sql Server, Oracle, Postgres, MySQL etc..), um front-end ou interface cliente (consiste em páginas HTML e/ou JavaScript rodando pelo Browser) e uma aplicação server-side ou Backend. Esta última recebe requisições HTTP, executa algum tipo de lógica de negócios efetuando buscas, atualizações e inserções no banco de dados conforme necessidade e gera ao final as páginas HTML para serem enviadas ao browser do cliente. O sistema monolítico geralmente é desenvolvido seguindo os princípios de orientação a objeto e devido a complexidade das regras de negócio geralmente há uma profunda hierarquia de classes e muitas interdependências entre elas.

Gostou? Agora que você já conheceu um pouco do conceito do sistema monolítico, vamos entender quais os principais pontos que estão travando a migração para a nuvem no próximo artigo.

1 comentário
  • Alisson Freitas
    Posted at 01:16h, 22 dezembro Responder

    Exatamente o que as empresas estão procurando.

Publique um comentário