Cargas de trabalho SaaS do Azure bem arquitetadas
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. Vendem os seus produtos a empresas, também conhecidas como business-to-business (B2B), ou a consumidores, também conhecidas 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 ser dimensionada. Esta série de artigos fornece informações importantes para a criação de soluções SaaS escaláveis, eficientes, confiáveis e seguras no Azure. Se você ainda não está familiarizado com o Well-Architected Framework, sugerimos reservar algum tempo para aprender seus princípios.
Consulte os 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 um objetivo comercial 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, onde 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 preços 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 aspetos da entrega de SaaS. No entanto, o fornecimento 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 a operação 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 seu custo de 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ê dimensiona, manter o desempenho e a confiabilidade e, ao mesmo tempo, reduzir a complexidade operacional é crucial. As operações manuais são impraticáveis, pelo que a automatização e os processos estruturados são necessários, exigindo um certo 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 experimentem 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 a construção de 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 aspetos fundamentais da solução.
Inicialmente, as startups devem priorizar os elementos mais impactantes para seus clientes. Em paralelo, eles devem planejar futuros aprimoramentos arquitetônicos, como automação, gerenciamento de locatários, redução de custos e maior segurança e confiabilidade. Mesmo que isso possa não parecer prático no início, esse planejamento estratégico serve como um plano 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 de forma eficaz e manter a confiança do cliente.
Organizações estabelecidas. As organizações estabelecidas que procuram modernizar suas soluções existentes geralmente migram para um modelo SaaS. Mesmo que a organização possa ter mais recursos, os desafios tornam-se complexos. Eles devem dar suporte aos clientes existentes durante o desenvolvimento da nova solução SaaS, que pode criar despesas gerais operacionais. Essa transição requer mudanças na arquitetura técnica, nos conjuntos de habilidades e nas operações de negócios em geral. 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 utilizar estas 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. Reveja essa metodologia ao enfrentar escolhas incertas para se manter alinhado com os objetivos 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 os 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. Avaliar os princípios subjacentes a todos os pilares coletivamente, incluindo as compensações.
✔ Concentre-se nas áreas de design que têm o maior impacto na sua solução. Cada área inclui considerações e recomendações para guiá-lo através das decisões de design.
Estruturar áreas |
---|
Faturação e gestão de custos: Avalie a sua estratégia de faturação e o seu efeito no custo das mercadorias vendidas (CPV). Modele e antecipe as mudanças de custos à medida que o seu negócio de SaaS é dimensionado. Procure maneiras de otimizar as despesas com recursos na 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. Isolar recursos entre clientes e atender à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 o isolamento dos dados do cliente, mantendo a eficiência operacional. Considere o planejamento de capacidade com base em sua escala e crescimento e garanta 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 alterações, incluindo implantações progressivas. |
Gestão de incidentes: Estabeleça responsabilidades de operação de SaaS e os elementos culturais necessários dentro da sua organização. Prepare-se para incidentes investindo em ferramentas e processos de investigação, remediaçã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 na produção.
Gorjeta
Cada decisão arquitetônica envolve uma série de considerações e um conjunto de compromissos reconhecidos que equilibram diferentes aspetos da estrutura. Essas compensações são indicadas por este ícone. .
Que 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.
- SaaS e arquitetura de solução multilocatário: fornece orientação abrangente e detalhada sobre como projetar SaaS, incluindo informações sobre como serviços específicos do Azure podem ser usados para dar suporte a metas de design SaaS.
Próximos passos
Entenda a metodologia a ser seguida ao projetar uma carga de trabalho SaaS no Azure.