segunda-feira, 29 de outubro de 2012

Primeiros passos com Openshift

Introdução

Esse é o primeiro de muitos posts que venho organizando sobre Cloud Computing. Ultimamente tenho me interessado bastante no assunto e por isso venho estudando a fundo sobre assuntos que giram em torno dessa nova buzzword.
Vamos ao que interessa: nesse post explicarei como criar sua primeira aplicação utilizando um serviço PaaS (Platform-as-a-Service, explicarei melhor esse e outros termos em outro post) da Red Hat chamado OpenShift. O OpenShift é um serviço relativamente novo porém traz diversas funcionalidades que fazem dele um serviço PaaS bem mais amplo. Para criar a nossa primeira aplicação, é necessário instalar os seguintes componentes:

Criando uma conta no OpenShift

Antes de criar nossa aplicação, precisamos criar uma conta no OpenShift no site http://openshift.redhat.com.   Esse é um dos pontos de acesso para criar, gerenciar e monitorar suas aplicações e tecnologias hospedadas no OpenShift através da interface de gerenciamento. Abaixo a página inicial do OpenShift:

Página inicial do OpenShift
Na página inicial, clique em "Sign up - It's free" (e de fato é... =D ) e preencha os dados conforme a tela abaixo:


Feito isso, você receberá um e-mail de confirmação de sua inscrição e pronto! Agora podemos criar aplicações no ambiente OpenShift.

Criando um domain

criando um domain


Abrirá um diálogo para digitar o nome do seu domain. Após escolher um nome para seu domain, clique em Finish:



Criando a aplicação

Finalmente, vamos criar a aplicação clicando com o botão direito na sua conta Openshift e selecionar "New OpenShift Application...":



Abrirá uma tela para criar sua aplicação. Eu vou tentar explicar por cima o que cada seção desse wizard faz. Como podem perceber, você pode usar:

  • Use Existing Application: Caso você já tenha uma aplicação pronta, você pode já apontar para o locla onde está esse projeto
  • New application: É onde utilizaremos. Nesse caso, você terá que colocar informações adicionais para configurar sua aplicação, tais como:
    • Name: O nome que ficará sua aplicação. Ao acessar sua aplicação, ela terá o formato http://aplicacao-dominio.rhcloud.com
    • Type: O tipo da aplicação que você irá desenvolver. É aqui onde você indica se vai criar uma aplicação Java, PHP, Ruby, etc. Tentarei postar como desenvolver aplicações que não sejam apenas Java
    • Gear Profile: É o tamanho da sua medida de recursos. Um gear no OpenShift é uma unidade computacional de storage e memória, onde há uma limitação desses recursos para assim poder utilizar apenas o necessário. Imaginem uma aplicação que ocupa apenas 500MB e que consome 300MB de RAM, com um gear small você pode consumir exatamente o que precisa sem comprometer os recursos disponíveis para as outras aplicações utilizarem.
    • Embeddable Cartridges: Um Cartridge no OpenShift é como blocos de software que você vai adicionando na infraestrutura da sua aplicação. Exemplo: Toda aplicação precisa de um Banco de Dados, então você adiciona um cartridge para isso (no momento, os gears de Banco disponíveis no OpenShift são MySQL, PostgreSQL e MongoDB). Além disso, há outros cartridges que podem auxiliar no desenvolvimento e administração de sua aplicação, como o phpMyAdmin, cron, etc.



Agora que preenchemos as informações para a aplicação e clicar em Next, surge uma tela para definir se precisa criar um projeto para sua aplicação ou se vai utilizar um já existente e também para criar uma configuração de servidor para o OpenShift, assim como criamos uma configuração de servidor JBoss para iniciar/parar o servidor e fazer o deploy de aplicações nele.


Por fim, aparece uma tela para definir o local onde o git fará um clone do repositório remoto para sua máquina. IMPORTANTE: você precisa definir as chaves SSH para poder fazer esse clone. Você pode clocar em "SSH2 Preferences" e seguir os passos para configurar essas chaves


Por fim, sua aplicação será criada e depois que o Eclipse finalizar basta acessar a URL e já terá uma página inicial:


Bom pessoal, essa é só a ponta do iceberg para iniciar. Nos próximos posts, irei aprofundar um pouco mais sobre conceitos teóricos e práticos, e se tiverem alguma sugestão é só mandar um comentário.

5 comentários:

  1. Ricardo.
    boa noite.
    há alguns dias uma aplicação que criei no openshfit está fora do ar.
    tem alguma dica de como posso identificar o motivo de estar fora?
    já criei e apaguei várias aplicações na minha conta. sabe se existe alguma limitação quanto à isso?


    obrigado.

    ResponderExcluir
  2. Olá,

    Em um post futuro eu irei abordar a ferramenta rhc, que é responsável por controlar e gerenciar sua aplicação dentro do PaaS da Red Hat. Caso você tenha ela instalada basta executar o comando:

    $ rhc app restart -a

    Que ela irá reiniciar todo o ambiente e com isso sua aplicação voltará ao ar.

    ResponderExcluir
  3. Ricardo. obrigado por responder.
    Irei acompanhar seu blog.

    Descobri que tinha alguma coisa errada na app quando fiz o ultimo commit, que fez a app ficar offline (acho que deveria mostrar stacktrace).
    abraços

    ResponderExcluir
  4. Cloud Computing: Meaning and Implications is very impressive post that shares too good informative data to many needy peoples.

    hyper converged infrastructure for dummies

    ResponderExcluir
  5. Fantastic blog! Thanks for sharing this kind of amazing stuff. Want to check your typing speed just visit my profile typingspeedtest.allows you to create custom and professional typing tests for recruitment purposes in just three simple steps.

    ResponderExcluir