hands-on-microservices

Os exercícios estão cada um em um branch separado e que devem ser feitos na ordem, o ideal é fazer em aula, junto com a explicação:

exercício 1

exercício 2

exercício 3

exercício 4

exercício 5

exercício 6

exercício 7

exercício 8

exercício 9

exercício 10

exercício 11

exercício 12

exercício 13

exercício 14

exercício 15

exercício 16

Instalando o ambiente

Nos exercícios, vamos usar java, docker, git, apache bench, ccm, kubernetes, etc. Para isso vamos subir um ubuntu e realizar nossos testes nele.

Local com vagrant e virtual box

Esse é o jeito mais barato e que eu sugiro para desenvolvedores. Vamos subir uma máquina virtual no seu computador usando uma ferramenta chamada vagrant. Verique os passos em local-vagrant para mais detalhes.

Local importando a imagem direto na máquina virtual

Essa opção não precisa instalar o vagrant, já vai importar para virtual box a imagem pronta para uso.

Instale a virtualbox, acesse o diretório https://drive.google.com/drive/u/0/folders/1DCq3_ufUVXUHXYSd3MZhCqnZi2NmTCYT e siga as instruções de https://docs.google.com/document/d/1gVOlSwZKuPcMl5v2zVbvsRZ5dfyi4sv0C970EfW6VKQ/edit?usp=sharing

Usando terraform, criando uma instância EC2 na AWS

O jeito mais fácil de criar uma instância EC2 na AWS é usando alguma ferramenta para automatizar esse processo. Verique os passos em aws-terraform para mais detalhes.

Rodando o primeiro container

Dentro da vm, execute:

docker pull alpine

Isso vai baixar uma imagem chamada alpine do Docker Registry e salva-la no nosso sistema. Você pode ver as imagens salvas com o comando:

docker images

Agora vamos executar um container baseado nessa imagem:

docker run alpine ls -l

Esse comando criou um container a partir da imagem alpine, e executou o comando 'ls -l' dentro do container, mostrando o output do comando para o client docker. Agora tente:

docker run -it alpine /bin/sh

Clonando o repositório da aplicação

Dentro da máquina virtual, faça clone do repositório e checkout desse branch:

git clone https://github.com/luizroos/hands-on-microservices.git