Cloud Computing e seus próximos passos

Por Boris Kuszka | 18 de Junho de 2014 às 17h05

Cloud Computing continua em alta. O assunto está nas top prioridades dos CIOs, de acordo com os principais analistas de mercado (Gartner, IDC, Forbes, etc). Da forma como está sendo implementada hoje em dia, é uma evolução da virtualização de servidores, mas estendendo-se para outros componentes de infraestrutura, como storage e rede. Nada errado com isso. É uma forma de, por etapas, melhorar a eficiência de TI que é o objetivo final da Cloud Computing.

Essa abordagem de evolução do ambiente de virtualização é focada em infraestrutura propriamente dita, o chamado IaaS (do inglês infraestrutura como serviço) e automatiza o provisionamento dos componentes até o sistema operacional. Mas, o mercado está demandando algo a mais, o provisionamento deve ir mais adiante, deve incluir o próprio Sistema Operacional e a plataforma de execução da aplicação: as bibliotecas que permitem que a aplicação rode, a linguagem, o servidor de aplicação e até outros componentes de software como Middleware.

Middleware? Sim, Middleware: são componentes de software que permitem que a aplicação rode de maneira mais eficiente em uma plataforma computacional (seja em um ou muitos computadores). Simplisticamente falando, são os componentes que ficam entre a aplicação e o sistema operacional, daí o nome Middleware. Cada vez mais utilizado, o Middleware permite que os desenvolvedores se concentrem no código da aplicação para resolver os problemas de negócio enquanto deixam para o Middleware questões sobre escalabilidade, redundância, performance, resiliência, integração, acesso e facilidade de manutenção e alteração de código.

Quando a sua infraestrutura de Cloud Computing engloba também a plataforma de execução da aplicação, chamamos isso de PaaS (do inglês plataforma como serviço) e isso eleva a eficiência de colocar uma nova aplicação disponível para sua empresa em ordens de grandeza. Por exemplo, digamos que uma empresa queira lançar um novo serviço no mercado, uma venda de ingressos de shows pela web. Os passos seguintes, para que o processo entre em produção, são aprovação de orçamento, conseguir as máquinas para começar o desenvolvimento, instalar as máquinas, o sistema operacional, os patches, a(s) linguagem(s) de desenvolvimento, o middleware para o aplicativo e as ferramentas de teste. Codifica-se a aplicação e testa-se em um ambiente de homologação. Depois de aprovado configura-se o ambiente de produção, tomando o cuidado para que todas as versões das bibliotecas, linguagens e Middleware estejam corretas e que não falte nada. Testa-se o ambiente de produção e alocam-se máquinas para que consigam segurar um pico de venda quando ocorrer. Se a alocação for mal feita duas situações podem ocorrer: máquinas sobrarão nos momentos de menor venda ou o serviço vai ficar indisponível nos momentos de pico, o que implica em perda de receita invariavelmente.

Já com uma implementação com PaaS aprovado, o orçamento do desenvolvedor define o ambiente de desenvolvimento e, em questão de minutos (comparando com semanas ou meses), o ambiente está disponível com todas as linguagens, bibliotecas e Middleware necessário para a codificação. Isso é feito pelo conceito de cartuchos que contêm conjuntos de ferramentas de software pré-definidos (e homologados pelo departamento de TI). E esses cartuchos são alocados sob demanda para o desenvolvedor. Após a codificação, os testes são feitos utilizando os mesmos cartuchos: o que garante que todas as versões das ferramentas de software sejam as mesmas. No ambiente de produção, idem: o mesmo conjunto de cartuchos garante o mesmo ambiente e, ao colocar o serviço disponível, aloca-se o mínimo de poder computacional suficiente para entrar em produção. De acordo com o crescimento da demanda (no caso do aumento da venda de ingressos), mais poder computacional é alocado do pool de recursos de Cloud Computing e, conforme as demandas caem, esse poder computacional é devolvido para o pool, ficando disponível para outros serviços. Esse exemplo mostra os conceitos de auto-atendimento e elasticidade de Cloud Computing.

A ideia de colocar componentes de Middleware no PaaS é mais recente, aumentando a agilidade que a plataforma de Cloud Computing traz para os desenvolvedores, e está chamando a atenção das comunidades de desenvolvimento. O OpenShift, projeto Open Source de PaaS, reflete bem esse fenômeno e, um pouco diferente do que vemos nos outros projetos de Open Source, a colaboração maior da comunidade de desenvolvedores está se dando mais no desenvolvimento de cartuchos e expandindo cada vez mais o escopo do PaaS do que no OpenShift propriamente dito.

Este novo cenário traz mais acrônimos para o mundo de Cloud Computing, refletindo o componente de Middleware que está sendo focado: aPaaS, quando o foco é o servidor de aplicações (Application Platform as a Service); iPaaS, quando é integração (Integration Platform as a Service); mPaas, quando é plataforma de dispositivos móveis (Mobile Platform as a Service); e até bpmPaaS, para o gerenciamento de processo de negócios (Business Process Management Platform as a Service). O Cloud Computing está evoluindo rapidamente e está se provando efetivamente como a tecnologia que veio para aumentar a eficiência e a produtividade de TI.

Novidades estão surgindo diariamente, portanto fique atento em como esse fenômeno pode ajudar a sua empresa e cuidado com o lock-in!

Fique por dentro do mundo da tecnologia!

Inscreva-se em nossa newsletter e receba diariamente as notícias por e-mail.