Todos os produtos
Search
Central de documentação

Enterprise Distributed Application Service:Escolha entre ambientes de implantação ECS e Kubernetes

Última atualização: Jun 26, 2026

O Enterprise Distributed Application Service (EDAS) oferece suporte à implantação de aplicativos em clusters Elastic Compute Service (ECS) e Kubernetes (K8s). Ambos os ambientes podem hospedar seus aplicativos, mas oferecem recursos diferentes. Utilize as sugestões e a comparação de recursos abaixo para escolher o ambiente adequado ao seu cenário.

Introdução aos ambientes de implantação

O EDAS disponibiliza dois ambientes de implantação em cluster para aplicativos: ECS e K8s.

  • Tanto os clusters ECS quanto os K8s suportam hospedagem, administração de serviços e observabilidade para aplicativos Java que utilizam os frameworks de microsserviços Spring Cloud, Dubbo ou High-Speed Service Framework (HSF).

  • Apenas os clusters K8s oferecem suporte a hospedagem, administração de serviços e observabilidade para aplicativos poliglotas.

Os dois ambientes também diferem em seus requisitos para aplicativos e pilhas de tecnologia, além das capacidades de gerenciamento fornecidas pelo EDAS.

Recomendações para seleção do ambiente de implantação

O ambiente K8s é recomendado para a maioria dos casos de uso. O EDAS possui integração profunda com o Alibaba Cloud Container Service for Kubernetes (ACK), oferecendo uma ampla gama de recursos de gerenciamento de aplicativos e maior utilização de recursos.

Selecione o ambiente apropriado com base no seu cenário.

Cenário

Ambiente

  • Seu aplicativo é uma imagem de contêiner ou não foi escrito em Java.

  • É necessário implantar várias instâncias em um único nó ou requerer implantação de alta densidade.

  • Deseja utilizar o K8s para gerenciamento, por exemplo, com a ferramenta kubectl, ou usar outros recursos do K8s.

K8s environment

  • Muitos aplicativos não estão conteinerizados.

    O ambiente ECS é mais adequado para implantações sem contêineres e facilita a reutilização de sistemas de O&M existentes.

  • Aplicativos que exigem desempenho e estabilidade extremamente altos para instância única.

ECS environment

Nota

Caso já utilize o ambiente ECS para gerenciar aplicativos e necessite dos recursos avançados oferecidos pelo K8s, migre os aplicativos para um ambiente K8s.

Comparação de recursos de hospedagem de aplicativos

A tabela a seguir compara os recursos entre os ambientes ECS e K8s. Y = suportado, N = não suportado.

Recurso

Ambiente ECS

Ambiente K8s

Observações

Implantar aplicativo

Y

Y

O ambiente K8s suporta mais políticas de agendamento de instâncias e permite implantar vários aplicativos em um único nó.

Iniciar aplicativo

Y

Y

Nenhuma

Parar aplicativo

Y

Y

Nenhuma

Excluir aplicativo

Y

Y

Nenhuma

Dimensionamento de aplicativo

Y

Y

Nenhuma

Redefinir aplicativo

Y

N

Este recurso não é necessário no ambiente K8s. Para redefinir um aplicativo, exclua o pod.

Atualizar ou fazer downgrade de contêiner

Y

Y

Nenhuma

Rollback de aplicativo

Y

Y

Nenhuma

Dimensionamento horizontal automático

Y

Y

Os métodos e regras suportados são diferentes.

Dimensionamento agendado

N

Y

Nenhuma

Lançamento faseado

Y

Y

Nenhuma

Grupo de aplicativos

Y

N

Nenhuma

Configuração de grupo de aplicativos

Y

N

Nenhuma

Log em tempo real

Y

Y

Nenhuma

Diretório de log

Y

Y

Nenhuma

Log do SLS

Y

Y

Nenhuma

Server Load Balancer

Y

Y

Nenhuma

Verificação de integridade

Y

Y

O ambiente K8s suporta sondas de prontidão e atividade, que diferem das verificações de integridade do ambiente ECS.

Configurações de parâmetros da JVM

Y

Y

Nenhuma

Configuração do Tomcat

Y

Y

Nenhuma

Hook de ciclo de vida

Y

Y

O ambiente K8s suporta hooks PostStart e PreStop, diferentes daqueles no ECS.

Variável de ambiente

Y

Y

Nenhuma

Lançamento canário

Y

Y

Nenhuma

Monitoramento de tráfego

Y

Y

Nenhuma

Limitação de taxa e degradação

Y

Y

No ambiente K8s, isso pode ser implementado sem modificar o código do aplicativo.

Consulta à lista de serviços

Y

Y

Nenhuma

Envio de configuração

Y

Y

Nenhuma

Event Center

Y

Y

Nenhuma

Notificações

Y

Y

Nenhuma

Diagnóstico de aplicativos

Y

Y

O K8s oferece capacidades mais integradas de monitoramento, controle e diagnóstico.

Compra de recursos

Y

N

Nenhuma

Service Mesh

N

Y

Nenhuma

Suporte a implantação de imagem

N

Y

Nenhuma

Suporte poliglota

N

Y

Nenhuma

Suporte a NAS

N

Y

Nenhuma

Perguntas frequentes

Posso implantar várias instâncias de aplicativo em um único nó no ambiente ECS?

Não. Se precisar dessa capacidade, utilize o ambiente K8s.

É possível implantar aplicativos poliglotas em um ambiente ECS?

Não. Caso necessite desse recurso, use o ambiente K8s.

As operações da OpenAPI para os ambientes ECS e K8s são as mesmas?

Não. Para obter uma lista das operações da OpenAPI, consulte Visão geral da API.

Ambos os ambientes ECS e K8s suportam ferramentas de desenvolvedor?

Sim, mas as configurações variam entre os ambientes.

Os ambientes ECS e K8s suportam o Apsara DevOps?

Sim. O Apsara DevOps 2020 oferece suporte a implantação tanto em ambientes ECS quanto K8s.

Como o ambiente K8s escala horizontalmente os nós mediante compra de recursos?

No ambiente K8s, o dimensionamento elástico refere-se ao escalonamento de pods. Geralmente, isso não envolve a compra de novas instâncias ECS (nós) nem a liberação das existentes.

Utilize os recursos do Container Service for Kubernetes para implementar o dimensionamento elástico de nós.Para mais informações, consulte Dimensionamento automático de nós.

Se eu uso o recurso de script de montagem em um ambiente ECS, como faço a migração para o ambiente K8s?

Os scripts de montagem executam comandos específicos em determinadas etapas do processo de implantação do ECS. É possível associar scripts a quatro estágios do ciclo de vida: Preparar Instância, Iniciar Aplicativo, Parar Aplicativo e Destruir Instância.

Os hooks de ciclo de vida fornecidos pelo ambiente K8s limitam-se a PostStart e PreStop e não correspondem diretamente ao ciclo de vida do aplicativo no ECS. Portanto, ao migrar um aplicativo que utiliza scripts de montagem para o ambiente K8s, algumas modificações são necessárias.

  • Para scripts de montagem executados antes do estágio Preparar Instância, adicione-os a um Dockerfile e integre-os à imagem.

  • Quanto aos scripts de montagem executados antes do estágio Iniciar Aplicativo, também é possível adicioná-los a um Dockerfile e integrá-los à imagem.

    Para um pod, a preparação da instância e o início do aplicativo fazem parte do mesmo processo.

  • Configure os scripts de montagem executados após o estágio de início no hook PostStart.

  • Para scripts executados antes do estágio de parada da instância, configure-os no hook PreStop.

  • Scripts de montagem rodados após o estágio de parada da instância devem realizar tarefas de limpeza durante o processo de desligamento gracioso do aplicativo. Por exemplo, utilize um ShutdownHook do Java ou escute o sinal SIGTERM. Se necessário, mova essas tarefas para o hook PreStop.

  • Execute as tarefas de limpeza dos scripts de montagem anteriores ao estágio de destruição da instância durante o desligamento gracioso do aplicativo. Uma opção é usar um ShutdownHook do Java ou monitorar o sinal SIGTERM. Conforme a necessidade, transfira essas tarefas para o hook PreStop.

    Para um pod, destruir a instância e parar a instância fazem parte do mesmo processo.