SaaS Factory (A serie) · Parte 2 de 4
SaaS Factory (A série) — Entendendo a arquitetura do SaaS Factory (Parte 2/4)
O objetivo deste post é fornecer uma introdução às terminologias, estratégias e padrões básicos que são aplicados ao criar produtos SaaS…
Palavras-chave

O objetivo deste post é fornecer uma introdução às terminologias, estratégias e padrões básicos que são aplicados ao criar produtos SaaS na AWS. Este material apresenta um modelo mental que pode ser usado para mergulhar mais profundamente no conteúdo técnico de SaaS.
No post anterior, falamos sobre: A estrutura geral de Software como Serviço, O modelo mental do Multi Tenancy e o que vemos na prática em Multi Tenancy. No post de hoje, falaremos sobre Os benefícios e adversidades de cada modelo e Software como Serviço entregue com Agilidade.
Os benefícios e adversidades de cada modelo
Os aplicativos SaaS podem ser construídos com uma variedade de modelos arquiteturais diferentes. Considerações regulatórias, competitivas, estratégicas, de eficiência de custos e de mercado têm alguma influência no formato de sua arquitetura SaaS. Ao mesmo tempo, existem estratégias e padrões que são aplicados ao definir a pegada de um aplicativo SaaS. Esses padrões se enquadram em uma das três categorias — Silo, Bridge e Pool.

Silo Model
Prós
- Alinhamento de compliance;
- Ambientes particionados;
- Ausência de impactos entre locatários;
- Melhorias em locatários específicos;
- Disponibilidade em nível de locatário.
Contras
- Custos;
- Agilidade comprometida;
- Complexidade de gestão;
- Desafios de implantação;
- Agregação de análises e métricas.
Pool Model
Prós
- Agilidade;
- Otimização de custos;
- Gestão centralizada;
- Implantação simplificada;
- Agregação de análises e métricas.
Contras
- Impactos entre locatários;
- Desafios de compliance;
- “Tudo ou nada” em disponibilidade.
Software como Serviço entregue com Agilidade

Um dos principais — senão o principal — objetivo buscado por uma abordagem de Software como Serviço, é a agilidade. Dado o fato de que os componentes habitualmente necessários para a execução de uma carga de trabalho de software — infraestrutura, início das operações, evolução tecnológica, entre outros — são abstraídos pelo modelo, a agilidade é algo que SaaS deve sempre buscar.
SaaS demanda que a agilidade seja sempre verificada, especialmente no que tange:
- Adesão sem fricções;
- Lançamentos frequentes de novas funcionalidades;
- Rápida resposta ao mercado;
- Feedback constante dos clientes.
Agilidade = Métricas

Conforme definiu o engenheiro e estatístico americano William Edwards Deming, “Não se gerencia o que não se mede, não se mede o que não se define, não se define o que não se entende, e não há sucesso no que não se gerencia.”
Em SaaS, dado o inerente contexto multilocatário, é fundamental que haja uma gestão adequada de métricas e indicadores. Alguns dos principais pontos analisados são:
- Utilização;
- Consumo;
- Saúde do sistema ou do locatário;
- Satisfação do cliente;
- Engajamento do cliente.
Tais métricas são habilitadores de análises que beneficiam o gerenciamento integrado do contexto de SaaS, com informações como:
- KPIs e métricas de Sucesso;
- Avisos antecipados;
- Notificação aos clientes;
- Análise de causa raiz.
Aumentando a barra do DevOps

DevOps (contração de development e operations), é uma cultura na engenharia de software que aproxima os desenvolvedores de software (Dev) e os operadores do software / administradores do sistema (Ops).
Observa-se que no contexto de SaaS, DevOps cobre os aspectos de desenvolvimento e operações, entretanto, há também o desafio de como integrar essas disciplinas a visão de negócios, e, principalmente, garantir que os processos e ferramentas de DevOps habilitem as premissas estabelecidas em SaaS.
SaaS e Microsserviços

Como apresentado anteriormente, em SaaS a agilidade é o principal objetivo buscado. O lançamento constante de novas funcionalidades precisa ser garantido, principalmente considerando as premissas de não impactar outros recursos do software, ou mesmo, o impacto entre locatários.
Para isso, um grande habilitador é a adoção de arquiteturas de software orientadas a microsserviços. Microsserviços é uma maneira particular de desenvolver aplicações de maneira que cada módulo do software é um serviço standalone cujo deploy e escala acontecem de maneira independentes da “aplicação principal”.
Uma etapa importante na definição de uma arquitetura de microsserviço é descobrir o tamanho de um microsserviço individual. Não há consenso ou teste decisivo para isso, pois a resposta certa depende do contexto. Por exemplo, a Amazon é famosa por usar uma arquitetura orientada a serviços, onde um serviço geralmente mapeia 1:1 com uma equipe de 3 a 10 engenheiros.
Dentre os benefícios de adotar uma arquitetura baseada em microsserviços, temos:
- Modularidade: Isso torna o aplicativo mais fácil de entender, desenvolver e testar;
- Escalabilidade: como os microsserviços são implementados e implantados independentemente uns dos outros, ou seja, são executados em processos independentes, eles podem ser monitorados e escalados independentemente;
- Integração de sistemas heterogêneos e legados: os microsserviços são considerados um meio viável para modernizar o aplicativo de software monolítico existente;
- Desenvolvimento distribuído: paraleliza o desenvolvimento ao permitir que pequenas equipes autônomas desenvolvam, implantem e escalem seus respectivos serviços de forma independente.
Integrando Tecnologia e Negócios

Como diz o velho ditado, “Você nunca tem uma segunda chance de causar uma primeira impressão”. A confiança do cliente é conquistada com dificuldade e facilmente perdida. A arquitetura adequada de um produto escalonável e seguro baseado em SaaS é tão importante quanto o desenvolvimento de recursos e as vendas. Para isso, a integração entre Tecnologia e Negócios é fundamental.
O modelo de SaaS entrega diferentes benefícios no que se refere a tecnologia e operações, tais como: automação, escalabilidade, disponibilidade e otimização. Tal qual, SaaS também habilita benefícios direto à camada de negócios, como: flexibilidade, precificação baseada em níveis, sucesso dos clientes, resposta do mercado.
No próximo post, falaremos sobre Operações de Software como Serviço.
SaaS Factory (A série) — Como construir soluções de Software como Serviço na AWS
Até lá! =)
Comentários
Todo comentário passa por moderação antes de aparecer aqui. Nada é publicado automaticamente.
Carregando…