setembro 18, 2020

Conceitos básicos sobre Heroku – Parte II

By julho 06, 2020 0

No artigo anterior, falamos um pouco sobre alguns conceitos do Heroku. Nesse segundo artigo, irei falar de outros serviços dessa plataforma e quando podemos usar.

O Heroku é uma plataforma cloud de serviço baseado em um sistema de contêiner Linux, gerido com serviços de dados integrados e um poderoso ecossistema para implantar e executar outros aplicativos modernos. Heroku é uma plataforma centrada no aplicativo para entrega de software integrada às ferramentas e fluxos de trabalho mais populares da actualidade.

No artigo anterior, também falamos sobre os método de Deploy com Git e hoje irei falar sobre método de deploy com Docker.

Docker:

É um software contêiner da empresa Docker Inc, que fornece uma forma de virtualização a nível de sistema operacional, que permite rodar múltiplos "sistemas" isolados em um único sistema operacional real. Esses sistemas isolados conseguem ser, a partir da protecção dos containers efectivamente isolados e limitados tanto em uso de disco, quanto memória RAM e CPU.

O Heroku fornece duas maneiras de fazer deploy da sua aplicação com o Docker:

Container Registry & Runtime:

O Heroku Container Registry permite fazer deploy de suas imagens do Docker no Heroku.

Iniciando:

1- Verifique se você possui uma instalação do Docker em funcionamento (por exemplo, docker ps) e se está conectado ao Heroku (login no heroku).

Efetue login no Container Registry:

2- Obtenha código de amostra clonando um exemplo de python baseado em Alpine:

3- Navegue até o directório da sua aplicação e crie uma aplicação Heroku:

4- Crie a imagem e envie para o Container Registry:

5- Em seguida, libere a imagem no seu aplicativo:

6- Agora abra a sua aplicação no seu navegador:

Building Docker Images with heroku.yml:

O arquivo heroku.yml é um passo a passo que você pode usar para definir a sua aplicação web Heroku.

Iniciando:

1- Crie um arquivo heroku.yml no directório raiz da sua aplicação. O exemplo a seguir heroku.yml especifica a imagem do Docker a ser criada para o processo da web da sua aplicação:

Neste exemplo, heroku.yml e Dockerfile estão no mesmo directório. Se o Dockerfile residir em um directório não raiz, especifique o caminho relativo no valor build.docker.web, como app/Dockerfile.

2- Commit o arquivo no seu repositório:

3- Defina a pilha do seu aplicativo como container:

4- Envie a sua aplicação para o Heroku:

A sua aplicação será criada e o Heroku usará o comando run fornecido em heroku.yml, em vez do seu Procfile.

Mas vale mesmo a pena usar o Heroku ?

Bom, a resposta é sim e não. Ou seja, depende muito da tua necessidade. O heroku é recomendável usar em projectos MVP, projectos pessoais, ou quando a sua equipa não tem muita experiência com infraestrutura.

Agora, quando você tem uma infraestrutura mais complexa e o projecto se torna cada vez maior, aí sim o Heroku pode não servir para você.

Algumas alternativas gratuitas e open source:

Dokku:

O Dokku é uma solução de Plataforma como Serviço ou PaaS, que permite aos usuários implantar e configurar uma aplicação web em um ambiente de produção em um servidor separado. Ele usa o Docker, um sistema de contêiner Linux, para gerir suas implementações e permite que os usuários implementem em um servidor remoto. (http://dokku.viewdocs.io/dokku/)

Flynn:

Flynn é uma plataforma como serviço de código aberto (PaaS), que suporta tudo o que pode ser executado no Linux. Seu objectivo é "libertar todos do software operacional, que são todas as tarefas que os humanos realizam actualmente para executar aplicações web do lado do servidor". (https://flynn.io/)

Jovany Negócio

DevOps Engineer, Python Developer and Blockchain enthusiast. @DevOpsDays Luanda Organizer.

https://www.linkedin.com/in/jo%C3%A3o-neg%C3%B3cio/

Leave a comment

Deixe o seu comentário. Os campos com * são obrigatórios.

© 2020 Portal de T.I Todos Direitos Reservados