Para tornar mais tangível os diversos modelos de contratação de nuvem, inclusive considerando jornada de migração, elaboramos o seguinte quadro comparativo:
Migrando do modelo on-premises para IaaS
No modelo de administração on-premises, a organização tem total controle (e todo o custo de administração) sobre todos os aspectos da infraestrutura, tanto física quanto lógica. Fica “nas mãos” (e nos orçamentos) das organizações a instalação e a manutenção da rede, dispositivos de armazenamento, disposição e topologia dos servidores e estratégias de virtualização.
O ERP de uma empresa, mantido on-premises, implica no planejamento, aquisição e manutenção da infraestrutura necessária para ele funcionar.
Quando uma organização contrata uma nuvem na modalidade IaaS (infraestrutura como serviço), terceiriza a gestão da infraestrutura, abrindo mão do controle, aproveitando os benefícios de economia de escala que podem ser obtidas pelo cloud provider.
O ERP de uma empresa, mantido em um provedor de IaaS, precisa ser agnóstico a detalhes da infraestrutura. Além disso, deve ser capaz de funcionar em hardware commodity.
O desenvolvimento de aplicações em uma infraestrutura on-premises pode (e deve) levar em consideração a infraestrutura disponível permitindo-se, até, explorar particularidades do ambiente. Em ambientes IaaS é saudável assumir que o hardware disponibilizado será commodity – também é essencial considerar que a infraestrutura irá mudar e as aplicações precisam ser desenvolvidas levando isso em consideração.
Migrando do modelo IaaS para PaaS
Nuvens contratadas no modelo IaaS, deixam sob controle dos contratantes (ou restringem totalmente) versões de sistemas operacionais, middlewares e runtimes. No modelo PaaS, esses aspectos são abstraídos e deixam de ser relevantes durante o desenvolvimento.
O ERP de uma empresa, mantido em um provedor de PaaS, precisa ser construído utilizando abstrações (serviços) fornecidas pelo cloud provider. Muitas vezes, essas abstrações facilitam e autorizam desenvolvimento de componentes complexos (usando, por exemplo, inteligência artificial [com Cognitive Services])
O modelo PaaS tem grande impacto sobre o desenvolvimento de software e é aqui que se encontra o aspecto mais crítico. Software desenvolvido sob restrições impostas pela plataforma ficam, frequentemente “travados” (lock-in) as abstrações (aka serviços) disponibilizados pelo cloud provider.
Migrando do modelo PaaS para SaaS
Organizações que contratam serviços de nuvens do tipo SaaS não tem controle qualquer nem mesmo sobre as aplicações e modelos de dados. A preocupação fundamental de desenvolvimento passa a ser oportunidades de customização.
No modelo SaaS, uma empresa deixa de se preocupar com o desenvolvimento de um ERP. Contrata o mesmo como um serviço na nuvem e, eventualmente, faz customizações.
Tudo junto e misturado
Não há motivos para que não consideremos o desenvolvimento de soluções combinando on-premises, IaaS, PaaS e SaaS. Aliás, talvez essa seja a forma “certa” para aproveitar os benefícios da nuvem, em qualquer de seus modelos.