Cinco melhores maneiras de ISVs utilizarem a nuvem para modernizar aplicativos SaaS

by Sandeep Bhargava, Managing Director, APJ

A software developer typing code on his laptop with code displayed on two additional monitors

 

Software como serviço, ou SaaS, é um termo comum usado em muitos setores. O SaaS está presente nas estratégias de nuvem ou de modernização da maioria das organizações. Mas será que todas as plataformas SaaS são iguais?  Não estou falando dos recursos do produto, e sim da plataforma SaaS em si.  Refiro-me ao aplicativo e à arquitetura da infraestrutura subjacente.  Nesse sentido, tem SaaS, e tem SaaS.

Como comprador, você pode perguntar: "Quem se importa com o que há debaixo do capô?" Deixe-me explicar por que você deveria se importar.  Se um provedor de SaaS tiver um aplicativo monolítico monoinquilino que precise ser implantado localmente, tal modelo de arquitetura apresentará desvantagens. 

  1. Sendo monoinquilino, a base de custos será maior, devido à falta de infraestrutura compartilhada.
  2. Sendo monolítico, os ciclos de lançamento serão mais lentos e propensos a mais erros.
  3. Ser implantado localmente significa que não é possível aproveitar a inteligência da nuvem nem controlar a disponibilidade.
  4. O provedor corre o risco de ser superado por concorrentes "nascidos na nuvem" que não tenham nenhuma dessas limitações.  Será que ainda estará na ativa daqui dois ou três anos?

Como um fornecedor de software independente (ISV), está claro como cristal. Se você não tem uma arquitetura verdadeiramente SaaS, precisa se modernizar, e rápido.  Do ponto de vista técnico, apresento aqui cinco áreas que considero importante focar se você for um ISV buscando converter seus aplicativos em SaaS.

 

Adote a arquitetura multi-inquilino

Na arquitetura multi-inquilino, é fácil isolar os clientes se você utilizar um modelo sem servidor e controles para gerenciar acesso e identidade (IAM).  Não vale a pena construir sistemas de controle de acesso baseados em função (RBAC) por conta própria. Na nuvem, esse recurso é oferecido já pronto para usar. 

Utilizar uma arquitetura sem servidor elimina a necessidade de gerenciar continuamente as políticas de escalonamento. Em vez disso, você transfere a responsabilidade para a plataforma.  Os serviços sem servidor também têm o benefício de tirar de você grande parte da carga operacional e colocá-la sobre o provedor.

 

Crie uma arquitetura flexível e escalável

Ao utilizar serviços RESTful, os trabalhos de cada equipe de desenvolvimento ficam isolados entre si. Isso agiliza a prototipagem e o desenvolvimento.  Tal compartimentação também permite que se ofereçam aos clientes diferentes níveis de qualidade de serviço.

Essa abordagem orientada por API torna simples fornecer acesso a terceiros (ou vice-versa) para estender sua aplicação, importar/exportar dados ou oferecer relatórios.

 

Adote infraestrutura como código

Infraestrutura como código (IaC) é a melhor abordagem prática para a implantação de infraestrutura. Evidentemente, seria possível escrever um artigo inteiro só tratando disso. Mas, para começar, uma plataforma IaC pode empacotar diferentes plataformas SaaS para múltiplas opções de implantação e marketplaces na nuvem.

Além disso, alguns benefícios imediatos são: padronização, automação de implantação (CI/CD), correção mais rápida de bugs e maior produtividade e eficiência no desenvolvimento de software.

 

Considere usar o padrão estrangulador

O padrão estrangulador é um método de migrar incrementalmente uma arquitetura de um monólito para microsserviços.  Usando uma estrutura de roteamento de API, a atividade do usuário será direcionada ao novo microsserviço quando cada recurso/função for liberado como um microsserviço. 

Isso tem uma série de benefícios, pois evita a abordagem Big Bang, que é inerentemente arriscada. Além disso, cria uma maneira rápida de fazer failback. Ele também lhe permite fazer o lançamento restrito, onde você duplica o tráfego de usuários e envia a um novo microsserviço para testar.

 

Substitua o processo legado por alternativas modernas

Os provedores de nuvem têm uma infinidade de serviços que ajudam a modernizar processos legados, como o processamento em lote.  Por exemplo, utilize filas e fluxos para desacoplar serviços e oferecer uma alternativa em tempo real aos processos em lote. Com essas opções de nuvem sem servidor, você pode fazer a transição do paradigma de lote/agendamento para o paradigma baseado em eventos.

 

Solving Together™

Em um ambiente em constante mudança e aceleração, todo ISV quer se reinventar. Para um ISV, há várias boas razões para mudar a forma como a empresa e os serviços são estruturados. Por exemplo: os requisitos e pedidos dos clientes mudaram, a empresa quer expandir rapidamente ou simplesmente é preciso ficar à frente da concorrência.

É muito provável que a sua empresa esteja enfrentando os mesmos desafios e você seja responsável por resolvê-los com sua equipe. Eis algumas perguntas que recebemos – e ajudamos a responder – ao trabalhar com ISVs:

  • O que precisa mudar, tecnicamente e em relação à configuração organizacional, para garantir que estejamos prontos para o futuro?
  • Como minha empresa deve lidar com a mudança do modelo venda de licença para o de assinatura?
  • Qual modelo operacional devo almejar?
  • Como assegurar que todos estejam de acordo com as alterações necessárias?
  • Devemos migrar nosso ambiente à moda "lift & shift" ou começar a tornar nosso aplicativo e jeito de trabalhar mais nativos da nuvem?

Você é um ISV à procura de transformar sua empresa na nuvem? Nossos especialistas podem criar um roteiro adequado para acelerar sua estratégia de adoção da nuvem.

Traga uma abordagem nativa da nuvem para o desenvolvimento de aplicativos