C++ e Docker: conteinerização de aplicações
C++ e Docker: conteinerização de aplicações
Resumo:
O livro «C++ e Docker: conteinerização de aplicações» é o primeiro guia prático do gênero que preenche a lacuna entre o desenvolvimento clássico em C++ e as práticas modernas de DevOps. Se você é um desenvolvedor C++ que deseja simplificar a compilação, os testes e a implantação de seus projetos, ou um engenheiro DevOps que precisa conteinerizar código C++ legado, este livro é para você.
Ao contrário dos guias populares sobre Docker para aplicações web (Python, Node.js, Go), o C++ impõe requisitos especiais: linkagem estática e dinâmica, gerenciamento de bibliotecas do sistema, otimização do tamanho da imagem, trabalho com CMake e Vcpkg. O autor analisa detalhadamente todos esses aspectos, oferecendo receitas prontas e templates de Dockerfile.
O que você aprenderá com este livro:
- Fundamentos do Docker para C++: como a conteinerização de linguagens compiladas difere das interpretadas, como evitar erros comuns (por exemplo, problemas com glibc).
- Multi-stage builds: como compilar a aplicação em uma imagem e enviar para produção apenas o artefato mínimo, sem compilador e arquivos de cabeçalho.
- Gerenciamento de dependências: integração do Docker com Conan, Vcpkg e CMake. Como armazenar bibliotecas em cache para não recompilá-las a cada commit.
- DevContainers e VSCode: configuração do ambiente de desenvolvimento em contêiner para que toda a equipe trabalhe em condições idênticas.
- Pipelines de CI/CD: automação de compilação, linkagem, análise estática e testes unitários dentro do Docker usando GitHub Actions e GitLab CI.
- Otimização do tamanho da imagem: como reduzir a imagem final de 2 GB para 50 MB usando Alpine, Scratch e compilação estática.
- Deploy em produção: execução de microsserviços em C++ no Docker Swarm e Kubernetes, trabalho com healthcheck e graceful shutdown.
- Segurança: varredura de vulnerabilidades, execução de contêineres com privilégios limitados, uso de sistemas de arquivos somente leitura.
Para quem é este livro:
- Desenvolvedores C++ que desejam incorporar o Docker em seu fluxo de trabalho.
- Engenheiros DevOps que precisam dar suporte à compilação e implantação de aplicações C++.
- Estudantes e professores que estudam metodologias modernas de desenvolvimento de software.
- Tech leads que planejam migrar um monólito em C++ para uma arquitetura de microsserviços.
Todos os exemplos do livro são baseados em projetos reais e acompanhados de código completo, disponível em um repositório. Você aprenderá não apenas a executar "Hello World" em um contêiner, mas a construir um processo confiável, reproduzível e escalável, do desenvolvimento à produção.
O livro é adequado para leitores com conhecimento básico de C++ e compreensão inicial de Docker. Se você sabe escrever programas simples em C++ e já executou docker run alguma vez, isso é suficiente para começar.
Recommendations
Código Limpo em TypeScript: Guia Prático para Escrever Código Sustentável e Eficiente
Código Limpo em PHP: Escrevendo Código Legível e Sustentável
Código Limpo em PHP: do Caos à Perfeição Arquitetônica
DevOps para desenvolvedores Java
Arquitetura de Aplicações Java: do Monólito aos Microsserviços
Programação Web em Go