GEEKS

Qual plataforma de nuvem você deve escolher? – TI CloudSavvy

Publicidade
Qual plataforma de nuvem você deve escolher?  – TI CloudSavvy

[ad_1]

CloudFoundry e Kubernetes são duas tecnologias de código aberto usadas para executar aplicativos na nuvem. Selecionar a plataforma certa para suas implantações é uma escolha importante para maximizar o desempenho, a capacidade de manutenção e a produtividade de seus desenvolvedores.

Neste artigo, compararemos as características do CloudFoundry e do Kubernetes. Se você já está usando um dos pares, está tentando fazer a escolha para seu próximo projeto ou está apenas curioso para saber como eles diferem, exploraremos seus recursos e explicaremos seus casos de uso.

Definindo as plataformas

CloudFoundry é cobrado como um plataforma de desenvolvimento para aplicativos nativos da nuvem. O Kubernetes fornece orquestração de contêineres em nível de produção. Ambos são usados ​​para implantar aplicativos em ambientes de nuvem, mas cada um aborda esse objetivo de uma direção diferente.

CloudFoundry é um completo Plataforma como serviço (PaaS). Ele fornece uma experiência de desenvolvimento totalmente automatizada baseada na pacote de compilação modelo. Quando você united states of america a CLI do CloudFoundry para cf push (implantar) seu aplicativo, o serviço detecta as linguagens de programação, estruturas e tecnologias de suporte que você united states of america. Ele provisiona automaticamente a infraestrutura de nuvem correta para atender ao seu projeto.

Publicidade

O Kubernetes não é considerado um PaaS completo. Está focado em orquestração de contêineres, a prática de dimensionar e distribuir instâncias de contêiner em vários nós físicos. A implantação no Kubernetes é uma abordagem mais prática onde você outline a infraestrutura que seus contêineres precisam.

O CloudFoundry está ciente das partes internas do seu aplicativo: ele extrai informações significativas sobre o funcionamento do seu projeto e as united states of america para montar automaticamente os componentes de infraestrutura com o mínimo de orientação obrigatória. Por outro lado, o Kubernetes é uma estrutura genérica para implantação packing containers. Falta-lhe qualquer consciência inerente dos requisitos da sua aplicação; a mudança no vocabulário de “aplicativos” para “contêineres” ilustra como o Kubernetes funciona com unidades menores que você combina para criar sistemas completos.

Vantagens do CloudFoundry

O CloudFoundry oferece uma plataforma de implantação de aplicativos que é executada em qualquer grande nuvem. O Kubernetes oferece um modelo semelhante a uma plataforma, mas é focado em cargas de trabalho em contêiner. O CloudFoundry agrega valor ao fornecer funcionalidades integradas no nível do aplicativo, reduzindo o trabalho necessário ao conectar os componentes.

Recursos como roteamento de tráfego, balanceamento de carga e DNS são integrados às suas implementações e configurados por meio da CLI do CloudFoundry ou de um arquivo de configuração simples em seu repositório. Com o Kubernetes, você precisa adicionar componentes manualmente, como Serviços e Ingressos para roteie o tráfego para seus contêineres, montando efetivamente uma pilha de rede do 0.

Uma instalação do CloudFoundry fornece um mercado de serviços que estão prontos para serem adicionados ao seu aplicativo. Eles variam de bancos de dados e filas de mensagens a gateways de API e integrações com plataformas de terceiros. Isso torna rápido e fácil estender sua pilha com componentes externos. O Kubernetes não tem nada comparável; cada componente precisa ser empacotado como um contêiner e adicionado manualmente ao seu cluster.

O CloudFoundry inclui outros recursos de conveniência para autenticação e gerenciamento de usuários. O Kubernetes também não se compara nessa área: os aplicativos precisam implementar seus próprios mecanismos de autenticação e você é responsável por proteger seu cluster usando tokens e Regras do RBAC.

Vantagens do Kubernetes

Onde o Kubernetes se destaca é quando se trata de dimensionamento e replicação adaptáveis. Pods de contêineres são facilmente distribuídos entre nós físicos sem afetar a conectividade de rede ou os relacionamentos com outros serviços. CloudFoundry também tem escala, mas a ênfase em inscrição gerenciamento significa que é menos granular e não tão perfect para o dimensionamento automático rápido de componentes específicos (embora isso seja possível com o escalonador automático módulo.)

O Kubernetes tem o benefício de uma comunidade ativa de código aberto que está continuamente expandindo e criando produtos adjacentes. O interesse no Kubernetes cresceu rapidamente nos últimos anos, uma tendência que não foi compartilhada pela CloudFoundry. A abordagem genérica adotada pelo Kubernetes o torna uma tecnologia mais amplamente aplicável, por sua vez, incentivando sua adoção. Você achará mais fácil contratar engenheiros qualificados do Kubernetes, pois há mais deles por aí.

O Kubernetes tem uma arquitetura extensível onde você traz exatamente o que precisa. Você pode substituir componentes em sua distribuição do Kubernetes e adicionar novos tipos de recursos fundamentais para uso em suas implantações. Isso mantém você no controle da arquitetura do seu aplicativo e deixa sua infraestrutura acessível e aberta a mudanças.

CloudFoundry é uma solução altamente opinativa que faz a maior parte do trabalho duro para você; isso acelera a implantação inicial, mas oferece menos oportunidades de substituir componentes, adicionar substituições e evoluir sua estratégia ao longo do pace. Depois de escolher o CloudFoundry, você precisa se acostumar com sua maneira de trabalhar para continuar a obter seus benefícios. O Kubernetes impõe menos restrições à aparência de sua infraestrutura. Pode ser facilmente adaptado para se adequar a ambientes altamente especializados.

Modelos de implantação

Você pode ver o modelo de aplicativo as opposed to contêiner na prática observando como as implantações realmente funcionam nas duas plataformas diferentes. Aqui está uma implantação básica equivalente feita primeiro no CloudFoundry e depois no Kubernetes.

CloudFoundry

Com CloudFoundry você instale o cf CLIvá para o seu diretório de trabalho e execute o seguinte comando:

cf push my-app

Isso criará e implantará seu projeto usando a instância do CloudFoundry na qual sua CLI está autenticada. O aplicativo será nomeado my-app. O CloudFoundry detectará seu tipo de código-fonte, adquirirá os buildpacks apropriados, construirá seu aplicativo e o lançará em sua infraestrutura de nuvem.

As implantações são configuradas com um arquivo YAML simples chamado manifest.yml:

programs:
  - title: my-app
    circumstances: 4
    env:
      EXAMPLE_VARIABLE: instance

Correndo cf push em um diretório com esse manifesto implantaria quatro réplicas do seu aplicativo. O EXAMPLE_VARIABLE variável será acessível a partir do seu código-fonte.

Kubernetes

Como o Kubernetes funciona com contêineres, você precisa de uma imagem para seu aplicativo antes de começar. Você terá que escrever um Dockerfile E use docker construct para construí-lo:

docker construct -t my-app:newest .

Depois de obter sua imagem, você pode escrever um conjunto de manifestos do Kubernetes que descrevem os objetos a serem criados em seu cluster:

apiVersion: apps/v1
type: Deployment
metadata:
  title: my-app
spec:
  replicas: 4
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      packing containers:
        - title: my-app-container
          symbol: my-app:newest
          env:
            - title: EXAMPLE_VARIABLE
              worth: "instance"

Este manifesto cria uma implantação do my-app:newest imagem de contêiner que executará quatro réplicas simultaneamente. Também outline o EXAMPLE_VARIABLE variável de ambiente, disponibilizando-a dentro dos packing containers em execução.

Agora você pode use Kubectla CLI do Kubernetes, para executar suas instâncias de contêiner no cluster conectado:

kubectl follow -f manifest.yml

Esses dois exemplos de implantação mínima ilustram as diferenças de conceito, fluxo de trabalho e experiência do desenvolvedor entre as duas tecnologias. Os procedimentos de compilação automatizados do CloudFoundry resultam em uma experiência de implantação sem atritos que é facilmente configurada com sinalizadores CLI ou um arquivo YAML simples.

O Kubernetes encarrega você de criar os componentes do seu aplicativo em imagens de contêiner e, em seguida, definir como eles devem ser executados em seu cluster. Você precisa de muito mais configuração inicial, que é parcialmente responsável pela reputação do Kubernetes de ser complexo e desafiador para aprender. A perseverança recompensa você com a capacidade de criar exatamente sua infraestrutura em torno de seu aplicativo; com o CloudFoundry, você pode acabar adaptando seu aplicativo para funcionar dentro das restrições da plataforma.

Usando as duas plataformas

As duas tecnologias não existem em silos completamente separados. É possível executar CloudFoundry em Kubernetesum modelo em que a plataforma lança cargas de trabalho no cluster Kubernetes em que ela própria é implantada.

No Kubernetes, os packing containers são a unidade básica. Isso cria uma expectativa de que você aceitará a responsabilidade de criar e fornecer imagens de contêiner para suas cargas de trabalho. O modelo de nível de aplicativo do CloudFoundry é um conceito awesome que inclui camadas de abstrações adicionais para criar e preparar implantações para você. Essas são duas estratégias distintas que podem agregar valor à experiência de desenvolvimento, dependendo do que você está criando.

Combinar as tecnologias pode ser uma abordagem viável que permite acessar as vantagens exclusivas de ambas. Você pode usar o CloudFoundry para aplicativos simples que funcionam com infraestrutura padronizada. Projetos que exigem um sistema mais personalizado podem ser implantados diretamente no cluster Kubernetes subjacente, liberando a flexibilidade da infraestrutura autogerenciada.

Conclusão

CloudFoundry e Kubernetes são duas plataformas nativas da nuvem que disputam a atenção de desenvolvedores e equipes de operações. O que você deve escolher depende do aplicativo que está criando, de quanto controle handbook você deseja sobre sua infraestrutura e de seus objetivos de longo prazo para seu serviço.

O CloudFoundry é uma ótima maneira de implantar rapidamente qualquer aplicativo sem ter que pensar em componentes de infraestrutura. A maioria dos aplicativos “simplesmente funciona” após um único cf push, reduzindo drasticamente o pace de configuração inicial e a curva de aprendizado em comparação com o Kubernetes. Você não precisa pensar em manter a infraestrutura ao longo do pace ou atualizar partes de sua pilha: se seu código-fonte for compilado com sucesso, ele poderá ser implantado no CloudFoundry.

O Kubernetes aproxima você de sua infraestrutura. Você é responsável por mapear a arquitetura do seu sistema e determinando os componentes você precisa para uma implantação bem-sucedida. Isso leva pace e significa que você precisa aprender conceitos do Kubernetes e abstrações antes de começar. O benefício é maior flexibilidade e a opção de criar uma infraestrutura que corresponda mais precisamente aos requisitos do seu aplicativo.

O CloudFoundry é melhor quando você deseja o mais alto nível de automação e um design opinativo. Ele facilita implantações rápidas de grandes aplicativos de maneira consistente e reproduzível. Os aplicativos CloudFoundry exigem relativamente pouca manutenção ao longo do pace, permitindo que sejam gerenciados por equipes de operações menores. Por outro lado, o Kubernetes é um requisito de manutenção mais pesado, mas se tornou o padrão para executar sistemas altamente conteinerizados em produção. É a escolha certa quando você precisa de personalização, flexibilidade e visibilidade clara de seus componentes de infraestrutura.

[ad_2]

Fonte da Notícia

Publicidade

Osmar Queiroz

Osmar é um editor especializado em tecnologia, com anos de experiência em comunicação digital e produção de conteúdo voltado para inovação, ciência e tecnologia.

Artigos relacionados

Botão Voltar ao topo
winfordbet