Pular para o conteúdo

DevOps e nuvem

Do terminal Linux e do Git até contêineres, pipelines de CI/CD, infraestrutura como código e Kubernetes, com a base de sistemas distribuídos que sustenta a nuvem.

Intermediário 12 etapas

Etapas

Fundamentos

  1. Linux e linha de comandoDomine o shell, arquivos, processos e permissões, porque quase todo servidor, contêiner e pipeline roda em Linux.
    • Guia Foca GNU/Linux guiafoca.orgfree

      Um dos mais completos e tradicionais manuais em português para aprendizado e administração de sistemas operacionais Linux.

    • The Linux Command Line linuxcommand.orgfree

      Livro didático aberto ensinando uso da linha de comando shell, pipelines e scripts em sistemas Unix-like.

    • The Missing Semester of Your CS Education missing.csail.mit.edufree

      Curso livre do MIT focado no domínio de ferramentas fundamentais de ambiente, como shell de comando, editores de texto e controle de versão.

  2. Controle de versão com GitPratique commits, branches e merges até virar hábito, já que toda automação de entrega começa num push para o repositório.
    • Pro Git git-scm.comfree

      Livro de referência gratuito e oficial sobre Git cobrindo desde conceitos fundamentais de branching até o funcionamento interno do sistema.

    • Learn Git Branching learngitbranching.js.orgfree

      Aplicação interativa e visual para praticar comandos do Git, navegação de branches e operações de rebase no navegador.

  3. Virtualização na prática (opcional)Suba máquinas virtuais e entenda como o sistema operacional isola processos e memória, a base conceitual dos contêineres.
    • VirtualBox virtualbox.orgfree

      Hipervisor de virtualização de código aberto para sistemas desktop e servidores x86/ARM.

    • Operating Systems: Three Easy Pieces (OSTEP) pages.cs.wisc.edufree

      Livro didático aberto cobrindo conceitos essenciais de virtualização, concorrência e persistência em sistemas operacionais.

Contêineres

  1. Primeiros passos com DockerEmpacote uma aplicação com suas dependências numa imagem, rode o contêiner e combine serviços com o Compose.
    • Docker Get Started docs.docker.comfree

      Introdução prática oficial aos contêineres com Docker, da criação de imagens a apps com vários contêineres.

    • Docker Curriculum docker-curriculum.comfree

      Tutorial prático e direto para iniciantes cobrindo a criação, execução e empacotamento de contêineres Docker.

  2. Imagens e registrosAprenda a publicar, versionar e reaproveitar imagens e pacotes prontos em registros públicos, com atenção à origem do que você baixa.
    • Docker Hub hub.docker.comfree

      Maior repositório público de imagens de contêineres do mundo, fornecendo imagens oficiais e comunitárias de softwares essenciais.

    • Artifact Hub artifacthub.iofree

      Repositório centralizado e catálogo aberto para descoberta e instalação de pacotes e ferramentas de infraestrutura em nuvem.

  3. Ambiente de desenvolvimento em contêiner (opcional)Descreva o ambiente de trabalho em arquivos versionados para que toda a equipe programe com as mesmas ferramentas.
    • Development Container Specification containers.devfree

      Especificação aberta e catálogo de templates e recursos reutilizáveis para padronizar ambientes de desenvolvimento em contêineres.

    • Dotfiles Guide dotfiles.github.iofree

      Diretório e base de referência para gerenciamento, sincronização e compartilhamento de arquivos de configuração de ambientes de desenvolvimento.

Automação e infraestrutura como código

  1. Integração contínuaMonte pipelines que instalam dependências, rodam testes e geram artefatos a cada push, para que erros apareçam em minutos.
    • GitHub Actions Documentation docs.github.comfree

      Guia oficial para automatizar builds, testes e deploys com workflows do GitHub Actions.

    • GitLab CI/CD Documentation docs.gitlab.comfree

      Documentação oficial de pipelines GitLab CI/CD, jobs, runners e ambientes de deploy.

  2. Entrega contínuaLeve cada versão aprovada até homologação e produção com ambientes, aprovações e segredos configurados no próprio pipeline.
    • GitHub Actions Documentation docs.github.comfree

      Guia oficial para automatizar builds, testes e deploys com workflows do GitHub Actions.

    • GitLab CI/CD Documentation docs.gitlab.comfree

      Documentação oficial de pipelines GitLab CI/CD, jobs, runners e ambientes de deploy.

    • GitHub Blog github.blogfree

      Canal oficial do GitHub com notícias sobre novidades da plataforma, recursos do Git, automações de CI/CD e ecossistema de software.

  3. Infraestrutura como código com TerraformDescreva redes, máquinas e serviços de nuvem em arquivos versionados e aplique mudanças de forma revisável e repetível.
    • Terraform Documentation developer.hashicorp.comfree

      Documentação oficial do Terraform, cobrindo infraestrutura como código, providers, estado e módulos.

Orquestração e nuvem

  1. KubernetesEntenda pods, deployments e services para rodar muitos contêineres num cluster, com escala automática e recuperação de falhas.
    • Documentação do Kubernetes kubernetes.iofree

      Documentação oficial do Kubernetes em português, dos conceitos aos tutoriais de implantação e escala de contêineres.

    • Kubernetes kubernetes.iofree

      Sistema de código aberto para automação de implantação, dimensionamento e gerenciamento de aplicações distribuídas em contêineres.

    • Kubernetes Blog kubernetes.iofree

      Artigos oficiais sobre arquitetura de sistemas distribuídos, gerenciamento de contêineres e novos recursos.

  2. Mensageria e streaming de eventos (opcional)Conheça filas e logs de eventos distribuídos, comuns para desacoplar serviços em arquiteturas de nuvem.
    • Apache Kafka kafka.apache.orgfree

      Plataforma distribuída de streaming de eventos para pipelines de dados em tempo real e mensageria de alta vazão.

  3. Fundamentos de sistemas distribuídosEstude replicação, particionamento e tolerância a falhas, as ideias por trás de todo serviço de nuvem que você usa.
    • Designing Data-Intensive Applications dataintensive.netpaid

      Livro de referência de Martin Kleppmann sobre princípios de arquitetura de dados distribuídos, tolerância a falhas e escalabilidade.

    • Distributed Systems distributed-systems.netfree

      Livro didático aberto de Maarten van Steen e Andrew S. Tanenbaum sobre princípios fundamentais de sistemas e processamento distribuído.

Veja também

Links externos, de seus respectivos autores. Esta trilha é conteúdo original da IPL.