Informações iniciais¶
Essas são notas de aula para o uso nas disciplinas de Fundamentos de DevOps do curso de Bacharelado em Sistemas de Informação do IFC - Campus Araquari. O conteúdo foi desenvolvido pelo Prof. Dr. Eduardo da Silva.
Esse material ainda está em construção e o seu conteúdo é melhor absorvido durante as atividades realizadas em sala de aula.
Ementa do curso¶
Conceitos de versionamento de código, repositórios de código e suas ferramentas. Introdução à metodologia DevOps e ferramentas que auxiliam no processo de entrega, desenvolvimento e gerenciamento de sistemas computacionais ao longo do ciclo de vida de desenvolvimento de sistemas em organizações. Introdução à abordagem integração contínua (CI) e entrega contínua (CD). Técnicas de automação de pipeline e ferramentas. Introdução à containers e sua utilização em ambientes de desenvolvimento e produção. Introdução à aspectos de segurança em DevOps.
Objetivos da disciplina¶
Capacitar os alunos nos fundamentos e práticas de DevOps, com ênfase em versionamento de código, metodologias ágeis e ferramentas de gerenciamento de repositórios.
Os alunos aprenderão a implementar pipelines de integração contínua (CI) e entrega contínua (CD).
Além disso, desenvolverão habilidades em conteinerização e práticas de segurança.
A disciplina fornece uma base sólida para que os estudantes possam automatizar processos de desenvolvimento, gerenciar infraestrutura como código e promover a colaboração efetiva entre equipes de desenvolvimento e operações.
Conteúdo programático e cronograma¶
Semana 1: Introdução ao DevOps e Versionamento de Código
- Fundamentos de DevOps e sua importância
- Práticas de versionamento de código
- Git básico: instalação, configuração e comandos essenciais
- Conventional commits
Semana 2: Gestão de Repositórios e Colaboração
- Plataformas de hospedagem de repositórios Git (GitHub, GitLab, Bitbucket)
- Estratégias de branching
- Pull requests e code review
- Projetos práticos em equipe
Semana 3-6: Integração Contínua
- Introdução à integração contínua
- Configuração de pipelines CI/CD
- GitHub Actions e GitLab CI
- Automação de testes e builds
Semana 7-8: Containers e Docker
- Fundamentos de containerização
- Docker: conceitos básicos e comandos
- Dockerfile e Docker Compose
- Práticas com containers em desenvolvimento
Semana 9-10: Orquestração de Containers
- Introdução ao Kubernetes
- Pods, services e deployments
- Gerenciamento de configurações
- Práticas de orquestração
Semana 11-12: Infraestrutura como Código (IaC)
- Conceitos de IaC
- Terraform: fundamentos e práticas
- Ansible: automação de configuração
- Implementação de infraestrutura automatizada
Semana 13-14: Monitoramento e Observabilidade
- Fundamentos de monitoramento
- Prometheus e Grafana
- Logs e tracing distribuído
- Práticas de observabilidade
Semana 15-16: DevSecOps
- Segurança em pipelines CI/CD
- Análise estática de código
- Scanning de vulnerabilidades
- Práticas de segurança em containers
Semana 17-18: Projeto Final e Revisão
- Desenvolvimento de projeto completo em equipe
- Implementação de pipeline completo
- Apresentações dos projetos
- Revisão geral e conclusão do curso
Carga Horária:
- 18 semanas x 2 encontros semanais
- Aulas de 50 minutos
- Total: 60 horas