Primeiramente para acabarmos com os neologismos vamos às traduções:
Retairing - Aposentar
Retaining - Manter
Rehosting - Hospedar novamente
Replataform - Mudar a plataforma
Repurchasing - Comprar novamente
Refactoring - Refatorar
Todos estes conceitos atualmente são utilizados pensando em projetos de nuvem com base na estratégia de cada ambiente e de cada empresa, por este motivo é necessário fazer uma análise muito criteriosa de cada ambiente e cada negócio o qual seus sistemas suportam. Identificar o caminho da sua empresa para nuvem requer um bom assessment no ambiente atual afim de entender dependências, débitos tecnológicos, topologias, desempenho para o negócio, esse trabalho não é escopo deste texto mas é de suma importância para o sucesso de sua jornada, pois ele te dará a visão não só na priorização mas da abordagem que trataremos a seguir.
1- Retairing
Caso o sistema analisado não faça mais sentido para seu negócio aposente-o, não há a necessidade seja no mundo on-premisses seja em nuvem de manter recursos computacionais para estes serviços, por incrível que pareça dentro destes anos trabalhando com projetos de nuvem, na hora de analisar as máquinas virtuais de diversos clientes e entender as aplicações a que faziam uso daqueles recursos, me deparei diversas vezes com ERPs legados funcionando, mesmo que sem acessos de usuários, este é um bom exemplo de aplicação para aposentar.
Claro que há contexto onde é necessário guardar aquela informação geralmente por 5 anos, mas porque não guardar a imagem deste sistema apenas em storage? Seja em nuvem, seja localmente é um recursos muito mais barato e você pode provisioná-lo novamente sempre que de fato precisar dele, garanta uma política para isso.
2- Retaining
Nem todo sistema funciona bem na nuvem, há diversos itens que pode complicar o uso de nuvem como por exemplo latência, no Brasil, infelizmente não possuímos uma malha de conectividade tão apurada como em outros países e muitas vezes levar um processamento para "fora da operação" pode causar problemas de latência. Portanto faz sentido sim, manter um sistema on-premisses quando a nuvem não vai lhe entregar benefícios direto ao seu negócio, não lhe entregar economia ou maior segurança.
Apenas para deixar claro, latência nem sempre é um impeditivo de um projeto de nuvem, pois já vi projetos em que o ganho de performance foi tão significativo que a latência passou a ser irrelevante.
3- Rehosting
Este é o famoso Lift and Shift que tanto se fala no mercado de nuvem, é muito comum quando se tem aplicações empacotadas de mercado na empresa que ainda não depreciaram ou que ainda entregam diferencial para o negócio, levar um sistema "as is" para nuvem não o fará tirar todo o proveito da ferramenta. Porém já é possível ter ganhos de performance, redução de custos e, principalmente, velocidade.
Nesta modalidade é possível, muitas vezes, usar ferramentas que fazem a migração de forma automatizada, o que reduz também o risco do projeto.
4- Replataform
Diferente do rehost que se faz o lift and shift, esta modalidade é melhor definida por lift and reshape, ou seja, você leva a mesma aplicação que roda em seu ambiente on-premisses mas utilizando os recursos que a nuvem te entrega para maximizar os benefícios que as soluções em plataforma trazem. Por exemplo, uma aplicação construída em 3 camadas, em muitos casos é possível usar um plataforma de banco de dados ou de servidor de aplicação como serviços, para assim aproveitar automatizações como provisionamento automatizado usando as melhores práticas, automatização de backups, migrações de versões, escalonamento, aprimoramentos de segurança, entre outros benefícios da utilização de PaaS, ao invés que subir o banco ou servidor de aplicação apenas para uma instância computacional.
5- Repurchasing
Trocar de software nunca é uma decisão fácil, mas ultimamente há vários benefícios a se considerar a tomar esta decisão, considerando tecnologia, a contratação de um software como serviço elimina grande parte das preocupações com gestão de datacenter, como redes, sistemas operacionais, storages, hardware, bancos de dados, servidores de aplicação, é necessário apenas se preocupar com autenticação, integração e com os requisitos funcionais. Já do ponto de vista de negócios, há muita novidade as quais os novos softwares têm agregado aos negócios, como interpretações utilizando inteligência artificial, automação de processos através da robotizado, sem contar as revoluções de requerimentos de negócios trazidos pelas startups em diversos nichos. Então, no momento de pensar em uma migração de versão do seu software que tenha um alto custo e muito trabalho a se fazer, vale se perguntar se este é o melhor caminho.
6- Refactoring
Reescrever e recompor aplicações monolítica é o melhor caminho para colher o melhores benefícios da nuvem, alocar recursos automaticamente, escalonamento automático, sistemas serverless, infraestrutura como código, esteira de desenvolvimento, gerenciamento do ciclo de vida das aplicações, integrações, mensageria, IOT. Em contrapartida é o método que exige mais mão de obra, por isso é necessário fazer um bom business case para definir o custo total de confecção do projeto e balancear com os benefícios esperados.
Novamente, o primordial é entender qual carga de trabalho faz mais sentido a aplicação de cada uma destas formas de jornadas para nuvem descritas neste texto, mais de uma pode ser escolhida pensando em seu ambiente como um todo.
Com base no texto, qual os R's da nuvem que você mais usará ou está usando para a levar seus sistemas para a cloud? Deixe nos comentários.
Comments