phloxii - stock.adobe.com

Guia para criar uma estratégia de teste de migração para nuvem

Siga estas diretrizes para projetar uma estratégia para testes de migração para a nuvem, desde testes importantes até desafios comuns e práticas recomendadas, e entenda por que tudo isso envolve segurança.

Mover um aplicativo para a nuvem apresenta desafios especiais. Não há garantia de que funcionará como funcionava no local e que todas as suas funções permanecerão as mesmas. Além disso, a nuvem possui recursos próprios de escalabilidade, integração e segurança que devem ser levados em consideração. Como resultado, o teste de aplicativos é uma parte crítica de qualquer migração para a nuvem.

Uma estrutura formalizada pode ajudar as equipes de TI a desenvolver uma estratégia de testes de migração para a nuvem e garantir que um aplicativo funcione como deveria na nuvem. Vamos revisar algumas das principais áreas nas quais devemos nos concentrar, as melhores práticas a seguir e os problemas que devemos antecipar e resolver.

Por que é importante testar a migração para a nuvem?

Os testes de migração para a nuvem ajudam as equipes de TI a garantir que o aplicativo continue funcionando como deveria após a migração para a nuvem e também a garantir que a experiência do usuário seja melhor. Para fazer isso, eles devem medir o desempenho do aplicativo em ambos os lados da equação: como ele é executado no local e como funciona na nuvem.

As métricas de teste de migração para a nuvem ajudam a identificar e quantificar problemas em vez de depender de suposições. As principais métricas incluem inicialização de aplicativos e tempos de resposta, desempenho durante picos de demanda e fora do horário comercial e facilidade de uso em diversas plataformas, como desktop, conexões remotas e dispositivos móveis.

Além disso, os provedores de serviços em nuvem emitem atualizações que podem causar problemas de desempenho em um aplicativo. Use métricas de teste para validar problemas e trabalhe com seu provedor de serviços de nuvem para descobrir o que aconteceu e quais ajustes você precisa fazer para corrigir os problemas.

Por fim, os testes de migração para a nuvem podem informar às equipes de TI onde ajustar o desempenho ou a experiência do usuário para justificar a manutenção do aplicativo na nuvem.

Benefícios comerciais dos testes de migração para nuvem

Além de fornecer aos usuários um aplicativo moderno e de bom desempenho, um programa de testes robusto pode oferecer outros benefícios aos negócios, incluindo:

  • Menor possibilidade de interrupções de serviço.
  • Aumento da satisfação do cliente por meio de transições perfeitas.
  • Menos estresse e desgaste na equipe.
  • Economia líquida de custos após o gasto inicial do próprio teste.

Embora a redução de problemas seja um benefício real dos testes, muitas vezes é difícil quantificá-los porque podem surgir problemas sem testes adicionais. No entanto, as chances são melhores com os testes.

Como os testes de migração para nuvem são diferentes dos testes de aplicativos tradicionais

A principal diferença entre testar aplicativos locais e aplicativos que foram movidos para a nuvem é que você deve considerar a escalabilidade da nuvem e integrações e dependências adicionais. Algumas das integrações podem ser difíceis de identificar e compreender. A estrutura de testes em nuvem pode ser diferente da estrutura local e algumas ferramentas podem ser diferentes ou não permitidas, como testes de carga ou testes de penetração. É importante verificar com o provedor de nuvem quais ferramentas de teste são permitidas.

No entanto, lembre-se de que os objetivos dos testes não devem mudar entre o local e a nuvem. Ter objetivos diferentes significa que você não está mais testando as mesmas coisas; portanto, você deve usar muitas das mesmas etapas e ferramentas para obter uma imagem clara de seus esforços para migrar seu aplicativo para a nuvem. Mudanças na estrutura ou nas metodologias de teste podem distorcer os resultados.

Tipos de testes para uma migração para nuvem

O objetivo dos testes de migração para nuvem não é testar todos os recursos e funcionalidades possíveis, mas é necessário ter uma amostra sólida e representativa de testes e métricas para garantir que o aplicativo funcione conforme o esperado. Existem vários tipos de testes que são especialmente importantes para uma migração para nuvem:

  • Validação funcional. Este teste confirma que a construção atende aos requisitos de funcionalidade de componentes e serviços em ambos os lados do processo de migração para a nuvem. Tudo o que falta costuma aparecer rapidamente.
  • Desempenho. Este teste abrange diversas métricas para medir o desempenho de um aplicativo em condições reais, como a capacidade de lidar com volumes de dados, cargas de capacidade e uso de CPU e memória. Também inclui a experiência do cliente para garantir um desempenho melhor ou pelo menos consistente para os usuários.
  • Integração. Seu aplicativo provavelmente se conectará a outros serviços e aplicativos para compartilhar dados na nuvem e no local – e possivelmente ambos. As equipes de TI devem verificar se essas conexões ainda funcionam na nuvem. Isto pode ser complicado se os serviços dependentes estiverem numa nuvem diferente ou permanecerem no local. Você também deve compreender e documentar o que acontece quando um serviço falha em cada local para entender o impacto que isso terá sobre os clientes.

Outras coisas para tentar

Caso o app possua um portal dedicado ou necessite de ajustes de interface para funcionar em dispositivos móveis, teste-o nas plataformas Android e Apple. Pode não ser viável testar todos os tipos de dispositivos possíveis; portanto, você deve trabalhar com sua base de usuários para determinar quais plataformas móveis atendem melhor às suas necessidades.

Além disso, teste em redes celulares e redes Wi-Fi, pois diferentes velocidades de dados afetam o comportamento de um aplicativo. Faça isso fora da rede Wi-Fi da sua empresa. O lado interno da sua rede pode acessar serviços de maneira diferente de uma rede Wi-Fi externa, o que pode fazer com que o aplicativo funcione de maneira diferente ou nem funcione.

Por último, realize um teste de capacidade de impressão. As pessoas ainda imprimem e, para alguns, é uma função essencial do trabalho. Não subestime este problema técnico potencialmente desafiador. Imprimir de um aplicativo baseado em nuvem para uma impressora local pode criar desafios de segurança e de rede que normalmente não existem no local.

Considerações de segurança para testes de migração para nuvem

Você deve realizar uma auditoria adequada de segurança do aplicativo e fazer ajustes nos privilégios do usuário antes de começar a mover um aplicativo local para a nuvem. A última coisa que você deseja é introduzir alterações adicionais que confundam ou compliquem sua compreensão de como um aplicativo e suas dependências funcionam.

Os testes de migração para a nuvem devem incluir validação de segurança que confirme os três fatores principais a seguir:

  1. Quem tem acesso ao aplicativo? Comece com as contas, recursos e funções que os usuários acessam. Adicionar mais variáveis não ajuda nem acelera os testes. O acesso do usuário deve refletir o que ele tinha com o aplicativo local, nem mais, nem menos.
  2. Como você garantiu o princípio do menor privilégio? À medida que seus dados são transferidos entre diferentes serviços de nuvem, quais etapas garantem o princípio do menor privilégio? Os provedores de serviços em nuvem oferecem serviços e relatórios para ajudar nisso; Reserve um tempo para aprendê-los, documentá-los e usá-los.
  3. As alterações de segurança afetam o aplicativo? Sempre execute novamente os testes do aplicativo depois de fazer uma alteração de segurança, pois tais alterações podem afetar potencialmente o desempenho. Por exemplo, a criptografia de dados em trânsito e em repouso altera o tempo de resposta do aplicativo ou adiciona sobrecarga aos ciclos da CPU? Isso pode ser um subconjunto dos testes completos, mas você deve revalidar se o aplicativo ainda funciona conforme indicado na linha de base e se a alteração de segurança não o coloca off-line.

7 desafios comuns de teste de migração para nuvem – e práticas recomendadas para enfrentá-los

Os testes de aplicativos são sempre desafiadores e, apesar de todo o planejamento e testes, surgirão problemas. No entanto, a maioria dos problemas pode ser resolvida. Abaixo estão os problemas que provavelmente surgirão e as maneiras de resolvê-los.

Desafio 1: Priorizar métricas de teste de aplicativos

A experiência do usuário e a segurança de um aplicativo são importantes para o aplicativo como um todo, mas, em última análise, o aplicativo deve funcionar conforme o esperado. Uma aplicação que carece de funcionalidades básicas, mesmo que seja absolutamente segura ou perfeitamente otimizada para os usuários, não beneficia ninguém.

Melhor prática: Equilibre design e segurança com funcionalidades críticas

Reserve um tempo para abordar todos os fatores (funcionalidade, experiência do usuário e segurança) no início do processo de migração para a nuvem. Não são aspectos separados que você possa trabalhar em diferentes estágios. Eles estão interligados e você deve tratá-los como tal.

Desafio 2: Cortar despesas apenas para fazer o aplicativo funcionar

É fundamental garantir que o aplicativo funcione corretamente na nuvem, mas não adote maus hábitos para atingir objetivos de curto prazo. As equipes de TI podem reduzir ou eliminar os controles de segurança para fazer um aplicativo funcionar em um novo ambiente e esquecer de restaurar essas medidas de segurança posteriormente. Isso pode economizar tempo no início, mas cria mais trabalho posteriormente e torna os testes mais difíceis em geral.

Melhor prática: Planeje a segurança desde o início

Muitas vezes surgem problemas de permissões de segurança que podem impedir a funcionalidade de um aplicativo, mas resistem à reação impulsiva de fazer alterações em grande escala para que as coisas funcionem imediatamente. Invista tempo em seu plano de migração para a nuvem para resolver esses problemas.

Desafio 3: Deixe os testes inteiramente nas mãos da TI

As migrações para a nuvem são iniciativas complexas que exigem muitas disciplinas para garantir que um aplicativo migrado opere com segurança e em escala. A TI tem muita responsabilidade e pode ajudar a liderar essas iniciativas, mas não é possível simplesmente trabalhar muito e focar no lado técnico sem a experiência de uma equipe de desenvolvimento.

Melhor prática: Construir uma equipe de teste diversificada

Crie uma equipe interdisciplinar para apoiar a aplicação e identificar possíveis problemas. A equipe precisa ser ágil e precisa de especialistas no assunto para garantir que todos os aspectos sejam levados em consideração. Reserve determinados tópicos nas reuniões para não sobrecarregar todos com muitas informações. Alguns participantes podem ficar entediados e parar de prestar atenção ao jargão técnico que está fora de sua especialidade.

Desafio 4: Resista a atualizações fáceis e expansão de escopo

Ativar a criptografia para um aplicativo que está migrando para a nuvem pode parecer ideal e aparentemente simples. Mas tenha cuidado: qualquer alteração pode afetar inadvertidamente muitos outros aspectos da operação do aplicativo e aumentar problemas técnicos e custos. Esse tipo de escopo ou aumento de recursos nos testes de migração pode crescer rapidamente para níveis insustentáveis.

Melhor prática: testar e verificar recursos adicionais

Em primeiro lugar, tente seguir o plano original para a funcionalidade principal do aplicativo; a fase de testes não é o momento nem o local para expansão de recursos. Se você precisar adicionar novos recursos ou recursos secundários, obtenha a adesão de todos e teste e examine as mudanças para compreender seus impactos mais amplos. Ser capaz de dizer não aos elementos. Pode parecer fácil em termos de conceito, mas pode ser bastante difícil para algumas pessoas dizê-lo, especialmente para os gestores.

Desafio 5: Equilibrar a cadência dos testes com prioridades concorrentes

Idealmente, você deve realizar testes de segurança contínuos e pelo menos testes semanais para validar dados e gerenciar logs de erros. Infelizmente, dinheiro, tempo e mudanças nas prioridades de TI e de gerenciamento podem anular esses planos. A nuvem custa dinheiro por cada segundo de uso. A contratação de pessoal exige tempo e dinheiro e, após o lançamento de um aplicativo, a maioria das equipes de desenvolvimento e operações passa para outros projetos.

Melhor prática: planeje atualizações importantes e busque mais

A TI sempre encontra maneiras de adaptar o que é necessário ao que está disponível. Divida os testes de migração para a nuvem de acordo com o que o gerenciamento deseja, precisa e espera. Estabeleça uma estrutura de testes para verificações diárias e semanais em torno de alterações importantes no aplicativo ou plataforma base. Insista para que sejam feitas com mais regularidade se houver mais recursos disponíveis.

Desafio 6: Limitar os testes de UX

Algumas equipes de TI contam com um grupo regular de usuários para testes locais ou com alguns especialistas no software específico. Porém, ao mover um aplicativo para a nuvem, você precisa de uma visão mais completa dele. Isso significa coletar dados sobre a experiência geral do usuário a partir de múltiplas perspectivas e não apenas técnicas.

Melhor prática: expandir equipes de testes de usuários

Coordene os testes de usuários com um amplo grupo de testadores com diferentes experiências e funções. Inclua pessoas com conhecimento em nuvem, mas também iniciantes. A maioria dos usuários não conhece ou não se preocupa com o mecanismo interno da nuvem, mas vê o aplicativo e tem certas expectativas de desempenho. E às vezes eles podem conhecê-lo um pouco melhor do que você.

Desafio 7: Testar métricas que ignorem as preocupações com os custos da nuvem

Em uma migração local, você normalmente possui todas as partes que seu aplicativo toca. Em uma migração para nuvem, são incorridos custos para cada etapa do processo, cada serviço chamado e cada transferência de dados para um cache ou de volta para a instalação local. Existem integrações e dependências com outros serviços em nuvem — algumas das quais podem não ser óbvias. Você pode estar usando ferramentas de teste baseadas em nuvem. Quando a conta chega, pode ser um choque e obrigar você a ajustar a aplicação ou até mesmo reavaliar a migração para nuvem.

Melhor prática: Realizar testes periódicos para revelar tendências de custo

O gerenciamento de custos não é uma preocupação central dos testes de migração para a nuvem, mas os testes revelam exatamente o que um aplicativo faz quando é executado na nuvem. Portanto, testes frequentes de migração para a nuvem podem ajudar uma organização a ter uma ideia melhor das transferências de dados, padrões de uso e dependências principais. Isso significa que não haverá surpresas quando a conta chegar.

Criando uma estratégia de teste de migração para nuvem

Quando se trata de listas de verificação e procedimentos passo a passo, as pessoas geralmente se concentram nas coisas que desejam e ignoram as que não gostam, ou presumem que seguir os passos é fácil. Esta abordagem nunca termina bem, por isso é importante compreender o impacto e os desafios dos seguintes passos:

  1. Avaliar. É fácil ignorar esse aspecto dizendo que é tão simples quanto pegar a infraestrutura em que um aplicativo é executado e colocá-la na nuvem. Recursos locais, como discos rígidos grandes e CPUs enormes, são bastante baratos em um data center local. Essa matemática muda na nuvem porque você paga por tudo por mês, então você precisa ter clareza sobre o que precisa, não o que já tem.
  2. Mapa. Uma regra de firewall simples é necessária para desabilitar uma pilha inteira de aplicativos ou um único compartilhamento de dados que não esteja configurado corretamente. É essencial lembrar que tudo se comunica entre si e saber onde são necessários recursos adicionais para garantir que o mapa seja preciso.
  3. Selecione. Lembre-se de que nem tudo foi projetado para a nuvem. Seja honesto sobre se um aplicativo não é adequado ou se é muito caro para migrar. E, quando se trata de escolher a nuvem certa, tudo deve estar na mesa. Não presuma que você tem a resposta certa.
  4. Desenvolver. Faça um plano e cumpra-o. Isso ajuda a manter a equipe focada e evita que o projeto seja desviado. Comemore os marcos quando eles forem alcançados e garanta que os usuários e gerentes estejam cientes do progresso. Mantenha a transparência.
  5. Acreditar. Esta é a etapa que as pessoas geralmente desejam pular, mas nada deve ser feito até que as primeiras etapas sejam concluídas. Isso porque quando você pula para a parte divertida, muitas vezes você acaba refazendo porque descobre que perdeu algo que teria sido identificado no planejamento.
  6. Responder. Não destrua o que já funciona e não introduza alterações não planejadas no aplicativo só porque você tem a oportunidade de fazê-lo, pois ele ainda não está online.
  7. Tentar. Certifique-se de que uma ampla variedade de usuários e dispositivos participem dos testes do aplicativo. Muitas vezes, é o usuário casual que encontra um problema comum, e não o usuário avançado que simplesmente resolve o problema ou nem percebe que existe um problema.
  8. Verificar. Tecnicamente, esta é a etapa mais fácil porque você executa as tarefas de segurança o tempo todo e pode dizer que está concluído. Se você esperar até o fim para aumentar a segurança, verifique novamente se o aplicativo ainda funciona.

Principais riscos da migração para a nuvem sem testes

Testar é uma tarefa difícil na melhor das hipóteses e, no caro mundo da TI, muitas vezes perde terreno para a sorte ou a ambição. Isso normalmente ocorre quando a administração vê a TI como um centro de custos e não como um ativo. Do ponto de vista da gestão, a nuvem é uma grande caixa que eles não conseguem ver ou compreender e que supostamente funciona tão bem para fornecer música e entretenimento aos seus smartphones.

Esta falta de compreensão é o que os gestores de projetos de TI devem combater, comunicando às partes interessadas a gravidade do que poderia acontecer sem bons testes de migração para a nuvem.

Os benefícios e riscos podem ser resumidos da seguinte forma: Os resultados dos testes bem-sucedidos são os seguintes:

  • Pessoal autoconfiante. Ver um teste bem-sucedido aumenta a confiança nas ferramentas, no treinamento e nos cronogramas – todos elementos-chave para uma migração bem-sucedida.
  • Economia de custos. Investir em testes iniciais pode economizar quantias incalculáveis de dinheiro no processo final.
  • Interrupções de serviço minimizadas. As interrupções planejadas são aquelas que os usuários entendem, podem planejar e com as quais podem trabalhar. É o inesperado que incomoda as pessoas.

Por outro lado, um teste de migração para nuvem ruim ou inexistente pode resultar em:

  • Interrupções de serviço. Sentir a raiva dos usuários reclamando com a administração não resolve o problema mais rapidamente e é um risco particular no caso de interrupções não planejadas.
  • É necessário recorrer a consultores. Quando surgem problemas que não podem ser resolvidos imediatamente, a gestão exige soluções o mais rápido possível. Contratar consultores passa a ser a única opção. Os consultores sabem disso e aumentam seus preços de acordo.
  • Esgotamento da equipe. É preciso que as pessoas estejam no seu melhor para uma migração, porque ela não termina num dia. Pequenos problemas são inevitáveis e, se você começar com o pé esquerdo, será quase impossível endireitar o navio.

O teste de migração para a nuvem é opcional e tem um custo. A questão é saber quanto risco a organização está disposta a correr ao omiti-los e se poderá lidar com o impacto caso ocorra uma grande perturbação.

Sobre o autor: Brian Kirsch, arquiteto de TI e instrutor da Milwaukee Area Technical College, trabalha com TI há 30 anos e possui diversas certificações.

Saiba mais sobre Aplicativos e serviços em nuvem