Tem alguma pergunta?
Mensagem enviada. Fechar
4.93
43 avaliações

Projeto DevOps: Flask API - Do código ao deploy!

Aprenda todo o processo de DevOps, do desenvolvimento do código até a automação via CI/CD em ambientes Cloud-Native
578 Alunos Inscrito
  • Descrição
  • Currículo
  • FAQ
  • Revisões
  Tempo de leitura 4 minutes

Você se sente perdido nessa “sopa de letrinhas” de tecnologias no mundo de DevOps?

Não sabe como todas essas pontas se conectam, e qual valor agregam para o nosso dia a dia?

Se sua resposta foi sim, chances são de que este curso vai te ajudar… e muito!

Estruturei este treinamento de forma 100% prática, divididas em dois projetos, que efetivamente entregam algo real. Dessa forma, você vai aprendendo as tecnologias e já compreendendo onde cada uma se encaixa, facilitando para “gravar” o conhecimento na sua cabeça.

Deixa eu explicar um pouco sobre os módulos do treinamento:

  • Módulo 1 – (Projeto 1 – PaaS) – Setup do ambiente: Configuração inicial no repositório e criando a nossa primeira API com Flask.

  • Módulo 2 – (Projeto 1 – PaaS) – Docker: Configuração da nossa aplicação para rodar em containers. Vamos escrever o Dockerfile e docker-compose para subir toda a stack de desenvolvimento localmente.

  • Módulo 3 – (Projeto 1 – PaaS) – Flask / Codando: Aqui é onde a gente escreve código. É uma API básica para praticar um pouco de programação. Não é relevante para desenvolvedores, mas para profissionais de infraestrutura que não escrevem muito código, vai ser bem desafiador.

  • Módulo 4 – (Projeto 1 – PaaS) – Flask / Testes unitários: Muito se fala de testes unitários, mas geralmente não está claro para profissionais de infraestrutura. Aqui nós mesmos vamos escrever os testes da nossa aplicação. Com isso fica mais fácil jogar para o CI.

  • Módulo 5 – (Projeto 1 – PaaS) – Heroku, MongoDB Atlas & GitHub Actions: Finalização do primeiro projeto. Vamos fazer o deploy via Heroku (Paas), usando o banco do MongoDB Atlas (cloud do Mongo) e uma pipeline de CI/CD no GitHub Actions.

  • Módulo 6 – (Projeto 2 – k8s) – Flask / Codando: Vamos estender nossa API com operações de DELETE e PATCH.

  • Módulo 7 – (Projeto 2 – k8s) – Health Checks / Probes: Adicionamos healthchecks na nossa aplicação que será necessário para rodar em Kubernetes. Isso fará a integração com o conceito de Probes no Kubernetes.

  • Módulo 8 – (Projeto 2 – k8s) – Scans de Qualidade: Utilização de ferramentas terceiras para melhorar a qualidade do nosso projeto, tanto esteticamente quanto em segurança.

  • Módulo 9 – (Projeto 2 – k8s) – Kubernetes (desenvolvimento): Faremos a adaptação da aplicação para rodar em um cluster Kubernetes localmente. Isso envolve cluster KinD, Helm Charts, manifestos, probes, ingress, service e muito mais.

  • Módulo 10 – (Projeto 2 – k8s) – Helm (produção): Aqui levamos o projeto um pouco mais a sério. Vamos subir um cluster Kubernetes na AWS e deployar a aplicação com Helm, além de gerenciar Secrets de forma encriptada com Sealed Secrets.

  • Módulo 11 – (Projeto 2 – k8s) – Terraform: Vamos estender o nosso Terraform, adicionando outros recursos como bastion host, instância do MongoDB e add-ons do Helm.

  • Módulo 12 – (Projeto 2 – k8s) – Ansible: Para configurar o banco de dados, vamos usar o Ansible. Aqui aprendemos a reusar uma role existente, e ter toda a configuração do banco como código.

  • Módulo 13 – (Projeto 2 – k8s) – DNS (Route 53 & External DNS): Para deixar o projeto 100%, vamos usar uma URL de DNS pública. Usaremos um add-on para fazer a ponte entre o cluster e o Route 53, além de adicionar um certificado TLS.

  • Módulo 14 – (Projeto 2 – k8s) – GitHub Actions (CI/CD): Finalização do projeto com deploy no Kubernetes com GitHub Actions. Usaremos boas práticas de segurança com credenciais temporárias via OIDC, edição no RBAC do Kubernetes e Helm.

Sim, é um bombardeio de conhecimento. E não, não foi feito para ser fácil.

Eu quero que você realmente passe trabalho, pois é na dificuldade que a gente constrói o conhecimento de verdade.

Então, se você acredita que esse conhecimento pode te ajudar, ficarei muito feliz em ser seu instrutor aqui na Udemy! Conte comigo ao longo do curso em caso de dúvidas.

Te espero do outro lado.

How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.93
43 avaliações
Estrelas 5
38
Estrelas 4
4
Estrelas 3
1
Estrelas 2
0
Estrelas 1
0