Skip to main content

#31 - DevOps

· 3 min read

13/08/2022 - Aula 1 de DevOps (Presencial)

A aula começou as 08h, com o professor Jemerson, com o professor passando o que vai ser visto durante a pós. Pediu para baixar o projeto no github, pois vai ser utilizado ele como base, além disso, utilizamos o máterial em PDF.

O que é

DevOps (Development + Operations) é um processo de desenvolvimento e entrega de software que enfatiza a comunicação entre os profissionais de desenvolvimento e operações.

É um conjunto de práticas que automatizam os processos entre equipes de desenvolvimento de software e de TI para que possam criar, testar e liberar softwares de maneira mais rápida e confiável.

A combinação de filosofias culturais, práticas e ferramentas que aumentam a capacidade de uma empresa de distribuir aplicativos e serviços em alta velocidade

Como começou - Manifesto Ágil

  • Indivíduos e interações, mais que processos e ferramentas.
  • Software em funcionamento, mais que documentação abrangente
  • Responder a mudanças, mais que seguir um plano

C.A.M.S. ( Culture, Automation, Measure, Sharing)

  • Culture (Cultura)
    • É preciso colaborar, compartilhar e entender a importância de manter uma relação saudável entre todas as áreas.
  • Automation (Automação)
    • Identificar os processos que sejam repetitivos ou que levam bastante tempo e buscar resolver o quanto antes.
  • Measure (Medir)
    • Deve-se medir tudo que é possível: performance, processos, interações e até mesmo pessoas. O processo de melhoria contínua é o coração do DevOps!
  • Sharing (Compartilhamento)
    • Ter uma boa comunicação entre as equipes, incentivar as pessoas a se comunicarem e compartilharem ideias e problemas (Blameless).

O que precisamos para começar

  • Cultura;
  • Programação;
  • Gerenciar Servidores, Virtualização, Redes e Segurança;
  • Criação de Scripts;
  • Instalar e configurar middlewares (apache, nginx, haproxy);
  • Instalar softwares;
  • Versionar arquivos com GIT;
  • Automatizar tarefas e gerenciar configurações;
  • Infraestrutura como Código;
  • Observabilidade;
  • Orquestração de Containers;
  • Compartilhar;

Docker

É uma tecnologia de conteinerização que permite a criação e o uso de containers Linux.

Containers são como se fossem máquinas virtuais modulares e extremamente leves.

O Docker possibilita o empacotamento de uma aplicação ou ambiente inteiro dentro de um container, e a partir desse momento o ambiente inteiro torna-se portável para qualquer outro Host que contenha o Docker instalado.

Para ajudar no uso do Docker, temos o DockerFile, que é um arquivo de configuração que permite a criação de containers, e o Docker Compose, que é um arquivo de configuração que permite a criação de múltiplos containers.

Exemplo dos comandos:

Com isso, finalizamos a aula 1 de DevOps.