Série da semana: Buscas semânticas com Elasticsearch

Veja mais
O projeto está inativo

Docker passo a passo: Heroku e Amazon AWS

Com essa documentação o programador será capaz de configurar ambientes customizados rapidamente, com tudo que ele precisa, utilizando o Docker. Além disso, será capaz de fazer o deploy de uma aplicação em serviços de Cloud como o Heroku e AWS (Amazon Web Services).

18

Introdução

O que é Docker?

O Docker é uma ferramenta que, através do uso de contêineres, facilita o desenvolvimento, deploy e execução de aplicações de forma isolada. Com ele é possível criar pacotes que contenham tudo que for necessário para o funcionamento da aplicação, como dependências e bibliotecas.

Essa documentação complementa o curso O que é Docker e muitos dos recursos que utilizaremos são explicados no curso.

Importância do Docker

Desde seu lançamento, em 2013, o Docker tem crescido em utilização entre desenvolvedores e administradores de infraestrutura. O Docker permitiu um processo de desenvolvimento mais fluído e menos suscetível a erros com o empacotamento de aplicações, ao mesmo tempo que otimizou o uso de recursos dos servidores.

O Docker se tornou uma parte importante nas práticas devops, que visam integrar diferentes profissionais de diferentes etapas do processo de desenvolvimento em uma única equipe e no processo de migração para a nuvem que vem acontecendo nos últimos anos.

Destaques do projeto

Nesse projeto veremos a utilização do Docker na prática, desde o desenvolvimento até a utilização em produção em servidores cloud como Heroku e AWS:

  • Dockerizando uma aplicação e atualizando a versão do PHP

    Nesse primeiro exemplo criaremos, utilizando o Docker Compose, um contêiner para uma aplicação Laravel e outro contêiner para o banco de dados MySQL utilizado nessa aplicação.

  • Migrando o banco de dados de uma API de MySQL para PostgreSQL

    Realizaremos a migração do banco de dados de uma API escrita em PHP com o Framework Lumen de MySQL para PostgreSQL. Para isso, criaremos contêineres tanto para a aplicação quanto para os bancos de dados utilizando o Docker Compose.

  • Realizando o deploy de uma API no Heroku

    Nesse exemplo, utilizaremos o Heroku para realizar o deploy de uma API utilizando contêineres. Além disso, aprenderemos a criar e utilizar o banco de dados PostgreSQL gratuito disponibilizado pelo Heroku.

  • Realizando o deploy de uma API na AWS

    Conheceremos todos os conceitos e palavras por trás da AWS. Utilizaremos o Elastic Contêiner Service, o serviço de contêineres da AWS, para realizar o deploy de uma API em NodeJS.

Glosário

Deploy

Disponibilizar a aplicação no ambiente de produção, pronta para ser utilizada pelo usuário final.

Contêiner

Contêineres são ambientes isolados no qual as aplicações irão funcionar. Toda a configuração do contêiner é feita a partir de uma imagem inicial, e é nela que estarão todos os recursos que o contêiner poderá utilizar.

Imagem

Imagens são templates utilizados na construção de contêineres. São nelas que encontraremos todas as dependências, bibliotecas, variáveis de ambiente e a aplicação em si. Por serem pacotes auto-contidos, podemos compartilhá-las com outras pessoas com a garantia de que a aplicação irá funcionar corretamente.

Volumes

Volumes representam diretórios que são comuns à máquina Host (o computador do desenvolvedor ou servidor) e o contêiner, facilitando o compartilhamento de arquivos entre esses dois ambientes. Se o contêiner for desativado ou destruído, os arquivos contidos nos volumes permanecem intactos no Host.

Networks

Networks são conexões virtuais entre contêineres. A partir delas somos capazes de fazer com que aplicações que funcionam isoladas em diferentes contêineres possam trocar informações entre si.

Docker Compose

O Docker Compose é uma ferramenta disponibilizada pelo Docker que permite criar, configurar e gerenciar múltiplos contêineres de uma forma extremamente fácil utilizando a linguagem de serialização YAML (Ain't Markup Language)

Saiba mais Veja a Série Desbravando o Docker
Suporte ao aluno - Deixe a sua dúvida.
Achou 12 meses muito tempo?

Programação muda todo dia e cada novidade nos obriga a rever tudo que já sabíamos. Só um estudo contínuo nos leva ao sucesso.

Apenas 3,5% dos nossos assinantes querem cancelar antes dos 12 meses

O que nossos clientes dizem:

"Excelente trabalho. É assim que a gente vê que o investimento vale a pena. Parabéns!"

- Danniery Alves -
O que nossos clientes dizem:

"Prá lá de bom... Está ótimo: com clareza, didática, conhecimento de causa e uma boa dose de humor. "Persistência" é o segredo."

- Paulo Costa -
O que nossos clientes dizem:

"DevMedia ensina mais do que qualquer faculdade!!!"

- Mauricio Hartmann -