Alexandre Malveira, Wolflan Camilo
Introdução Cloud Computing Computação Móvel SaaS, PaaS e IaaS CloudBees
Diariamente arquivos são acessados, informações dos mais variados tipos são armazenadas e ferramentas e aplicações são utilizadas de maneira on premise. Entretanto, quando se fala em ambientes corporativos, essa prática de acessar arquivos e ferramentas localmente nos computadores deixa de ser interessante, pois, nas empresas, os funcionários necessitam compartilhar a todo o momento as mesmas informações e recursos, para desempenhar suas funções.
Também conhecido no Brasil como computação nas nuvens ou computação em nuvem, Cloud Computing se refere, essencialmente, à ideia de utilizarmos, em qualquer lugar e independente de plataforma, as mais variadas aplicações por meio da internet sem que estas estejam instaladas no computador do usuário.
Computação Móvel: Capacidade de realizar computação, acessar informações, aplicações e serviços em qualquer local e a qualquer momento por meio de tecnologias de acesso sem fio Capacidade de realizar computação mesmo durante deslocamentos Vem mudando a forma com que realizamos nossas atividades, sem a dependência de uma infraestrutura fixa de comunicação.
Utiliza aplicações diretamente da internet, sem que estas estejam instaladas no computador do usuário; Acessa determinadas aplicações independente do seu sistema operacional ou de hardware; Compartilhamento de dados e trabalho colaborativo se tornam mais fáceis; Dependendo do fornecedor, o usuário pode contar com alta disponibilidade.
O usuário pode contar com melhor controle de gastos; Dependendo da aplicação, o usuário pode precisar instalar um programa cliente em seu computador; O usuário não necessita conhecer toda a estrutura que há por trás.
Software as a Service (SaaS) Software como serviço. É uma forma de trabalho onde o software é oferecido como serviço, assim, o usuário não precisa adquirir licenças de uso para instalação ou mesmo comprar computadores ou servidores para executá-lo. Exemplos: Google Docs, SkyDrive
Platform as a Service (PaaS): Plataforma como Serviço. Trata-se de um tipo de solução mais amplo para determinadas aplicações, incluindo todos (ou quase todos) os recursos necessários à operação, como armazenamento, banco de dados, escalabilidade (aumento automático da capacidade de armazenamento ou processamento), suporte a linguagens de programação, segurança e assim por diante. Exemplos: CloudBees, Google AppEngine
Infrastructure as a Service (IaaS): Infraestrutura como Serviço. Parecido com o conceito de PaaS, mas aqui o foco é a estrutura de hardware ou de máquinas virtuais, com o usuário tendo inclusive acesso a recursos do sistema operacional. Exemplos: EC2 da Amazon e Blue Cloud da IBM
Esta plataforma foi desenvolvida com o objetivo de facilitar a construção, implantação e execução de forma gratuita de soluções Java, na nuvem. O CloudBees foi fundado no início de 2010, por Sacha Labourey (ex-diretor da JBoss); Tem como meta oferecer uma plataforma que possibilite aos desenvolvedores concentrarse 100% na implementação dos sistemas, não se preocupando com tarefas de manutenção e infraestrutura dos servidores.
A arquitetura dessa plataforma é baseada em três tipos de serviços: Build - responsável pela construção da aplicação; Run - responsável pela execução da aplicação; e Manage - responsável pelo gerenciamento da aplicação.
No serviço de construção (Build), o CloudBees oferece recursos para criação, integração e teste das aplicações. São disponibilizadas diversas ferramentas que auxiliam neste serviço, como é o caso do plugin CloudBees para a IDE Eclipse, que auxilia no processo de criação da aplicação, e também o suporte a Jenkins, que pode ser utilizado para integração contínua e para a realização de testes.
Para o serviço de execução (Run), o CloudBees oferece todos os recursos necessários para a hospedagem da aplicação na nuvem, como servidores de aplicação (JBoss e Tomcat), deploy através de arquivo WAR ou pela IDE Eclipse, e serviços de armazenamento de dados (MySQL e PostgreSQL).
No serviço de gerenciamento da aplicação (Manage), estão disponíveis, por exemplo, recursos rápidos para identificação de problemas de desempenho, facilidade para visualizar os relatórios de logs, ferramentas para controle de versões e consumo de memória, entre outros.
Não é necessário se preocupar com a infraestrutura do servidor; Manutenções no servidor ficam por conta do CloudBees; Disponibilidade para armazenamento de dados; Possibilidade de migrar facilmente seu aplicativo para outro ambiente, caso não goste do ambiente oferecido pelo CloudBees; Suporte a qualquer linguagem de programação que rode sobre a JVM, como Java, JRuby, Grails, entre outras.
Como descrito, este PaaS oferece uma camada de serviços gratuita; porém, caso o usuário opte por utilizar uma franquia, com mais recursos e/ou maior capacidade de armazenamento, por exemplo, será necessário pagar pelo serviço desejado.