artigo publicado na revista da Ordem dos Engenheiros, número 118 - Julho/Agosto de 2010

Cloud computing

A expressão mais hype que poderemos ouvir este ano em tecnologias de informação é “cloud computing”. É dificil encontrar hoje em dia uma empresa que não forneça serviços ou produtos na “nuvem”. Para melhor entendermos o significado deste novo conceito vamos ter que observar a forma como trabalhamos com computadores.

Habitualmente utilizamos aplicações que estão instaladas nos nossos computadores pessoais e guardamos os dados nesses mesmos discos. Num ambiente empresarial, as aplicações e dados são guardados em servidores que estão acessiveis de qualquer ponto da rede da empresa. Neste ambiente tiramos partido da economia de escala colocando aplicações distribuidas entre os servidores  e utilizando ao máximo as capacidades dos computadores pessoais. Os servidores das empresas estão alojados em datacenters que necessitam de equipas dedicadas para a manutenção de toda a infraestrutura garantindo a segurança fisica e tecnologica das instalações.

Duas evoluções tecnologicas permitiram o advento de uma nova forma de pensar os sistemas informáticos: a melhoria das telecomunicações e a capacidade de criar datacenters mais económicos e sustentáveis. Hoje o acesso à internet está cada vez mais rápido, seguro e económico e os datacenters requerem menos manutenção no espaço físico e menor esforço de gestão de software.

Acompanhando a alteração macro-económica surgiram novas necessidades tecnológicas: economia de escala, “long tail”, multi-moeda e multi-idioma são termos que hoje constam nos cadernos de requisitos de qualquer aplicação. O mercado procura novas formas e soluções mais económicas para criar e fornecer aplicações e consequentemente de criar uma estrutura de sistemas de informação mais sustentável.

Cloud computing surge como a forma de partilhar recursos, software e armazenamento utilizando a internet como canal de comunicação. A computação e armazenamento são utilizados e pagos como serviços, criando uma visão de IT como utility.

Os utilizadores finais – consumidores – quererão utilizar soluções que tenham uma componente cloud porque terão mais possibilidades de escolha, adequação à necessidade e portanto poder de decisão sobre a tecnologia. Por exemplo, um estudante poderá criar uma folha de Excel na sua área de trabalho no skydrive(armazenamento na cloud) utilizando apenas o Internet Explorer, depois partilhar o ficheiro com os seus colegas de trabalho e editar simultaneamente o ficheiro vendo em tempo real as alterações. Mais tarde poderá utilizar o seu Office instalado no seu PC para finalizar a edição tirando proveito das capacidades de todo o hardware local. A cloud dá-nos maior mobilidade e a utilização dos recursos mais vantajosos para o momento e permitindo uma experiência comum e homogenea.

As vantagens para as empresas são igualmente marcantes:

- O modelo económico muda de CapEx para OpEx. Não há custos de instalação, apenas custos de utilização o que é extremamente vantajoso para start-ups;

- Redução de custos operacionais – os custos de gestão dos sistemas são partilhados.

- Diminui o risco económico dado que apenas se paga o que utiliza. Não há necessidade de adquirir dispendiosos datacenters, inclusivé para gestão de backup. Tudo pode ser feito online;

- A experiência em gestão de sistemas e datacenters é partilhada. Por um custo bastante inferior ao de aquisição têm acesso a gestão e administração de sistemas de topo.

A perspectiva económica e de massificação de utilização traz vantagens económicas, os departamentos de IT não adquirem computadores para ficarem parados, da mesma forma diferentes padrões de utilização são benéficos para

Na cloud tudo é visto como um serviço e consumido como tal. É a forma como estes serviços são disponibilizados que permite a sua classificação.

 

Classificação de serviços na Cloud

Existem três grandes grupos de serviços fornecidos pelos fabricantes:

- “Infrastructure as a Service” (IaaS) ou Infra-estrutura como Serviço – consiste num conjunto de serviços de abstracção do hardware. Estes serviços fornecem a administração de hardware permitindo que os administradores de IT tenham o foco apenas na administração das máquinas virtuais e dos sistema operativo inerentes. Têm total controlo sobre as máquinas e também total responsabilidade.

Os principais players neste campo são a Microsoft (Azure), Amazon (Elastic Compute Cloud – EC2) e VMWare (vCloud).

- “Platform as a Service” (PaaS) ou Plataforma como Serviço – consiste num conjunto de serviços que permite a abstracção do sistema operativo e da framework onde a aplicação está colocada. Os utilizadores destes serviços são criadores de software (developers) que não querem estar preocupados com a gestão dos recursos disponiveis, estando focados na sua própria produtividade. Nestes serviços podem criar e correr aplicações, armazenar dados e executar outros serviços numa perspecitva de alocação dinamica de carga. Neste tipo de serviços os administradores de IT não precisam fazer gestão de patches ou de segurança do sistema operativo. A sua função é a monitorização de performance e tuning aplicacional.

As principais plataformas disponíveis são Microsoft (Windows Azure platform), Amazon (Web Services - AWS), Google (AppEngine) e Force.com

- “Software as a Service”  (SaaS) ou Software como Serviço – o software é fornecido como serviço,  o utilizador não necessita instalar o software e não tem consciencia de qual a versão que utiliza. São serviços principalmente orientados ao utilizador final que precisa de uma ferramenta(software) para cumprir uma função e exige que seja a mais recente e adequada. O conceito de versão dissipa-se e perde relevância dado que o utilizador exige produtividade e funcionalidade. Tipicamente o software é todo executado na cloud. Por razões históricas associamos este modelo a software acedido utilizando um browser mas este conceito é redutor. Um bom modelo de distribuição permitirá que exista uma aplicação rica neste modelo.

Alguns exemplos deste tipo de soluções são: Microsoft Exchange Online, Salesforce.com, Google Apps ou wordpress.com

Independentemente do tipo de serviço fornecido terá que ter sempre um conjunto de caracteristicas que o identificam claramente como um serviço cloud.

 

Escalabilidade, disponibilidade, elasticidade e… Ecologia.

Uma public cloud é caracterizada por uma infra-estrutura que garante poder de computação elástico e capacidade de armazenamento escalável apoiados numa topologia de rede resiliente a falhas e uma gestão económica de todos os recursos. Com esta combinação de factores conseguimos obter disponibilidade, redundância e consequentemente elasticidade.

O modelo económico da public cloud é sempre baseado na utilização de recursos. É um modelo tradicional de “pay per use”. Esta situação permite às empresas acabadas de formar dispor de uma infra-estrutura tão complexa e tão poderosa quanto a de uma grande organização, pagando apenas pelos recursos que utilizam.

Na prática uma cloud pública consiste num conjunto de datacenters distribuídos globalmente com redundância entre si. Cada datacenter é constituído por milhares de servidores geridos da forma mais eficiente possível. Os datacenters de última geração integram centrais hidroeléctricas e não é necessário utilizar ar condicionado no arrefecimento dos servidores.  Aliado a uma maior eficiência de gestão de máquinas está uma preocupação ecológica.

Se numa “Public Cloud” o datacenter é gerido por uma entidade externa e é disponibilizado para muitas organizações, numa “Private Cloud” a estrutura é utilizada apenas por uma organização e o modelo económico é claramente diferente de uma Public Cloud. Há correntes de opinião que defendem que o termo Private Cloud é uma contradição per se e não deve ser utilizado dado que não respeita as caracteristicas de elasticidade, disponibilidade e modelo económico de uma verdadeira Cloud. No entanto o termo Private Cloud entrou no léxico comum e designa geralmente grandes datacenters dedicados a uma organização, podendo estar nas instalações da organização ou em hosters. Assim, o modelo económico de uma private cloud é completamente diferente de uma public cloud.

Se todos os factores indicam que o movimento para a public cloud é inevitável, ainda existe um impedimento importante que são as questões legais e de soberania sobre dados. Em alguns sectores de actividade podemos utilizar a capacidade computacional da cloud mas os dados deverão estar armazenados em território nacional ou europeu. Esperemos que estes constrangimentos sejam actualizados no futuro para contemplar critérios de segurança e disponibilidade da informação e não a localização dos servidores onde estão os dados.

Um dos factores principais na escolha do fornecedor de cloud consiste em dar o poder de escolha ao cliente/utilizador. Se o cliente puder executar a aplicação no seu datacenter, num hoster ou na public cloud terá certamente uma solução vencedora. Além do mesmo know how necessário para desenvolver para os diversos ambientes, este é também um dos factores diferenciadores que a Microsoft fornece.

 

Somos a Cloud

Cloud computing é uma evolução natural das tecnologias de sistemas de informação. É uma realidade, está disponível e acessível para empresas, instituições, governos e utilizadores. É um conceito natural e invisivel. É a forma mais económica de obter recursos informáticos, com menor risco financeiro e tirando proveito do conhecimento tecnológico mais avançado no sector. Hoje, mesmo sem termos consciência já somos a cloud.