Cargas de trabalho do aplicativo

IBM Cloud® Code Engine foi projetado para atender às necessidades dos desenvolvedores que desejam que seus códigos sejam executados. O Code Engine abstrai o ônus operacional da criação, implantação e gerenciamento de cargas de trabalho no Kubernetes para que os desenvolvedores possam se concentrar no que é mais importante para eles: o código-fonte. Os desenvolvedores podem implementar e escalar seus aplicativos, que são gravados em qualquer estrutura ou linguagem, delegando a complexidade de construir e gerenciar suas cargas de trabalho para o Code Engine. Saiba mais sobre como trabalhar com aplicativos em Code Engine.

O que são as cargas de trabalho do aplicativo

Um aplicativo ou app executa o seu código para entregar solicitações de HTTP. Além das solicitações de HTTP tradicionais, o IBM Cloud® Code Engine também suporta aplicativos que usam WebSockets como seu protocolo de comunicações. O número de instâncias em execução de um aplicativo é automaticamente aumentado ou reduzido (para zero) com base nas solicitações recebidas e em suas definições de configuração. Um app contém uma ou mais revisões. Uma revisão representa uma versão imutável das propriedades de configuração do app. Cada atualização de uma propriedade de configuração do app cria uma nova revisão do app.

Quais são os recursos-chave de trabalho com aplicativos Code Engine ?

Revise os tópicos a seguir para saber mais sobre como trabalhar com aplicativos no Code Engine.

Isolamento

O Code Engine é um serviço regional multilocatário em que os locatários compartilham a mesma rede e infraestrutura de computação. Em particular, a infraestrutura de rede e de computação são recursos compartilhados e alguns componentes de gestão são comuns a todos os locatários. No entanto, os locatários e suas cargas de trabalho são isolados uns dos outros usando projetos Code Engine. Code Engine evita a comunicação entre projetos, fornecendo isolamento para seus aplicativos dentro de um ambiente de diversos locatários. Além disso, há controles de acesso que são executados em um nível de recurso para permitir que apenas usuários autorizados executem determinadas operações em recursos do projeto, como aplicativos ou outras cargas de trabalho do Code Engine.

Para obter mais informações sobre isolamento de carga de trabalho, consulte Code Engine isolamento de carga de trabalho.

Criação de log

Quando você trabalha com aplicativos Code Engine com o console e com o registro ativado, os registros são encaminhados para uma instância de serviço IBM Cloud Logs associada ao seu projeto Code Engine. Na instância de serviço IBM Cloud Logs, os registros são indexados, permitindo a pesquisa de texto completo em todas as mensagens geradas e a consulta conveniente com base em campos específicos. Consulte Obtendo Logs para Aplicativos

As informações de eventos do sistema também podem ser úteis para solucionar problemas quando você executa trabalhos. É possível visualizar informações do evento do sistema com a CLI. Consulte Obtendo informações de evento do sistema para aplicativos

Para obter mais informações sobre a criação de log, consulte Visualizando logs.

Aplicativos em Execução

Independentemente de seu código existir como código-fonte em um arquivo local ou em um repositório Git, ou de seu código ser uma imagem de contêiner existente em um registro público ou privado, o Code Engine oferece uma maneira simplificada de executar seu código como um aplicativo.

É possível implementar e executar aplicativos no Code Engine das seguintes maneiras:

  • Executar a partir de uma imagem de contêiner existente Crie um aplicativo e forneça uma referência à sua imagem para usar ao implementar seu app com o Code Engine.

  • Execute a partir do código-fonte existente sem qualquer imagem de contêiner Se você estiver iniciando com o código-fonte que está localizado em um repositório Git ou em sua estação de trabalho local, será possível apontar para o local de sua origem e o Code Engine se encarregará de construir a imagem para você. O Code Engine suporta a construção de um Dockerfile e Cloud Native Buildpacks, que inspeciona seu código-fonte para determinar como ele deve ser construído e empacotado como uma imagem de contêiner.

Para obter mais informações sobre como implementar e executar aplicativos, consulte Trabalhando com apps no Code Engine.

Ajuste de escala

Os aplicativos Code Engine escalam para cima ou para baixo dependendo das solicitações recebidas. Os aplicativos seguem o modelo scale-to-zero, em que nenhuma instância é criada na falta de tráfego, levando à otimização de custos.. Quando há uma solicitação recebida, um app é escalado automaticamente de zero para acomodar a carga de trabalho.

Com o Code Engine, é possível controlar o ajuste automático de escala configurando o número mínimo e máximo de instâncias. Também é possível especificar a simultaneidade do aplicativo especificando o número de solicitações a serem executadas em paralelo para uma instância do aplicativo específica para ajudar a determinar quando uma nova instância é provisionada..

Para obter mais informações sobre o ajuste de escala do seu app, consulte Configurando o ajuste de escala do aplicativo.

Segurança

Code Engine fornece proteção imediata contra DDOS para seu aplicativo. Code Engine a proteção DDOS da Huawei é fornecida pelo site Cloud Internet Services (CIS) sem custo adicional para você. A proteção DDoS abrange ataques de protocolo da Camada 3 e da Camada 4 (TCP/IP) da Interconexão de Sistemas (OSI), mas não ataques da Camada 7 HTTP ). Consulte Proteção DDoS.

Code Engine também fornece uma malha de serviço para usar sua camada de rede, que permite o tráfego de Segurança da Camada de Transporte mútua (TLS) em aplicativos, protegendo assim a comunicação de serviço para serviço e usuário para serviço.

Para obter mais informações sobre segurança, consulte Code Engine e segurança.

Acionando aplicativos com eventos

É possível configurar seus aplicativos Code Engine para receber eventos cron, eventos IBM Cloud Object Storage ou tópicos Kafka. Ao assinar um produtor de eventos, deve-se especificar o nome de seu aplicativo de destino para receber os eventos

Para obter mais informações sobre como trabalhar com produtores de eventos, consulte Introdução às assinaturas

Visibilidade

Com o Code Engine, você pode determinar o nível certo de visibilidade para o seu aplicativo definindo os pontos de extremidade ou mapeamentos de domínio do sistema que estão disponíveis para receber solicitações. Um aplicativo pode ser exposto para a Internet, para a rede privada IBM Cloud ou com escopo definido apenas para outros recursos no mesmo projeto Code Engine.

Por padrão, cada aplicativo em execução obtém seu próprio terminal seguro TLS, que pode ser mapeado para seu domínio.

Além disso, você pode mapear seu próprio domínio personalizado para um aplicativo Code Engine para rotear solicitações do seu URL personalizado para o seu aplicativo. Se você desejar destinar seu aplicativo com um domínio que você possui, será possível usar um mapeamento de domínio customizado Ao definir um mapeamento de domínio personalizado em Code Engine, você define um mapeamento 1-to-1 entre o seu nome de domínio totalmente qualificado (FQDN) e um aplicativo Code Engine no seu projeto.

Para obter mais informações sobre a visibilidade, consulte Opções para visibilidade para um aplicativo Code Engine e Configurando mapeamentos de domínio customizado para seu aplicativo

Como posso começar com aplicativos?

Para implementar um aplicativo Code Engine simples com a imagem de amostra icr.io/codeengine/helloworld, consulte Criando seu primeiro app Code Engine..

Além disso, é possível tentar um tutorial de aplicativo, consulte Implementando e escalando aplicativos.

Para aprofundar o trabalho com aplicativos, consulte Trabalhando com aplicativos no Code Engine.