Um contêiner é uma tecnologia de virtualização projetada para criar e oferecer suporte a um formato portátil para aplicativos – em outras palavras, para facilitar a implantação de um aplicativo em uma variedade de plataformas diferentes. Um contêiner reúne todos os requisitos para o aplicativo – o código do aplicativo em si, dependências como bibliotecas que o aplicativo precisa para ser executado e o ambiente de tempo de execução para o aplicativo e suas dependências – em um formato que pode ser transportado e executado de forma independente em todas as plataformas. Os contêineres são uma abstração de um aplicativo do ambiente de execução típico do sistema operacional.

Docker é o formato de implementação de contêiner mais conhecido; no entanto, existem outras tecnologias de contêiner, como rkt/CoreOS, containerd, contêineres Hyper-V e tecnologias de nível inferior, como cgroups e namespaces (ambos usados para isolamento de aplicativos, semelhante aos mecanismos de contêiner, mas não fornecem portabilidade isolada da mesma forma que os contêineres). Você pode usar ferramentas de plataforma como Docker ou rkt para gerenciar contêineres diretamente, mas a maioria das implantações usa uma ferramenta de orquestração como o Kubernetes para gerenciamento de contêineres. Embora não seja obrigatório, o Kubernetes está se tornando a ferramenta padrão para implantações de contêineres de nível de produção.

Os contêineres se tornaram uma escolha arquitetônica muito popular porque possibilitam dividir um aplicativo em componentes menores e discretos, permitindo a divisão entre proprietários de infraestrutura e desenvolvedores. Isso é benéfico durante o desenvolvimento porque significa que equipes separadas podem trabalhar em vários componentes em paralelo, e durante a implantação porque permite a transportabilidade de um determinado contêiner entre plataformas. Os contêineres também fornecem uma ferramenta mais simplificada para gerentes de aplicativos e infraestrutura porque podem fornecer plataformas imutáveis que permitem aos desenvolvedores publicar contêineres de aplicativos para um conjunto de requisitos conhecidos sem possuir esses requisitos.

O termo conteinerização de aplicativos é frequentemente usado para significar o processo de migração de um aplicativo de um ambiente de execução Linux padrão para um formato independente que pode ser executado em muitos ambientes. Muitas empresas estão bem avançadas em sua jornada de conteinerização e já começaram a migração para contêineres básicos ou para uma estratégia de gerenciamento de contêineres mais abrangente usando uma ferramenta como o Kubernetes.

Como o NGINX pode ajudar?

Todos os produtos NGINX podem ser executados em contêineres – incluindo NGINX Open Source , NGINX Plus (opcionalmente com NGINX App Protect ), NGINX Unit , NGINX Service Mesh , NGINX Ingress Controller – ou são criados em tecnologias de contêiner ( NGINX Controller ).

Entre em contato conosco hoje mesmo para saber como podemos ajudar você a entregar aplicativos modernos .