Consultoria e suporte Docker em Pittsburgh e Cleveland
A KawaConnect ajuda empresas de Pittsburgh, Pensilvânia, e da região de Cleveland, no nordeste de Ohio, a empacotar, implantar e manter aplicativos com Docker e Docker Compose. Construímos a implantação, o proxy, os backups e a rotina de atualização, e depois damos suporte.
Converse sobre o seu aplicativo Linux e Kubernetes
Plataformas deste serviço
O que fazemos com o Docker
Empacotamos o aplicativo e depois construímos ao redor dele o que uma implantação em produção exige.
Conteinerização de aplicativos
Empacotamos seu aplicativo e suas dependências em imagens que são construídas da mesma forma todas as vezes.
Implantações com Docker Compose
Um arquivo Compose descreve os serviços, as redes e os volumes, de modo que um aplicativo inteiro inicia e reinicia como uma única unidade.
Proxy reverso e TLS
Uma única porta de entrada para vários aplicativos, com certificados HTTPS emitidos e renovados automaticamente.
Registries e builds de CI
Um registry de imagens privado e pipelines do GitLab CI que constroem, etiquetam e publicam imagens a cada alteração.
Backups de volumes
Dados persistentes com backup externo e restaurações de teste.
Atualizações de segurança
Imagens base reconstruídas e hosts atualizados em um cronograma, com um caminho de reversão.
Conteinerizar um aplicativo
Antes de conteinerizar um aplicativo, descobrimos o que ele lê, o que grava, quais portas usa e do que precisa na inicialização. O código e o ambiente de execução são descartáveis. Bancos de dados e arquivos enviados precisam persistir, então vão para volumes nomeados ou bind mounts, nunca para dentro do contêiner.
Segredos, como senhas de banco de dados, ficam fora das imagens e do controle de versão. Eles são fornecidos ao contêiner quando ele inicia.
Docker Compose para aplicativos empresariais
Para um único host, o Docker Compose costuma ser a ferramenta certa. Um único arquivo define o aplicativo, o banco de dados e o cache, e você inicia tudo com um comando.
- Proxy reverso e TLS: um proxy encerra o HTTPS, encaminha por nome de host e renova os certificados, para que os aplicativos não fiquem expostos diretamente.
- Comportamento de reinício: políticas de reinício e verificações de integridade trazem os serviços de volta após uma falha ou uma reinicialização.
- Monitoramento: verificações de disponibilidade e logs alimentam os mesmos painéis dos seus outros sistemas.
Registries de imagens e builds de CI
Construir imagens em um notebook e copiá-las para um servidor não escala além de uma pessoa. Configuramos um registry privado e um pipeline do GitLab CI que constrói uma imagem sempre que o código muda, a etiqueta com uma versão e a publica. As implantações passam a baixar uma imagem conhecida e etiquetada, e voltar atrás significa apontar para a etiqueta anterior.
Backups e atualizações de segurança
Os contêineres são descartáveis, mas seus volumes não. Fazemos backup de volumes e bancos de dados em um cronograma, enviamos cópias para fora do local e executamos restaurações de teste. Para contêineres de banco de dados, usamos o método próprio de dump ou backup do banco, em vez de copiar arquivos de um serviço em execução. Veja nossos serviços de backup e recuperação de desastres.
As atualizações de segurança vêm em duas camadas. O sistema operacional do host precisa de patches, e as imagens precisam ser reconstruídas quando a imagem base ou uma biblioteca é corrigida. Agendamos as duas, testamos o resultado e mantemos a versão anterior disponível. Os hosts Docker costumam rodar como máquinas virtuais no Proxmox.
Quando migrar para o Kubernetes
O Docker Compose roda em um único host. Considere o Kubernetes quando perder esse host deixar de ser aceitável, ou quando você precisar de serviços distribuídos em várias máquinas, atualizados sem parada e reiniciados em outro lugar quando uma máquina falha. Um cluster dá mais trabalho para operar, então só o recomendamos quando você precisa dessas coisas. Nesse ponto, movemos as cargas de trabalho para os clusters descritos na consultoria em Linux e Kubernetes.
Como funciona um projeto
- Conversa de levantamento. Descobrimos o que o aplicativo faz e onde ele roda.
- Escopo por escrito. Um plano para contêineres, proxy, backups e atualizações.
- Construção e entrega. Implantamos, testamos uma restauração e documentamos como operar.
- Suporte contínuo. Opcional, com um engenheiro identificado.
Respondemos em até um dia útil. Nossos escritórios ficam em Coraopolis e Beaver Falls, na Pensilvânia, e o trabalho presencial na região de Cleveland é organizado conforme o projeto.
Perguntas sobre o suporte ao Docker
O Docker Compose é suficiente para produção?
Para muitos aplicativos empresariais em um único host, sim, desde que existam backups, monitoramento e uma rotina de patches. Ele não oferece failover entre hosts.
Vocês conseguem conteinerizar um software que não escrevemos?
Muitas vezes, sim. Muitos aplicativos publicam imagens de contêiner, e nós as configuramos e fazemos backup. Para software sob medida, nós o empacotamos ou trabalhamos com os seus desenvolvedores.
Vocês podem assumir um servidor Docker configurado por outra pessoa?
Sim. Fazemos o inventário dos contêineres, volumes e certificados, verificamos os backups e documentamos o que encontramos antes de alterar qualquer coisa.
Para quem é
- Empresas que rodam um aplicativo em um único servidor difícil de reconstruir ou atualizar
- Equipes que querem implantações repetíveis e uma configuração rastreada e versionada
- Empresas que substituem software cobrado por usuário por ferramentas open source hospedadas por elas mesmas
- Equipes de desenvolvimento que precisam de builds de imagens e de um registry
Guias relacionados
Explicações em linguagem simples da nossa base de conhecimento.
DockerKubernetesLinuxGitLabGit
Coloque seu aplicativo em um contêiner
Conte o que você roda e onde. Atendimento remoto em todo o país e presencial com agendamento em Pittsburgh e na região de Cleveland.
Inicie uma conversa