image

Access unlimited bootcamps and 650+ courses

50
%OFF
Article image
Eduardo Lentz
Eduardo Lentz01/04/2025 10:18
Share
Microsoft Certification Challenge #3 DP-100Recommended for youMicrosoft Certification Challenge #3 DP-100

🐧 Do Shell ao Docker: 3 Projetos Práticos de Linux com IaC no Bootcamp Santander da DIO

    image

    Recentemente eu finalizei o Bootcamp Santander Linux, promovido pela Digital Innovation One (DIO). Durante a jornada, mergulhei em três projetos práticos que mostram como aplicar os conceitos de Infraestrutura como Código (IaC) em ambientes Linux. Com uma combinação de Shell Script, Apache, Docker e Nginx, consegui construir soluções automatizadas do zero — e agora compartilho esses aprendizados com você.

    🔧 Projeto 1 — Gerenciamento de Usuários e Diretórios com Shell Script

    Nesse projeto, a proposta foi automatizar tarefas comuns do dia a dia de um sysadmin: criar usuários, grupos e definir permissões de acesso em um ambiente corporativo.

    ✅ O script realiza:

    • Criação de diretórios (/publico, /adm, /ven, /sec)
    • Criação de grupos de usuários (GRP_ADM, GRP_VEN, GRP_SEC)
    • Inclusão de usuários em seus respectivos grupos
    • Definição de permissões adequadas para cada diretório

    🛠️ Extra: outro script separa a criação de usuários convidados, já com senha padrão e troca obrigatória no primeiro login.

    🔗 Repositório no GitHub

    🌐 Projeto 2 — Automação de Servidor Apache e Deploy de Site Estático

    O segundo projeto consistiu em provisionar um servidor Apache em uma máquina Linux (rodando em VM com VMware) e automatizar a publicação de um site pessoal.

    ✅ O script realiza:

    • Atualização do sistema
    • Instalação do Apache e utilitário unzip
    • Descompactação e cópia do site para /var/www/html
    • Configuração de permissões e reinício do Apache

    💡 Bastam poucos comandos para colocar o site no ar localmente via navegador. Simples, mas poderoso para quem quer entender a estrutura de um servidor web.

    🔗 Repositório no GitHub

    🐳 Projeto 3 — Microsserviços com Docker: PHP + MySQL + Nginx

    O terceiro projeto é o mais robusto, focado em uma arquitetura de microsserviços usando Docker e Docker Compose. A aplicação em PHP se comunica com um banco MySQL, é exposta via Nginx com balanceamento de carga e ainda traz uma visualização em gráfico com Chart.js.

    ✅ O projeto inclui:

    • Banco de dados MySQL com script de inicialização
    • Aplicação PHP com inserção e leitura de dados
    • Dashboard com visualização gráfica dos registros
    • Balanceamento de carga com Nginx
    • Comunicação entre containers via rede Docker

    🔗 Repositório no GitHub

    📈 Comparando com o Projeto Original

    Esse projeto foi inspirado em um repositório base fornecido pelo instrutor Denilson Bonatti durante o bootcamp. A partir dele, implementei melhorias que deixaram a aplicação mais segura, modular e alinhada com boas práticas modernas:

    ✅Uso de variáveis de ambiente com .env

    • Evita hardcode de senhas e IPs, tornando o projeto mais seguro e flexível.

    ✅ Docker Compose para orquestração

    • Orquestra os serviços de forma automática, facilitando o deploy local com apenas um comando.

    ✅ Dockerfiles customizados

    • Criação de imagem própria do PHP com suporte a mysqli, e estrutura organizada por pastas.

    ✅ Separação de responsabilidades

    • Divisão do app em arquivos separados: index.php, visualizar.php, dashboard.php.

    ✅ Visualização de dados com Chart.js

    • Criação de dashboard dinâmica com gráfico de barras para exibir os dados inseridos no banco.

    ✅ Logs de aplicação

    • Registro de inserções em arquivo com error_log(), facilitando o monitoramento do sistema.

    ✅ Estrutura modular

    • Organização clara do projeto em app/, db/ e nginx/, com comunicação via rede interna Docker.

    Essas melhorias refletem um cuidado maior com a escalabilidade, manutenção e boas práticas de desenvolvimento de software moderno com Docker.

    🎓 Conclusão

    Esses três projetos, realizados dentro do Bootcamp Santander Linux da DIO, foram fundamentais para consolidar meus conhecimentos em Linux, automação e conteinerização. Aplicar conceitos como IaC, separação de responsabilidades e orquestração com Docker trouxe uma nova perspectiva sobre como ambientes profissionais são gerenciados hoje.

    Se você está estudando para entrar na área de infraestrutura, DevOps ou quer criar um portfólio sólido com projetos de código aberto, recomendo vivamente essa abordagem prática.

    Se quiser trocar uma ideia, me chama 🤗

    . . . . . . . .

    Eduardo O. Lentz

    💻 Portfolio | 🔗 LinkedIn | 📂 GitHub | 📝 Medium | 📸 Instagram

    Share
    Recommended for you
    XP Inc. - Cloud com Inteligência Artificial
    Microsoft AI for Tech - Azure Databricks
    Microsoft Certification Challenge #3 DP-100
    Comments (1)
    DIO Community
    DIO Community - 01/04/2025 15:11

    Eduardo, seus projetos no Bootcamp Santander Linux são incríveis! Eles oferecem uma excelente aplicação prática de conceitos essenciais para quem está mergulhando no mundo da infraestrutura e automação.

    O uso do Docker, especialmente com Docker Compose, para orquestrar os serviços é uma ótima maneira de entender como os microsserviços funcionam no mundo real, e a separação de responsabilidades no seu projeto PHP + MySQL + Nginx reflete as melhores práticas de desenvolvimento. Além disso, a integração do Chart.js para visualização de dados é uma adição inteligente para demonstrar o poder dos microsserviços com interface gráfica.

    Você conseguiu implementar segurança e modularidade de forma simples e eficaz, o que é ótimo para quem está começando, mas também muito relevante para projetos mais avançados. Como você viu as melhorias no seu processo de desenvolvimento após aplicar essas boas práticas?

    Recommended for youMicrosoft Certification Challenge #3 DP-100