Por volta do ano 2000, quando a SalesForce começou a levantar a bandeira do “No Software”, era difícil de imaginar que o modelo tradicional de venda e distribuição de software iria mudar tão rapidamente. Apenas poucos anos depois o modelo SaaS consolidou-se e hoje é o novo padrão do mercado. Grandes empresas de software como SAP, Oracle e TOTVS já migraram suas plataformas para a nuvem e agora comercializam no modelo de serviço.
Meu objetivo com este artigo não é gastar teclas escrevendo sobre os benefícios de usar a nuvem. Tenho ciência de que em pleno ano de 2017 o mercado está muito bem educado neste tema. Meu objetivo é ajudar essa grande fatia de empresas de desenvolvimento que ainda possuem seus sistemas rodando na plataforma Desktop (cliente/servidor). Quero apresentar algumas alternativas para levar seu software para a nuvem rapidamente, sem precisar reescrevê-lo e com o mínimo de impacto na sua rentabilidade.
Se este é seu caso, eu sei que muitas vezes reescrever seu software não é uma opção financeiramente viável. Ao mesmo tempo, com margens cada vez menores, você não pode se dar ao luxo de arcar com milhares de dólares mensais em soluções complexas, que fogem da sua realidade financeira. Sei também da pressão do mercado para você readequar seu modelo de comercialização para SaaS e as novas exigências dos seus clientes.
É fato que seus clientes:
• Não querem mais ter o trabalho nem o custo de implementar e manter servidores para hospedar sua aplicação.
• Não querem se preocupar com alta disponibilidade, políticas de backup e segurança. Querem simplesmente acessar seu software e usar.
• Desejam pagar pelo seu software mensalmente, como um SaaS.
Do lado operacional, você provavelmente:
• Enfrenta dificuldades em atualizar seu software para sua base de dezenas ou centenas de clientes.
• Está gastando muito tempo do seu suporte com problemas relacionados à infraestrutura de TI do cliente.
• Está quase perdendo o controle das versões diferentes instaladas em cada cliente.
A seguir apresentarei três tecnologias para você distribuir sua aplicação desktop na nuvem. Cada opção tem seus pontos positivos e negativos que vou descrever após uma visão geral. Não vou mergulhar na parte técnica, mas darei as informações necessárias para direcionar você a tomar uma decisão consciente de qual estratégia mais de adequa à sua necessidade.
AWS AppStream 2.0 é um serviço de streaming de aplicações de desktop, acessível de qualquer navegador web com suporte a HTML5. O serviço é totalmente gerenciado pela AWS, o que abstrai a necessidade de planejar, implantar, gerenciar ou atualizar infraestrutura de streaming de aplicações.
Uma grande vantagem dessa arquitetura é a elasticidade que a AWS oferece. Você configura o stack da sua aplicação e a cobrança pelo serviço de streaming é por hora.
Pontos positivos:
• Elasticidade
• Possibilidade de integração com Domain Controller do cliente.
• Acesso via navegador com HTTPS.
• Protocolo de alto desempenho para streaming.
Pontos de atenção:
• Latência deve ficar entre 100ms e 250ms. Virginia <> SP geralmente fica abaixo de 200ms.
• Preço em Dólar.
• Se seu usuário ficar com sua aplicação aberta 24 horas por dia, você será bilhetado por 24 horas
Com a tecnologia RemoteDesktop/RemoteApp é possível entregar aplicações através de sessões de Terminal Service do Windows ou simulando um acesso “nativo” pelo RemoteApp. Esta talvez seja a solução mais “simples” e rápida entregar seu software desktop na nuvem.
Outra vantagem é que essa solução, por ser mais tradicional, pode ser implementada em qualquer provedor de nuvem nacional. Isso possibilita menor latência e, por consequência, melhor experiência para seus clientes.
Pontos positivos:
• User-Friendly
• Possibilidade de integração com Domain Controller do cliente.
• Integração com diretórios de rede e impressoras locais.
Pontos de atenção:
• Acesso depende do cliente RDP, ou seja, não roda diretamente pelo navegador.
Go-Global é uma tecnologia da empresa GraphOn desenvolvida para possibilitar a entrega de aplicações Desktop pela Web ou através de um cliente, similar ao RemoteApp. A principal vantagem do Go-Global é o protocolo altamente otimizado para streaming, exigindo menos banda de internet do que o Remote Desktop. Como curiosidade, a TOTVS utiliza o Go-Global para entregar seu ERP client-server a partir da sua nuvem OpenStack.
A arquitetura é muito similar ao RemoteDesktop/RemoteApp, com a vantagem de ser possível acessar as aplicações diretamente pelo navegador. O licenciamento do Go-Global é anual, sendo necessário um pagamento upfront.
Pontos positivos:
• Acesso via navegador com HTTPS.
• Protocolo de alto desempenho para streaming.
Pontos de atenção:
• Compra da licença exige upfront
Após ter participado de algumas dezenas de migrações o melhor conselho que posso te dar é: Faça testes!
Sua aplicação exige integração com impressoras locais ou dispositivos USB? Então você terá mais sucesso com o RemoteDesktop ou ou RemoteApp.
O link de internet dos seus clientes é ruim? Então o Go-Global é uma boa opção.
Seus clientes passam poucas horas por dia acessando seu sistema (ou nem acessam diariamente)? Então o AppStream terá o menor custo para você.
Faça testes e veja qual solução faz mais sentido para seu negócio.
Se precisar de ajuda, conte com a Estabil.is!