Computação nas nuvens cada vez mais acessível – parte 2

No post anterior, escrevi um pouco sobre as vantagens da computação nas nuvens e fiz um pequeno comparativo entre alguns serviços que estão disponíveis na internet para desenvolvimento e publicação de aplicativos.

Agora vamos mostrar na prática como fazer isto usando um dos serviços citados, o AppHarbor, sem qualquer custo. A única limitação é que somente será alocada uma instância do aplicativo, ou seja, um único servidor para atender a todas as requisições. Para este aplicativo de exemplo, uma instância é mais que suficiente.

O AppHarbor foi escolhido pela familiaridade e pela facilidade de publicação com controle de versão. A implementação será feita em .Net.

Pré-requisitos:

  • Uma conta no AppHarbor
  • Sistema de controle de versão (Git ou Mercurial) – neste caso, usaremos o Mercurial
  • Visual Studio 2010 ou Visual Web Developer 2010 Express
  • Qualquer editor de HTML e CSS
  • Uma conta no GitHub – opcional, caso você queira compartilhar o código ou mantê-lo independente da hospedagem escolhida. Usarei o GitHub para disponibilizar o código fonte (link no fim do post).

Atualização:

O repositório foi migrado para o GitHub. O link está atualizado no final do post.

Ao final, teremos:

  • O código fonte da aplicação armazenado em um repositório na web
  • A aplicação hospedada nas nuvens sem restrição de acesso

A aplicação fará conversão de moedas usando um web service. Não irei entrar em detalhes sobre a implementação e sobre o uso de sistemas de controle de versão. Vamos aos passos.

Criar uma conta no AppHarbor
Se você ainda não possui uma conta, vá até o site e clique em Sign up. Depois de entrar na conta, você será redirecionado à sua página de aplicativos.

Criar um novo aplicativo
No campo abaixo de Create new application, informe o nome do seu aplicativo e clique em Create New.

Integração com o GitHub
Esta etapa pode ser ignorada caso você não queira fazer a integração com um serviço externo. Eu recomendo que faça porque além de poder compartilhar o código mais facilmente, os fontes serão mantidos mesmo se o aplicativo for excluído do servidor.
Depois de criado o aplicativo, vamos então integrá-lo com o GitHub. Cada atualização no repositório será refletida no AppHarbor. Na verdade, quando um aplicativo é criado, um repositório vazio também é criado para ele no AppHarbor. Esta integração permite atualizar automaticamente os dois repositórios.

Criar uma conta no GitHub
Da mesma maneira, se você ainda não se cadastrou, faça-o neste momento.

Criar o repositório
Entre em sua conta e clique em Repositories -> Create repository. Defina o nome do aplicativo (o mesmo). Há duas opções de sistemas de controles de versão: Git e Mercurial. Usaremos o segundo. Agora basta confirmar a criação clicando no botão ao fim do formulário.

Configurar o repositório
Clique na guia Admin para ir à pagina de configuração.

No menu à esquerda, clique em Access management para dar ao AppHarbor permissão de leitura do seu repositório. Informe o usuário apphb e clique em Read para confirmar. O resultado deve ser parecido com a tela abaixo.

O último passo da integração é inserir a URL que irá notificar o AppHarbor de cada atualização feita no repositório. Isto dispara todo o processo de publicação do aplicativo.
No mesmo menu mostrado acima, clique em Services. No campo Select a service, selecione POST e depois clique em Add service.

A URL a ser inserida aqui é gerada pelo AppHarbor e está na página do aplicativo.

Trata-se da build URL, que tem exatamente este propósito: permitir que outros aplicativos notifiquem que um novo build deve ser feito e uma nova versão deve ser publicada. Clique no botão build URL, cole o endereço no campo URL no GitHub e salve as configurações. A partir de agora, qualquer alteração no repositório fará com que a última revisão seja transferida para o AppHarbor. A compilação e a publicação no servidor são automáticas.

Clonar o repositório e sincronizar com o servidor
Todas as configurações na web já foram feitas. Agora resta clonar o repositório na máquina local (hg clone), adicionar o código fonte do projeto – que neste caso já está pronto – (hg add) e enviar as alterações (hg commit e hg push). Vejamos o resultado do push:

Das duas atualizações feitas até o momento, a mais recente ainda estava sendo publicada no servidor. Depois disto, se não houver nenhum erro, ela se torna a versão ativa e o app está online.
O endereço de acesso ao aplicativo pode ser visto na página Hostnames.

Conclusão
Há outros recursos a serem explorados mas pudemos perceber que é simples usar esta tecnologia. Mesmo num serviço gratuito como o que foi usado aqui, é possível, com um pouco mais de esforço, criar um aplicativo ou site com muito mais funcionalidades.

Tanto para desenvolvedores que trabalham sozinhos quanto para pequenas e médias empresas, existem muitas outras ferramentas prontas para serem usadas.

Links
Código fonte do conversor de moedas: https://github.com/evandroamparo/conversor-de-moedas
Endereço do aplicativo: http://conversordemoedas.apphb.com/

2 comentários

  1. Everton disse:

    Olá. Tudo bem? Você sabe se o Appharbor é compatível com ASP NET Core 2 MVC? Eu publiquei um projeto e na execução acusa o erro HTTP 502.5, sem nenhuma mensagem que possa me auxiliar na resolução do problema

    Grato pela atenção

    Curtir

    1. Evandro disse:

      Olá Everton! Tudo bem, e vc? Ainda não “brinquei” com o .Net core no AppHarbor mas já tem suporte sim. Pelo menos é o que eles dizem no fórum de suporte. Parece que vc precisa fazer umas pequenas alterações no seu projeto.
      Encontrei uns links que podem te ajudar:
      https://support.appharbor.com/discussions/problems/91707-does-appharbor-support-aspnet-core-v11-applications#comment_43189226
      https://support.appharbor.com/discussions/problems/90387-is-net-core-supported-yet#comment_42659267
      Boa sorte!

      Curtir

Deixar mensagem para Evandro Cancelar resposta

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.