Entenda o que é e quais são as suas vantagens
Antigamente softwares eram desenvolvidos dentro de um único pacote, hoje, com a evolução das tecnologias, principalmente, de virtualização e cloud, começou a surgir o conceito de microsserviços, que é dividir a aplicação em vários pequenos módulos com uma funcionalidade e propósito específicos.
Então, começou a se pensar os aplicativos em serviços menores e bastante focados, daí o nome “microsserviços”. Isso começou a ser pensado, pois, havia uma parte da aplicação que demandava um grande poder de processamento e uma outra que demandava pouco poder, no entanto, quando a que demandava muito poder estava executando, toda a parte a aplicação ficava lenta. Dessa maneira, quebrando em pedaços, é possível, inclusive, distribuir em servidores separados e cada tipo de processamento fica alocado em um servidor que comporte seu poder de processamento. Por exemplo, em um software de CRM, toda a parte de cadastro terá uma aplicação especifica e terá uma outra aplicação para enviar os e-mails para o malling.
Com o tempo, algumas tecnologias surgiram a fim de implementar isso de maneira mais fácil, como o Docker, que é um contêiner, que dentro dele tem tudo que é preciso para uma aplicação rodar. A vantagem é que é possível utilizar os contêineres tanto em ambientes de desenvolvimento quanto em produção.
Arquitetura
Também existe o Kubernetes, que é uma plataforma open source que automatiza as operações dos containers. Essa plataforma elimina grande parte dos processos manuais necessários para implantar e escalar as aplicações em containers, além de ser responsável por disponibilizar novos contêineres para a aplicação.
Hoje, todas os serviços de nuvens acabam tendo algum tipo de contêiner. A Amazon é a pioneira e líder de mercado desse serviço e a Oracle está entrando nesse segmento. As Startups e empresas que usam softwares como serviço estão partindo para utilizar essa arquitetura.
Vantagens
Entre as vantagens dessa arquitetura estão:
- Organizar a aplicação de vários serviços pequenos, onde será possível ter funções especificas e um consumo de processamento e de memória diferente em cada serviço. Por exemplo: se uma empresa desenvolveu uma aplicação, começa a crescer e seu servidor passa a não suportar mais, é possível duplicar o Docker e criar um novo servidor. Dessa forma, facilita muito o crescimento das aplicações. Hoje, as empresas que trabalham com “softwares como serviço”, estão usando esse tipo de arquitetura, pois assim elas conseguem lidar muito melhor com a carga de acesso;
- Alocar mais recursos para cada microsserviço de acordo com a sazonalidade e usuários que irão consumir aqueles microsserviços, o que irá gerar economia financeira. Por exemplo: Para um servidor que faz folhas de pagamento, é possível que, somente no dia do mês em que as folhas de pagamento são rodadas, colocar ele em vários contêineres e ter um custo maior, mas nos outros dias do mês reduzir esses contêineres e ter um custo menor. Ou por exemplo, um contêiner que não precisa rodar no período da noite, mas só durante o dia.
Harpo
É preciso entender qual a real demanda do cliente. Apenas utilizar a arquitetura de microsserviços não será suficiente para garantir sua qualidade, é preciso organizar corretamente a arquitetura de alocação dos microsserviços para que, dessa forma, proporcione economia e escalabilidade. Por isso, a Harpo ajuda a organizar a arquitetura na nuvem e estruturar de uma maneira que realmente os recursos sejam bem aproveitados. Além disso, é possível estabelecer e mensurar metas financeiras de gastos e, assim, manter o orçamento sob controle. A Harpo também atua monitorando o serviço e o quanto de capacidade está sendo utilizada para prever indicadores de negócios e ajudar a definir o orçamento disponível.