Utilizando o OpenShift para hospedar uma aplicação Flask/Python

27/10/2014 Alexandre Vicenzi 3 min de leitura

O que é OpenShift?

OpenShift Online é a plataforma de desenvolvimento e hospedagem de aplicações em nuvem disponibilizada pela Red Hat. O OpenShift automatiza o provisionamento, gerenciamento e dimensionamento de aplicativos para que você possa se ​​concentrar em escrever o código para o seu negócio, startup, ou grande ideia.

O que é Flask?

Flask é um micro framework web baseado no Werkzeug e Jinja 2.

Criando a aplicação

Primeiramente vamos a configuração da nossa aplicação principal. Nesta aplicação será utilizado o Flask, mas você pode utilizar outro WSGI de sua preferência.

No arquivo server.py definimos o nosso serviço, no caso o / irá retornar “Hello World!”. Você pode fazer o teste executando python server.py e acessando a url http://127.0.0.1:8080.

No arquivo setup.py definimos algumas configurações básicas para instalação do nosso aplicativo no rhc. Note que este arquivo é obrigatório e caso sua aplicação necessite algum pacote externo, este deve ser informado na variável install_requires. Ao fazer deploy da aplicação o rhc irá baixar essas dependências. Você pode obter mais informações sobre como configurar dependências de compilação na documentação do setuptools. Você ainda pode utilizar um arquivo chamado requirements.txt para instalar as dependências via pip.

No arquivo wsgi.py definimos o ponto de entrada da nossa aplicação. Este arquivo também é obrigatório, pois é o ponto de entrada padrão configurado no rhc. O ponto de entrada pode ser alterado caso necessário, para isto deve-se alterar a variável de ambiente OPENSHIFT_PYTHON_WSGI_APPLICATION. Note que deve existir uma variável chamada application, que neste caso faz referência a instância Flask ou outro WSGI.

Fazendo o deploy

Vamos assumir que você utilizará o ambiente web para deploy e que você já criou sua conta no OpenShift, caso não tenha feito clique aqui.

Após ter feito o login, clique no botão abaixo:

add

Após selecione a versão do Python:

versão

Feito isto você deverá configurar a sua aplicação. A Public URL será a url que você deseja para a sua aplicação, para acessar via browser por exemplo. O Source Code é opcional, mas se informado um repositório do GitHub o rhc irá fazer o clone do repositório automaticamente. Em Scaling você deve selecionar se deseja ou não permitir o escalonamento da sua aplicação de acordo com o uso.

Feito isto clique em Create Application.

Após isto sua aplicação será iniciada e já estará executando. Se você não apontou uma url do GitHub você pode fazer clone da sua aplicação no rhc, para isto vá nas configurações de sua aplicação e procure por Source Code.

Este código foi baseado no exemplo disponibilizado pela OpenShift. Mais informações sobre hospedagem de aplicações Python no OpenShift podem ser encontradas aqui.

Você pode encontrar aqui um exemplo utilizando CherryPy. Outro framework web para Python.

Não deixe de comentar e assinar nosso feed RSS.