Mostrando postagens com marcador nuvem. Mostrar todas as postagens
Mostrando postagens com marcador nuvem. Mostrar todas as postagens

segunda-feira, junho 27, 2011

Cloud Computing: Aprendendo a Programar nas Nuvens - Introdução


Este post inicia uma nova série sobre cloud computing cujo intuito é dar noções iniciais sobre essa badalada tecnologia. Para que não sabe ou lembra, já escrevemos alguns posts introdutórios sobre o tema e cuja leitura é recomendada: Cloud Computing - Programando nas Nuvens, Aprenda Cloud Computing com a Microsoft e Quer começar a programar em nuvem? Veja aqui as opções.

Apesar de causar arrepios em alguns, com uma possível perda de privacidade, a ideia de cloud computing já está consolidada na Internet onde aparece desde redes sociais, passando por discos virtuais até reservatório de músicas.

Nesse pequeno post introdutório, vamos explicar resumidamente o que é o Google App Engine e seus principais pontos.

O Google App Engine é toda a infraestrutura de programação em nuvens provida pelo Google. Isso significa que sua aplicação ficará hospedada nos servidores do Google e estará disponível para acesso de qualquer lugar onde haja Internet. 

O App Engine é gratuito mas com algumas limitações: 10 aplicativos por conta de desenvolvedor; cada aplicativo pode utilizar 500 MB de armazenamento e 5 milhões de visualizações de páginas por mês. Para  mais recursos pode-se pagar, o que pode desanimar alguns, mas é fácil perceber que quando estiver próximo ao limite da cota, sua aplicação provavelmente já terá bastante receita para pagar por infraestrutura.

Várias linguagens de programação são suportadas, como Javascript e Ruby, mas o ambiente é fortemente orientado para Java e Python. O que acaba atendendo praticamente a todo o público de desenvolvedores, já que praticamente todo mundo aprende Java na faculdade.

As aplicações rodam em uma sandbox que permite um ambiente seguro para desenvolvimento e produção. O acesso ao sistema operacional das máquinas hospedeiras é limitadíssimo. Não é possível ler arquivos, exceto os fornecidos com o código fonte da aplicação. Toda a entrada e saída de dados é feita através de URLS e emails.

Outro ponto que merece destaque é o armazenamento de dados. Trata-se de uma forma não convencional de armazenamento, ou seja, nada do banco de dados relacional padrão. Ao invés disso definimos entidades com propriedades que são armazenadas remotamente. Este tópico será melhor abordado em um futuro post.

Um recurso bastante interessante é a possibilidade de utilizar contas do Google para fazer login na sua aplicação, assim não será necessário criar todo um sistema de controle de usuários e acesso.



O Google App Engine é um ótimo começo para quem pretende aprender a programar nas nuvens, pois não exige uma curva de aprendizado muito acentuada, bem como novas linguagens e paradigmas. No próximo post você aprenderá a preparar sua máquina para desenvolver aplicações na nuvem.

sexta-feira, março 13, 2009

Quer começar a programar em nuvem? Veja aqui as opções!

No artigo chamado Cloud Computing - Programando nas nuvens, explicamos um pouco sobre essa nova tendência na área de desenvolvimento de sistemas, além de explicar um pouco a respeito sobre os conceitos relacionados, bem como quem atualmente está investindo na área. Sendo assim, nesse post pretendo abordar uma nova vertente da Cloud Computing que tem um potencial de crescimento significativo, o desenvolvimento para Sistemas Operacionais em nuvem. Veja algumas alternativas para quem quer começar a "andar nas nuvens".

Windows Azure



Sem dúvida um dos assuntos mais comentados a respeito do desenvolvimento de S.O rodando na nuvem, foi a respeito da inclusão da Migrosoft nesse mercado através de sua nova plataforma para criar e executar aplicações web, chamada Windows Azure. Suas vantagens principais estão no uso de produtos conhecidos como o MS SQL Server que recebeu sua versão online batizada de SQL Services, o Visual Studio 2008 já com algumas ferramentas incorporadas para o desenvolvimento em Cloud Computing, além de integração com a série Live Services, um conjunto de serviços e blocos construtivos que podem ser usados na construção de web apps. Entretanto, o Windows Azure ainda está em fase beta e atualmente só é compátivel com aplicações criadas usando o .NET Framework. Quem estiver interessado em conhecer melhor o sistema pode dar uma olhada na versão beta localizada na Community Technology Preview.

Google App Engine



Atualmente quando se fala em cloud computing, é inevitável pensar no Google com todos os seus serviços web como Docs, Calendar, Gmail, Reader, etc..Tanto como é inevitável a entrada da empresa em um projeto tão interessante quanto o desenvolvimento de S.O para nuvem. A aposta do Google nessa área vem na forma do Google App Engine, atualmente gratuíto em sua fase Beta, ele disponibiliza 500MB em armazenamento para os usuários que segundo o google, em conjunto com o poder de processamento destinado ao recurso, são capazes de suportar sites de até 5 milhões de page views mensais. Atualmente, ele encontra-se entre os produtos mais limitados quanto à outras plataformas em nuvem, oferecendo apenas a possibilidade de desenvolver aplicativos usando a linguagem Python e banco de dados em DataStore, versão derivada do banco de dados Big Table, usado internamente na empresa. A estimativa é que futuramente a empresa lance versões pagas do produto com maiores recursos.Quem quiser conferir o Google App Engine e baixar o SDK, é só acessar a área reservada ao produto no website do Google.

EyeOS



O EyeOS é o mais novo candidato a ser o Linux da Cloud Computing. Trata-se de um projeto de software livre iniciado em 2005 por Pau Garcia-milá e que já abrange comunidades de desenvolvedores operando em 9 países. Apesar de não ser considerado um S.O em essência, por não permitir interação direta com o hardware, ele roda sobre Apache e PHP e permite ao desenvolvedor criar e executar aplicações web facilmente. Entrando no site do projeto, é possível baixar o kit de ferramentas (SDK) ou testar o sistema online.