Blog Deltaops

Ansible: Primeiros Passos

Ansible é uma ferramenta de automação de infraestrutura e gerenciamento de configuração de Open Source. Ela permite que os administradores de sistema e desenvolvedores provisionem, configurem e gerenciem servidores, aplicativos e ambientes de maneira rápida e eficiente. Algumas das principais características do Ansible são: Conceitos básicos do Ansible Conceito Definição Host Servidor gerenciado pelo Ansible Group Conjunto de hosts com um atributo comum Inventory Arquivo que define hosts e grupos Module Unidade de código executada nos hosts remotos Task Ação que combina um módulo e seus argumentos Playbook Lista ordenada de tarefas em YAML Role Estrutura reutilizável para organizar código YAML: Um formato de dados popular e simples que é muito limpo e compreensível por humanos. Resumi bem o que é o Ansible e alguns conceitos e agora vamos pra prática e ver como a gente pode usar essa ferramenta. No meu caso estarei usando o Ubuntu

Docker: Algumas boas práticas para a criação de Dockerfiles

Dockerfiles são a base para a construção de imagens Docker, peça fundamental no desenvolvimento e implantação de aplicações containerizadas. Para criar Dockerfiles robustos, eficientes e fáceis de manter, é essencial seguir boas práticas. Neste guia, você vai aprender as principais boas práticas para Dockerfiles com exemplos práticos e comandos reais. 1- Minimize o número de camadas consolidando as instruções ❌ Evite: múltiplas camadas desnecessárias RUN apk updateRUN apk add curlRUN apk add vim ✅ Faça: consolide em uma única camada RUN apk update && \apk add curl && \apk add vim Cada instrução em um Dockerfile cria uma nova camada na imagem Docker. Quanto mais instruções, mais camadas – e isso impacta diretamente o desempenho, o tempo de build e o tamanho final da imagem. Por isso, o número de instruções deve ser reduzido ao mínimo possível. 2- Evite instalar pacotes desnecessários Uma das principais boas práticas

AER: Multiple Corrected error received

O seu disco rígido no Ubuntu encheu devido aos logs excessivos no syslog e no kernel, contendo essas informações. Jun 15 11:38:52 x99 kernel: pcieport 0000:00:03.0: AER: Multiple Corrected error received: id=0018 Jun 15 15:38:52 x99 kernel: pcieport 0000:00:03.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0018(Receiver ID) Posso dar pelo menos alguns detalhes, embora não consiga explicar completamente o que acontece. Conforme descrito aqui , por exemplo , a CPU se comunica com o controlador de barramento PCIe por meio de pacotes da camada de transação (TLPs). O hardware detecta quando há falhas e o kernel do Linux relata isso como mensagens. A opção do kernel pci=nommconf desativa o espaço de configuração PCI mapeado em memória, que está disponível no Linux desde o kernel 2.6. Grosso modo, todos os dispositivos PCI possuem uma área que descreve esse dispositivo (que você vê com lspci -vv), e o método original para acessar essa área envolve

Como executar GitHub Actions localmente usando a ferramenta act

No post anterior, apresentei a ferramenta ACT para vocês. Agora, vamos fazer a instalação e mostrar alguns exemplos práticos, para que vocês possam ver a ferramenta em ação na prática. Instalação: A ferramenta actCLI funciona com Docker. Antes de começar com actCLI, primeiro instale o Docker em seu computador ou laptop. Para instalar a actCLI, você precisa executar o seguinte comando: # Windowschoco install act-cli# MacOSbrew install act# Linuxcurl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash No meu caso, estou utilizando o Linux Ubuntu 22.04 e o resultado obtido foi o seguinte: Depois que a instalação da CLI for bem-sucedida em seu laptop ou computador, a próxima etapa é executá-la em seu projeto. Existem vários tamanhos de imagem Docker: Na primeira execução, será retornado o seguinte setup: git:(main) ✗ act? Please choose the default image you want to use with act: – Large size image: ca. 17GB download + 53.1GB storage, you will need

Teste seus Workflows do GitHub Actions Localmente com ACT

O GitHub Actions é uma plataforma poderosa que permite automatizar uma ampla variedade de tarefas no seu fluxo de trabalho de desenvolvimento. Uma das ferramentas que complementa essa funcionalidade é o ACT , que facilita enormemente o teste de seus workflows de CI/CD localmente. Neste post, vamos explorar as principais características e benefícios do ACT, para que você possa aproveitá-lo em seus projetos e acelerar seu processo de desenvolvimento. O que é o ACT?O ACT é uma ferramenta de linha de comando (CLI) desenvolvida pela equipe do GitHub Actions. Ela permite testar seus workflows de GitHub Actions localmente, antes mesmo de fazer o push para o repositório remoto. Isso significa que você pode validar e depurar seus workflows sem precisar esperar pelo processo de integração contínua no GitHub. Principais Recursos do ACT: Benefícios do Uso do ACT: O ACT é uma ferramenta essencial para quem trabalha com

Terraform: Gerenciando dependências entre recursos – guia prático

No Terraform, a ordem de criação dos recursos é fundamental. Se você tentar criar uma instância EC2 antes da VPC ou do Security Group, o provisionamento vai falhar. Para resolver isso, o Terraform oferece duas formas de gerenciar dependências entre recursos: dependências implícitas (automáticas) e dependências explícitas (manuais, com depends_on). Neste guia, você vai aprender como e quando usar cada uma, com exemplos práticos na AWS. ⚡ Resumo rápido No Terraform, as dependências entre recursos podem ser de dois tipos: Tipo Como funciona Quando usar Implícita Automática, baseada em referências ✅ Sempre que possível (recomendado) Explícita Manual, com depends_on ✅ Quando não há referência direta entre recursos Regra de ouro: Prefira dependências implícitas. Use depends_on apenas quando necessário. O que são dependências no Terraform? Dependências definem a ordem de criação dos recursos. Se o recurso A precisa de informações do

Introdução ao Pip: Seu Guia para o Gerenciamento de Pacotes Python

Explicar o que é o pip e sua importância para o ecossistema Python. Mencionar que este post irá cobrir os conceitos básicos do pip e como utilizá-lo de forma eficiente. O que é o Pip? Instalando o Pip No meu caso, estou utilizando o Ubuntu 22.04, porém é importante seguir a documentação específica do seu sistema operacional para fazer a instalação correta do pip. A instalação do pip pode variar ligeiramente entre diferentes distribuições Linux, macOS ou Windows. Por exemplo, no Ubuntu 22.04, você pode instalar o pip executando o seguinte comando no terminal: sudo apt-get updatesudo apt-get install -y python3-pippip3 –version Usando o Pip Comandos básicos do pip: pip install <pacote> EX: pip install flask pip uninstall <pacote> Ex: pip uninstall flask Ex: pip install –upgrade flask Ex: pip list Por último, o comando pip freeze é bastante interessante. Ele gera uma saída no formato do requirements.txt,

Como criar um ambiente virtual Python no Ubuntu 22.04 – passo a passo

Ao trabalhar com projetos Python, é comum ter a necessidade de gerenciar diferentes versões de bibliotecas e dependências. Um ambiente virtual Python é uma excelente solução para esse problema, permitindo que você crie e isole ambientes de desenvolvimento independentes. Neste tutorial, vamos aprender passo a passo como criar um ambiente virtual Python no Ubuntu 22.04. Pré-requisitos Antes de começarmos, certifique-se de ter o Python 3 instalado em seu sistema Ubuntu 22.04. Você pode verificar a versão do Python executando o seguinte comando no terminal: #python3 — version Se o Python 3 não estiver instalado, você pode instalá-lo com o seguinte comando: sudo apt-get updatesudo apt-get install python3 Criando um ambiente virtual Python sudo apt-get install python3-virtualenv python3 -m venv deltaops Neste exemplo, estamos criando um ambiente virtual chamado “deltaops”. Você pode escolher qualquer nome que desejar. source deltaops/bin/activate Você verá (deltaops) no

Docker: Seu primeiro Dockerfile

Vamos criar o nosso primeiro Dockerfile. Vamos supor que temos uma aplicação Python simples com um arquivo app.py que contém o seguinte código: from flask import Flaskapp = Flask(__name__)@app.route(‘/’)def hello(): return ‘Hello, World!’if __name__ == ‘__main__’: app.run(host=’0.0.0.0′, port=8080) Aqui está o passo a passo para criar o Dockerfile: # Use a imagem base do PythonFROM python:3.9-slim# Defina o diretório de trabalhoWORKDIR /app# Copie os arquivos da aplicação para o diretório de trabalhoCOPY . .# Instale as dependências da aplicaçãoRUN pip install –no-cache-dir -r requirements.txt# Defina o comando de execução da aplicaçãoCMD [“python”, “app.py”] Vamos explicar o que cada linha faz: Agora, crie o arquivo requirements.txt no mesmo diretório da sua aplicação e adicione as seguintes linhas: Flask==2.0.2 Isso especifica que a aplicação depende da biblioteca Flask, na versão 2.0.2. docker build -t minha-aplicacao-python . Este comando constrói a imagem do Docker usando o Dockerfile

Terraform: ferramentas essenciais que você precisa conhecer

Familiarize-se com estas ferramentas essenciais para aprimorar sua experiência com o Terraform. TFLint O TFLint é um linter do Terraform focado em possíveis erros, melhores práticas e convenções de estilo no seu código do Terraform. Quando usar o TFLint: Você pode executar o TFLint antes do comando terraform plan para detectar problemas antecipadamente. Por exemplo, digamos que você defina uma instância AWS EC2 em sua configuração do Terraform e faça referência erroneamente a uma AMI que não existe. O TFLint pode identificar o problema do ID da AMI antes de você executar o comando terraform plan ou terraform apply: $ tflint main.tf1 issue(s) found:Error: “ami-12345678” is an invalid AMI ID. (aws_instance_invalid_ami)on main.tf line 2: 2: ami = “ami-12345678” Instalação: https://github.com/terraform-linters/tflint Terrascan Terrascan é uma ferramenta de análise estática de código que verifica suas configurações de Infraestrutura como Código (IaC) em busca de vulnerabilidades de segurança e violações de

Ansible: Primeiros Passos

Ansible é uma ferramenta de automação de infraestrutura e gerenciamento de configuração de Open Source. Ela permite que os administradores de sistema e desenvolvedores provisionem, configurem e gerenciem servidores, aplicativos e ambientes de maneira rápida e eficiente. Algumas das principais características do Ansible são: Conceitos básicos do Ansible Conceito Definição Host Servidor gerenciado pelo Ansible Group Conjunto de hosts com um atributo comum Inventory Arquivo que define hosts e grupos Module Unidade de código executada nos hosts remotos Task Ação que combina um módulo e seus argumentos Playbook Lista ordenada de tarefas em YAML Role Estrutura reutilizável para organizar código YAML: Um formato de dados popular e simples que é muito limpo e compreensível por humanos. Resumi bem o que é o Ansible e alguns conceitos e agora vamos pra prática e ver como a gente pode usar essa ferramenta. No meu caso estarei usando o Ubuntu

Leia mais

Docker: Algumas boas práticas para a criação de Dockerfiles

Dockerfiles são a base para a construção de imagens Docker, peça fundamental no desenvolvimento e implantação de aplicações containerizadas. Para criar Dockerfiles robustos, eficientes e fáceis de manter, é essencial seguir boas práticas. Neste guia, você vai aprender as principais boas práticas para Dockerfiles com exemplos práticos e comandos reais. 1- Minimize o número de camadas consolidando as instruções ❌ Evite: múltiplas camadas desnecessárias RUN apk updateRUN apk add curlRUN apk add vim ✅ Faça: consolide em uma única camada RUN apk update && \apk add curl && \apk add vim Cada instrução em um Dockerfile cria uma nova camada na imagem Docker. Quanto mais instruções, mais camadas – e isso impacta diretamente o desempenho, o tempo de build e o tamanho final da imagem. Por isso, o número de instruções deve ser reduzido ao mínimo possível. 2- Evite instalar pacotes desnecessários Uma das principais boas práticas

Leia mais

AER: Multiple Corrected error received

O seu disco rígido no Ubuntu encheu devido aos logs excessivos no syslog e no kernel, contendo essas informações. Jun 15 11:38:52 x99 kernel: pcieport 0000:00:03.0: AER: Multiple Corrected error received: id=0018 Jun 15 15:38:52 x99 kernel: pcieport 0000:00:03.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0018(Receiver ID) Posso dar pelo menos alguns detalhes, embora não consiga explicar completamente o que acontece. Conforme descrito aqui , por exemplo , a CPU se comunica com o controlador de barramento PCIe por meio de pacotes da camada de transação (TLPs). O hardware detecta quando há falhas e o kernel do Linux relata isso como mensagens. A opção do kernel pci=nommconf desativa o espaço de configuração PCI mapeado em memória, que está disponível no Linux desde o kernel 2.6. Grosso modo, todos os dispositivos PCI possuem uma área que descreve esse dispositivo (que você vê com lspci -vv), e o método original para acessar essa área envolve

Leia mais

Como executar GitHub Actions localmente usando a ferramenta act

No post anterior, apresentei a ferramenta ACT para vocês. Agora, vamos fazer a instalação e mostrar alguns exemplos práticos, para que vocês possam ver a ferramenta em ação na prática. Instalação: A ferramenta actCLI funciona com Docker. Antes de começar com actCLI, primeiro instale o Docker em seu computador ou laptop. Para instalar a actCLI, você precisa executar o seguinte comando: # Windowschoco install act-cli# MacOSbrew install act# Linuxcurl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash No meu caso, estou utilizando o Linux Ubuntu 22.04 e o resultado obtido foi o seguinte: Depois que a instalação da CLI for bem-sucedida em seu laptop ou computador, a próxima etapa é executá-la em seu projeto. Existem vários tamanhos de imagem Docker: Na primeira execução, será retornado o seguinte setup: git:(main) ✗ act? Please choose the default image you want to use with act: – Large size image: ca. 17GB download + 53.1GB storage, you will need

Leia mais

Teste seus Workflows do GitHub Actions Localmente com ACT

O GitHub Actions é uma plataforma poderosa que permite automatizar uma ampla variedade de tarefas no seu fluxo de trabalho de desenvolvimento. Uma das ferramentas que complementa essa funcionalidade é o ACT , que facilita enormemente o teste de seus workflows de CI/CD localmente. Neste post, vamos explorar as principais características e benefícios do ACT, para que você possa aproveitá-lo em seus projetos e acelerar seu processo de desenvolvimento. O que é o ACT?O ACT é uma ferramenta de linha de comando (CLI) desenvolvida pela equipe do GitHub Actions. Ela permite testar seus workflows de GitHub Actions localmente, antes mesmo de fazer o push para o repositório remoto. Isso significa que você pode validar e depurar seus workflows sem precisar esperar pelo processo de integração contínua no GitHub. Principais Recursos do ACT: Benefícios do Uso do ACT: O ACT é uma ferramenta essencial para quem trabalha com

Leia mais

Terraform: Gerenciando dependências entre recursos – guia prático

No Terraform, a ordem de criação dos recursos é fundamental. Se você tentar criar uma instância EC2 antes da VPC ou do Security Group, o provisionamento vai falhar. Para resolver isso, o Terraform oferece duas formas de gerenciar dependências entre recursos: dependências implícitas (automáticas) e dependências explícitas (manuais, com depends_on). Neste guia, você vai aprender como e quando usar cada uma, com exemplos práticos na AWS. ⚡ Resumo rápido No Terraform, as dependências entre recursos podem ser de dois tipos: Tipo Como funciona Quando usar Implícita Automática, baseada em referências ✅ Sempre que possível (recomendado) Explícita Manual, com depends_on ✅ Quando não há referência direta entre recursos Regra de ouro: Prefira dependências implícitas. Use depends_on apenas quando necessário. O que são dependências no Terraform? Dependências definem a ordem de criação dos recursos. Se o recurso A precisa de informações do

Leia mais

Introdução ao Pip: Seu Guia para o Gerenciamento de Pacotes Python

Explicar o que é o pip e sua importância para o ecossistema Python. Mencionar que este post irá cobrir os conceitos básicos do pip e como utilizá-lo de forma eficiente. O que é o Pip? Instalando o Pip No meu caso, estou utilizando o Ubuntu 22.04, porém é importante seguir a documentação específica do seu sistema operacional para fazer a instalação correta do pip. A instalação do pip pode variar ligeiramente entre diferentes distribuições Linux, macOS ou Windows. Por exemplo, no Ubuntu 22.04, você pode instalar o pip executando o seguinte comando no terminal: sudo apt-get updatesudo apt-get install -y python3-pippip3 –version Usando o Pip Comandos básicos do pip: pip install <pacote> EX: pip install flask pip uninstall <pacote> Ex: pip uninstall flask Ex: pip install –upgrade flask Ex: pip list Por último, o comando pip freeze é bastante interessante. Ele gera uma saída no formato do requirements.txt,

Leia mais

Como criar um ambiente virtual Python no Ubuntu 22.04 – passo a passo

Ao trabalhar com projetos Python, é comum ter a necessidade de gerenciar diferentes versões de bibliotecas e dependências. Um ambiente virtual Python é uma excelente solução para esse problema, permitindo que você crie e isole ambientes de desenvolvimento independentes. Neste tutorial, vamos aprender passo a passo como criar um ambiente virtual Python no Ubuntu 22.04. Pré-requisitos Antes de começarmos, certifique-se de ter o Python 3 instalado em seu sistema Ubuntu 22.04. Você pode verificar a versão do Python executando o seguinte comando no terminal: #python3 — version Se o Python 3 não estiver instalado, você pode instalá-lo com o seguinte comando: sudo apt-get updatesudo apt-get install python3 Criando um ambiente virtual Python sudo apt-get install python3-virtualenv python3 -m venv deltaops Neste exemplo, estamos criando um ambiente virtual chamado “deltaops”. Você pode escolher qualquer nome que desejar. source deltaops/bin/activate Você verá (deltaops) no

Leia mais

Docker: Seu primeiro Dockerfile

Vamos criar o nosso primeiro Dockerfile. Vamos supor que temos uma aplicação Python simples com um arquivo app.py que contém o seguinte código: from flask import Flaskapp = Flask(__name__)@app.route(‘/’)def hello(): return ‘Hello, World!’if __name__ == ‘__main__’: app.run(host=’0.0.0.0′, port=8080) Aqui está o passo a passo para criar o Dockerfile: # Use a imagem base do PythonFROM python:3.9-slim# Defina o diretório de trabalhoWORKDIR /app# Copie os arquivos da aplicação para o diretório de trabalhoCOPY . .# Instale as dependências da aplicaçãoRUN pip install –no-cache-dir -r requirements.txt# Defina o comando de execução da aplicaçãoCMD [“python”, “app.py”] Vamos explicar o que cada linha faz: Agora, crie o arquivo requirements.txt no mesmo diretório da sua aplicação e adicione as seguintes linhas: Flask==2.0.2 Isso especifica que a aplicação depende da biblioteca Flask, na versão 2.0.2. docker build -t minha-aplicacao-python . Este comando constrói a imagem do Docker usando o Dockerfile

Leia mais

Terraform: ferramentas essenciais que você precisa conhecer

Familiarize-se com estas ferramentas essenciais para aprimorar sua experiência com o Terraform. TFLint O TFLint é um linter do Terraform focado em possíveis erros, melhores práticas e convenções de estilo no seu código do Terraform. Quando usar o TFLint: Você pode executar o TFLint antes do comando terraform plan para detectar problemas antecipadamente. Por exemplo, digamos que você defina uma instância AWS EC2 em sua configuração do Terraform e faça referência erroneamente a uma AMI que não existe. O TFLint pode identificar o problema do ID da AMI antes de você executar o comando terraform plan ou terraform apply: $ tflint main.tf1 issue(s) found:Error: “ami-12345678” is an invalid AMI ID. (aws_instance_invalid_ami)on main.tf line 2: 2: ami = “ami-12345678” Instalação: https://github.com/terraform-linters/tflint Terrascan Terrascan é uma ferramenta de análise estática de código que verifica suas configurações de Infraestrutura como Código (IaC) em busca de vulnerabilidades de segurança e violações de

Leia mais