Por que eu devo ler este artigo:Do que trata o artigo

Este artigo apresenta o processo de desenvolvimento de uma aplicação Web que faz uso da plataforma de desenvolvimento App Engine do Google. O aplicativo a ser desenvolvido oferece os recursos de um dicionário da língua portuguesa e um tradutor Português/Inglês e Inglês/Português.


Para que serve

Classificado no modelo de serviço PaaS (Platform as a Service – Plataforma como Serviço), o Google App Engine oferece serviços de desenvolvimento de aplicações em nuvem, permitindo aos desenvolvedores a criação dos próprios aplicativos web utilizando a infraestrutura das aplicações do Google.


Em que situação o tema é útil

Plataformas ofertadas como serviço permitem que o usuário faça uso de toda uma plataforma de desenvolvimento de aplicações voltadas para a Computação em Nuvem – um novo paradigma da computação que vem ganhando força desde 2006, caracterizando-se principalmente por uma profunda modificação dos modelos tradicionais de utilização dos recursos de TI. As aplicações que fazem uso do Google App Engine são fáceis de criar, manter e escalar de acordo com a necessidade do usuário.

Computação em Nuvem (Cloud Computing)

Em departamentos de Tecnologia da Informação, há cerca de duas décadas atrás, já se agrupavam computadores de forma a simular um único computador com maior capacidade computacional. A clusterização, como é chamada, permitiu a comunicação entre computadores que, neste contexto, são também denominados nós, equilibrando a demanda computacional. Usando softwares de gerenciamento de clusters, os processos são executados na CPU (Central Processing Unit - Unidade Central de Processamento), com maior disponibilidade de processamento naquele instante.

Em 1990, surge uma nova tecnologia, conhecida por Grid Computing, ou Computação em Grade, que teve como premissa uma analogia com o fornecimento de energia elétrica. Se recursos como energia podem ser fornecidos por terceiros, isso também poderia ocorrer com os recursos de computação. A Computação em Grade expandiu os conceitos de clusters, pois possibilita um melhor aproveitamento dos recursos, utilizando-se de momentos ociosos dos recursos computacionais das máquinas interligadas, pertencentes a diferentes domínios e distribuídas geograficamente. Grades computacionais são muito utilizadas para fins científicos, como em grandes universidades.

A Computação em Nuvem, ou Cloud Computing, utiliza-se dos conceitos da Computação em Grade, oferecendo recursos de data centers a usuários que não querem preocupar-se em adquirir a infraestrutura necessária para montar uma grade computacional. Este novo paradigma vem ganhando força desde 2006, caracterizando-se principalmente por uma profunda modificação dos modelos tradicionais de utilização dos recursos de TI.

Muitas pessoas acreditam que a Computação em Nuvem é um novo paradigma que será responsável por grandes transformações no atual mundo de TI. Outras acreditam, simplesmente, que este paradigma é apenas uma evolução repaginada da já conhecida Utility Computing ou Computação Utilitária.

A Computação em Nuvem pode ser resumidamente definida como um modelo tecnológico que permite o acesso a um conjunto de recursos computacionais através de uma rede, por demanda, de forma rápida e sem a necessidade de grandes configurações.

Este paradigma tem como principal característica mudar o foco dos departamentos de TI para projetos estratégicos, ao invés de simplesmente manter recursos em funcionamento (como os data centers), enquanto reduz custos operacionais e de capital.

Segundo Taurion (2009), a ideia da Computação em Nuvem é bastante sedutora, pois propõe uma forma de utilizar recursos ociosos, diminuir custos para as organizações, possibilitar aos usuários domésticos acesso amplo aos seus dados e aplicativos através de qualquer dispositivo com acesso à Internet e, tudo isso, sem pagar por licenças de uso de software. Por outro lado, o uso deste modelo está altamente subordinado a uma Internet de boa velocidade, consistente e estável. A interoperabilidade entre diferentes nuvens pode ser vista como um problema, já que ainda não existem padrões claramente definidos. Deve-se levar em conta também a questão da segurança no tráfego de dados confidenciais através da nuvem.

O avanço das aplicações Web 2.0, a disseminação da Internet banda larga e a pressão por melhores infraestruturas computacionais nas organizações são fatores que influenciam e favorecem a utilização deste paradigma emergente.

Cada vez mais, as organizações estão voltando-se para a Computação em Nuvem como um meio de baixo custo e de rápido tempo de entrega de soluções ao mercado. Grandes empresas como Amazon, Google, Salesforce e IBM já fazem uso deste paradigma e vêm obtendo satisfatórios resultados.

O Google App Engine possibilita a execução de aplicativos Web na infraestrutura de nuvem própria do Google, aproveitando todo o poder de processamento da empresa. Seus recursos são escaláveis, de forma dinâmica, à medida que o tráfego e a necessidade de armazenamento aumentam, tornando simples e fácil a manutenção dos aplicativos que fazem uso desta plataforma.

Neste contexto, com intuito de apresentar como se dá o desenvolvimento deste tipo de aplicação, neste artigo será desenvolvida uma aplicação prática, usando o Google App Engine, plataforma de desenvolvimento em nuvem gratuita, para demonstrar uma das soluções de Computação em Nuvem.

O Google App Engine

O Google é considerado como uma das empresas pioneiras na utilização da Computação em Nuvem. O exemplo de maior destaque é o mecanismo de busca ofertado por esta empresa que é usado por milhares de pessoas. Como o mecanismo requer uma grande capacidade de processamento e necessita acessar milhares de megabytes de dados, a solução encontrada pela empresa foi agrupar centenas de milhares de servidores em data centers espalhados por todo o mundo.

Para aproveitar a imensa capacidade da nuvem computacional, o Google passou a disponibilizar outros serviços além da busca, como o YouTube, Google Maps, Google Apps e também o Google App Engine.

Classificado no modelo de serviço PaaS (Platform as a Service – Plataforma como Serviço), o Google App Engine oferece serviços de desenvolvimento de aplicações em nuvem, permitindo aos desenvolvedores a criação dos próprios aplicativos web utilizando a infraestrutura das aplicações Google.

Como os aplicativos alocados no Google App Engine encontram-se na nuvem do Google, não há necessidade de manter servidores. As aplicações para esta plataforma são fáceis de criar, manter e escalar de acordo com a necessidade do usuário. Além disso, o Google fornece um ambiente de desenvolvimento local que simula o Google App Engine em qualquer computador desktop.

Atualmente são suportadas as linguagens de programação Python e Java. O armazenamento de dados faz uso do Big Table, um sistema de armazenamento distribuído de gerenciamento de dados estruturados que se destina ao armazenamento em larga escala.

O ambiente de desenvolvimento Java, que será usado no decorrer deste trabalho, é compatível com o padrão Servlet Java e também possibilita o uso de JSPs (Java Server Pages).

Como principal vantagem desta plataforma de desenvolvimento em Nuvem, pode-se citar o fato de a utilização da infraestrutura do Google estar associada à credibilidade que a empresa ganhou no decorrer dos anos e também à garantia de disponibilidade ofertada.

...
Quer ler esse conteúdo completo? Tenha acesso completo