CLOUD BURSTING: Equilíbrio nas nuvens Marcus Loza Resumo A computação em nuvem já é uma realidade que cada vez mais é adotada por empresas de todos os portes. Segundo o Gartner Group, 50% das grandes empresas adotará uma solução de nuvem híbrida até 2017. Embora a adoção da computação em nuvem propicie em termos financeiros as empresas um ganho no ROI e em termos técnicos um ambiente de TI mais alinhado a estratégia do negócio, onde a TI não é um fator de restrição e sim um catalisador, há ressalvas ao se adotar a computação em nuvem. O presente artigo apresentará uma dos modelos adotados na computação em nuvem, que visa manter o ambiente escalar e disponível, com relação à demanda de picos de processamento, incomuns no processamento diário. Palavras-Chaves: Computação em nuvem, Cloud Bursting, ROI, Capex, nuvem híbrida 1 INTRODUÇÃO Cloud bursting é um modelo no qual uma aplicação ou conjunto de aplicações processam em uma nuvem privada, que pode ter seu poder de processamento expandido, quando houver sobrecarga do processamento on premise, para uma nuvem pública (ROUSE, 2014). O modelo também pode ser utilizado para liberar recurso computacional da nuvem privada, onde aplicações não críticas são movidas para a nuvem pública, liberando o processamento on premise para aplicações críticas ao negócio (ROUSE, 2014). A vantagem desse modelo de nuvem híbrida é que uma organização paga somente pelos recursos computacionais externos quando esses são utilizados (TREND MICRO, 2011). 2 Os especialistas recomendam cloud bursting para aplicações de alta performance não criticas e que não trabalhem com informações sensíveis (ROUSE, 2014). A implantação de cloud bursting somente é aconselhável em ambientes híbridos, isto é, onde a empresa tenha uma nuvem privada e utilize uma nuvem pública para sobrecarga de processamento (ANDERSON, 2014). Mesmo em um ambiente híbrido as plataformas entre as nuvens privada e pública devem ser compatíveis. Outros recursos tais como APIs, políticas, interfaces e ferramentas também devem ser compatíveis (ANDERSON, 2014). A nuvem híbrida é, afinal, um modelo de implantação em que duas ou mais nuvens separadas estão ligadas entre si. 2 O IMPACTO DO CLOUD BURSTING NOS NEGÓCIOS As principais vantagens na adoção da arquitetura cloud bursting, segundo Anderson, 2014, são: Funcionalidade self-service - Controle de qual recurso e quando esse será provisionado. Flexibilidade - A expansão ocorre onde, quando e como a empresa determinar. Tolerância a falhas - vários locais podem ser usados para a redundância, limitando o erro humano através da automação. Como exemplo dos benefícios, podemos citar o banco hipotético de nome X que possui um aplicativo de folha de pagamento em duas camadas, web como frontend e SQL como back-end. 3 A infraestrutura de TI possui cinco servidores para suportar picos de sobrecarga ao longo do mês. Os picos sempre acontecem na primeira e na última semana do mês, nas semanas restantes os servidores são subutilizados. A equipe de TI do banco decidiu mudar a infraestrutura mantendo um servidor front-end on premise, para as cargas do dia-a-dia. Para picos de carga decidiu escalar um provedor para o processamento. Para que isso aconteça a TI do banco necessitará avaliar cinco itens, de acordo com Anderson (2014): Monitoramento do status do serviço Orquestração da escala do serviço Gerenciamento da escala do serviço Conectividade de rede entre a rede privada e pública Replicação de dados Cada um desses cinco itens pode ser implementado usando várias tecnologias, e cada uma dessas tecnologias determinará como o processo de bursting será executado. O ideal é que o aplicativo ou serviço trabalhe de forma autônoma de acordo com o SLA, permanecendo em conformidade com as necessidades da demanda (ANDERSON, 2014). 3 OS GRANDES DESAFIOS PARA SE IMPLANTAR O CLOUD BURSTING Apesar da economia ao se adotar o modelo, o grande desafio é técnico, ou seja, a implementação deste modelo. Basicamente, são três os principais desafios de implementação do modelo: 4 Conectividade de rede entre as nuvens pública e privada Para implementar a conectividade de rede podemos adotar um dos modelos abaixo: Virtual private cloud: neste modelo basicamente criamos um canal VPN entre as nuvens privada e pública, tornando a rede uma só, de forma transparente às aplicações; Load balance web traffic: neste modelo os sites privados e públicos permanecem isolados um do outro. Neste caso, é necessário um balanceamento global, para rotear o tráfico entre as nuvens. Configuração consistente do ambiente Neste contexto precisamos de ferramentas de gerenciamento de configuração e automação para que os dois ambientes de nuvem trabalhem em sintonia. Como a arquitetura de cloud bursting trabalha com ao menos com duas nuvens (privada e pública) em dois ambientes distintos (interno e externo), há um desafio em manter os aplicativos gerenciados e configurados nos ambientes de nuvem. Para que isso seja viável é necessário que os ambientes sejam compatíveis. Uma possível solução é que a nuvem privada e a nuvem pública trabalhem na mesma plataforma, nesse caso a configuração e o gerenciamento se tornam mais simples. Outra proposta que torna o gerenciamento mais simples é migrar as aplicações inteiras em uma das nuvens, pois dessa forma as questões relacionadas ao gerenciamento e comunicação são amenizadas, sendo necessário determinar quais aplicações se ajustam melhor a qual tipo de nuvem. 5 Modelo de dados e segurança A segurança é sempre uma preocupação e um desafio para as organizações. Deve ser verificado junto ao provedor da nuvem pública se ele oferece os requisitos necessários para o negócio. É essencial que o dado sensível não seja colocado em risco quando o processamento for expandido para a nuvem pública no bursting. Quando a arquitetura cloud bursting é usada, há necessidade de se estabelecer um canal de comunicação seguro entre as nuvens. Quando o dado é expandido no bursting da nuvem privada para a nuvem pública, essa preocupação deve ser ampliada quanto à segurança. É aconselhável configurar um canal criptografado entre os dois ambientes de nuvem, a fim de prevenir violação de dados através de interceptação. Cloud bursting é dependente geralmente em migrar grandes quantidades de dados entre os ambientes, e isso pode ocasionar em latência. Para ilustrar podemos citar um aplicativo, conforme o citado no caso do banco hipotético, em duas camadas, onde a camada de interface (front-end) fica em uma nuvem (pública) e a camada de dados (back-end) fica na outra nuvem (privada). Isso pode ser evitado utilizando uma réplica dos dados no ambiente de nuvem alternativo. Os dados necessitam ser sincronizados para manter uma cópia atualizada. A replicação de uma grande quantidade de dados que são atualizados com muita frequência, pode causar uma latência considerável, tendo como consequência uma performance abaixo da ideal. Uma proposta para evitar a latência é armazenar a aplicação como um todo em uma nuvem. Dessa forma a replicação dos dados pode diminuir ou nem mesmo ser necessária. 6 Basicamente temos duas opções relacionadas ao bursting dos dados, conforme NatiShalom (2012): Site primário: neste caso, usaremos a nuvem privada como site de dados e teremos todas as atividades de bursting apontadas para este site. Site federado: neste caso, há replicação de dados entre os sites, onde as réplicas devem ser mantidas sincronizadas. A primeira abordagem incorre em pesadas sanções em termos de latência, pois cada computação precisa fazer a viagem de volta para o site primário (round trip), a fim de obter os dados para o cálculo (ANDERSON, 2014). . A segunda abordagem replica os dados entre os sites em um streaming de maneira contínua, e isso faz com que os dados fiquem disponíveis na nuvem assim que ocorre o pico (ANDERSON, 2014). . O segundo método possui vantagem em relação ao primeiro, pois no primeiro caso, há uma latência considerável entre as nuvens, uma vez que há necessidade de se fazer um round trip nos dados (NATISHALOM, 2012). Para implementar o cloud bursting de forma a garantir que o CAPEX seja mínimo, uma grande automação é necessária nos seguintes contextos: A expansão da sobrecarga para a nuvem pública. A desativação dos recursos da nuvem pública quando esses não são mais necessários. 7 Para que essa automação seja implementada será necessária a medição de algumas métricas a nível de infraestrutura e aplicações para a composição de KPIs. A princípio, caso a empresa não tenha a definição dessa métrica, pode ser trabalhar com o KPI que é a experiência do usuário. Com essa métrica é possível identificar quando o ambiente está sobrecarregado a partir da sinalização dos usuários. Essa métrica não é suficiente para a completa automatização do cloud bursting, uma vez que ela somente indica que há um problema de sobrecarga, mas não assinala onde e qual é a causa do problema (ANDERSON, 2014). 4 CONCLUSÃO Embora a arquitetura de Cloud Bursting traga benefícios, sua adoção requer critérios de avaliação bem estipulados, uma vez que nem todos os cenários são favoráveis a sua adoção. Sua adoção em um ambiente desfavorável pode ter como consequência aumento do Capex, além de possíveis transtornos no gerenciamento e configuração na infraestrutura de TI alinhada ao negócio. O primeiro passo na avaliação da adoção do Cloud Bursting é verificar se a empresa já possui um ambiente de nuvem privada, ou se sua adoção trará algum ganho considerável ao negócio. REFERÊNCIAS ANDERSON, Brad. Success with Hybrid Cloud: By Scenario – Cloud Bursting. Disponível em: <http://blogs.technet.com/b/in_the_cloud/archive/2014/02/28/success-with-hybridcloud-by-scenario-cloud-bursting.aspx>. Acesso em: 05 mai. 2014. ROUSE, Margarete. Guiding the enterprise into a hybrid cloud model. Disponível em: < http://searchcloudcomputing.techtarget.com/definition/cloudbursting>. Acesso em: 05 mai. 2014 8 SHALOM, Nati. Making Cloud Bursting a Practical Reality. Disponível em: <http://natishalom.typepad.com/nati_shaloms_blog/2012/05/making-cloudbursting-a-practical-reality.html>. Acesso em: 07 mai. 2014 TREND MICRO. What is Cloudbursting? Disponível em: < http://blog.trendmicro.com/what-is-cloudbursting/#.U3d5cfldWSo> Acesso em: 07 mai. 2014 Glossário ROI - Retorno sobre o investimento Capex – Despesas de capital ou investimento em bens de capital On premise – interno Front-end - interface entre o usuário e o back-end Back-end – Relacionado à camada de processamento dos dados, principalmente por parte do servidor API – Interface de programação de aplicativos KPI – Indicador chave de desempenho Streaming – fluxo de mídia SLA – Acordo de nível de serviço VPN – Rede privada virtual SQL – Linguagem de consulta estruturada