Cargas de trabalho de SaaS do Azure Well-Architected
Criar e operar software como serviço (SaaS) no Microsoft Azure requer uma abordagem diferente em comparação com outros tipos de software. Os fornecedores independentes de software (ISVs) têm uma posição única no ecossistema de nuvem porque suas soluções SaaS impulsionam seus negócios. Eles vendem seus produtos para empresas, também conhecidas como business-to-business (B2B), ou para consumidores, também conhecidos como business-to-consumer (B2C). Os ISVs normalmente hospedam e mantêm a solução SaaS que eles criam. Seus clientes configuram o produto e gerenciam os dados.
Uma solução criada usando o Well-Architected Framework garante que a carga de trabalho possa operar em escala. Esta série de artigos fornece insights importantes para a criação de soluções SaaS escalonáveis, de alto desempenho, confiáveis e seguras no Azure. Se você ainda não estiver familiarizado com o Well-Architected Framework, sugerimos que você reserve um tempo para aprender seus princípios.
Consulte Pilares do Microsoft Azure Well-Architected Framework.
O que é uma carga de trabalho SaaS?
O termo carga de trabalho refere-se a uma coleção de recursos de aplicativos que dão suporte a uma meta de negócios comum ou à execução de um processo de negócios comum, com vários serviços, como APIs e armazenamentos de dados, trabalhando juntos para fornecer funcionalidade específica de ponta a ponta.
O termo SaaS refere-se ao modelo de negócios de entrega de software como serviço. Como fornecedor, você é responsável por fornecer e operar toda a solução. Você deve gerenciar cuidadosamente os ambientes do cliente em escala e, ao mesmo tempo, atender aos requisitos de isolamento, segurança e conformidade do cliente. As soluções SaaS geralmente dependem de uma arquitetura multilocatário, em que os recursos são compartilhados entre vários clientes. Essa abordagem influencia o design e a implantação de recursos, bem como o modelo de precificação oferecido aos clientes.
Quais são os desafios comuns?
O Microsoft Azure é uma excelente plataforma para fornecer SaaS, oferecendo a elasticidade e escalabilidade necessárias. Ele também fornece recursos para automatizar vários aspectos da entrega de SaaS. No entanto, a entrega de SaaS no Azure vem com seu próprio conjunto de desafios:
As expectativas dos clientes são altas, exigindo qualidade, segurança e resiliência. Para soluções B2B, você se torna essencialmente uma extensão dos departamentos de TI de seus clientes, assumindo a responsabilidade de manter sua solução operacional e saudável. Isso requer uma mudança do mero desenvolvimento de software para operá-lo em escala.
Fornecer SaaS significa equilibrar suas próprias necessidades de negócios com as de seus clientes, que às vezes podem entrar em conflito. Você enfrentará pressão para reduzir o custo dos produtos vendidos (CPV) e aumentar a eficiência, enquanto os clientes exigem mais de sua solução.
O SaaS geralmente opera em alta escala ou com metas de crescimento agressivas. À medida que você escala, é crucial manter o desempenho e a confiabilidade e, ao mesmo tempo, reduzir a complexidade operacional. As operações manuais são impraticáveis, portanto, a automação e os processos estruturados são necessários, exigindo um grau de maturidade operacional.
O isolamento é um requisito crítico quando você compartilha a infraestrutura entre seus clientes. Os clientes esperam que seus dados estejam seguros e tenham desempenho e confiabilidade consistentes, independentemente das atividades de outros clientes. Como fornecedor, você tem uma responsabilidade significativa pela proteção dos dados e cargas de trabalho de seus clientes, inclusive de outros clientes.
Qual é o modelo de maturidade para construir SaaS?
As organizações que criam produtos SaaS são normalmente:
Startups ou outras pequenas organizações. Normalmente, há menos pessoas e menos recursos. Não importa o tamanho da organização, o SaaS requer algum nível de maturidade para atender às altas expectativas dos clientes. Os clientes confiam na organização para proteger seus dados e outros ativos. Eles também podem contar com a solução para partes importantes de suas operações. Portanto, a Excelência Operacional e a Confiabilidade tornam-se aspectos-chave da solução.
Inicialmente, as startups devem priorizar os elementos mais impactantes para seus clientes. Paralelamente, eles devem planejar futuros aprimoramentos arquitetônicos, como automação, gerenciamento de locatários, redução de custos e segurança e confiabilidade aprimoradas. Mesmo que isso possa não parecer prático no início, esse planejamento estratégico serve como um modelo para implementação gradual e melhoria contínua. À medida que a startup cresce, ela deve adaptar e refinar seus processos, adotar novas tecnologias e atender aos padrões de conformidade em evolução para escalar com eficiência e manter a confiança do cliente.
Organizações estabelecidas. As organizações estabelecidas que buscam modernizar suas soluções existentes geralmente migram para um modelo SaaS. Mesmo que a organização possa ter mais recursos, os desafios se tornam complexos. Eles devem oferecer suporte aos clientes existentes durante o desenvolvimento da nova solução SaaS, o que pode criar sobrecarga operacional. Essa transição requer mudanças na arquitetura técnica, nos conjuntos de habilidades e nas operações gerais de negócios. O foco deve ser minimizar o impacto sobre os clientes atuais e garantir que eles recebam confiabilidade, segurança e desempenho semelhantes ou aprimorados. Uma vez que as soluções legadas são menos onerosas, a organização pode priorizar novos recursos e melhorias.
Como usar essas orientações?
✔ Comece com a Metodologia de Design, que descreve a lógica e os temas recorrentes nas áreas técnicas e operacionais. Essa abordagem sistemática ajuda a definir requisitos e estratégias de design. Revise essa metodologia ao enfrentar escolhas incertas para se manter alinhado com as metas gerais da carga de trabalho. Ele também fornece uma estrutura para colaborar com as equipes de marketing e vendas para validar decisões técnicas e incorporar o feedback do cliente para melhoria contínua.
✔ Prossiga para Princípios de design para ver como a metodologia de design SaaS se alinha com os principais pilares do Well-Architected Framework, considerando a evolução do crescimento. Avalie os princípios subjacentes para todos os pilares coletivamente, incluindo as compensações.
✔ Concentre-se nas áreas de design que têm o maior impacto em sua solução. Cada área inclui considerações e recomendações para guiá-lo pelas decisões de design.
Áreas de design |
---|
Faturamento e gerenciamento de custos: Avalie sua estratégia de faturamento e seu efeito no custo dos produtos vendidos (CPV). Modele e antecipe as mudanças de custo à medida que sua empresa de SaaS cresce. Procure maneiras de otimizar as despesas com recursos de nuvem. |
Governança: gerencie e regule o uso do serviço de nuvem para estabelecer um ambiente seguro do Azure. |
Organização de recursos: planeje como você implantará seus recursos para dar suporte aos seus requisitos de escala e custo. |
Gerenciamento de identidade e acesso: entenda os desafios do gerenciamento de identidade em um ambiente SaaS multilocatário. Escolha um provedor de identidade apropriado e considere a necessidade de federação com os sistemas de identidade de seus clientes. |
Computação: selecione uma plataforma de computação que atenda às suas necessidades. Planeje o isolamento, a escalabilidade e a resiliência do cliente. |
Rede: planeje sua implantação de rede, incluindo topologia e defesas. Isole recursos entre clientes e atenda às suas necessidades de conectividade, incluindo a integração com suas redes e a implantação de recursos em seus ambientes. |
Dados: escolha um armazenamento de dados adequado e planeje isolar os dados do cliente, mantendo a eficiência operacional. Considere o planejamento de capacidade com base em sua escala e crescimento e certifique-se de que seus dados atendam aos requisitos de resiliência do cliente. |
Práticas de DevOps: implante infraestrutura e aplicativos para cada cliente de acordo com seu modelo de locação. Use uma abordagem estruturada para mudanças, incluindo implementações progressivas. |
Gerenciamento de incidentes : Estabeleça responsabilidades de operação de SaaS e os elementos culturais necessários em sua organização. Prepare-se para incidentes investindo em ferramentas e processos para investigação, correção e comunicação. |
✔ Use a Ferramenta de Revisão de Avaliação para avaliar a prontidão de sua carga de trabalho SaaS otimizada em produção.
Dica
Cada decisão arquitetônica envolve uma série de considerações e um conjunto de compromissos reconhecidos que equilibram diferentes aspectos da estrutura. Essas compensações são indicadas por este ícone. .
Quais recursos estão disponíveis?
A multilocação é uma metodologia de negócios central para projetar cargas de trabalho SaaS. Leia estes recursos adicionais para saber mais.
- Arquitetura de solução multilocatário e SaaS: fornece diretrizes abrangentes e detalhadas sobre como projetar SaaS, incluindo informações sobre como serviços específicos do Azure podem ser usados para dar suporte às metas de design de SaaS.
Próximas etapas
Entenda a metodologia a ser seguida ao projetar uma carga de trabalho SaaS no Azure.