Conceitos do Serviço OCI Functions

Descubra os principais conceitos que você precisa entender antes de usar o OCI Functions.

Desenvolvedores do Serviço Functions

Os usuários do Oracle Cloud Infrastructure que usam o OCI Functions para criar e implantar funções são chamados de 'desenvolvedores de funções'. Para usar o OCI Functions, os desenvolvedores de funções devem ter contas de usuário do Oracle Cloud Infrastructure. As contas de usuário devem pertencer aos grupos aos quais as políticas apropriadas concedem acesso a recursos relacionados a funções.

Consulte Criando Grupos e Usuários para usar com o Serviço OCI Functions, se eles ainda não existirem.

Aplicativos

No serviço OCI Functions, um aplicativo é:

  • Um agrupamento lógico de funções
  • uma maneira de alocar e configurar recursos para todas as funções no aplicativo
  • um contexto comum para armazenar variáveis de configuração que estão disponíveis para todas as funções no aplicativo
  • uma maneira de garantir o isolamento de runtime da função

Ao definir um aplicativo no OCI Functions, você especifica as sub-redes nas quais as funções serão executadas no aplicativo. Você também especifica se deseja ativar o registro para as funções no aplicativo.

Quando funções de diferentes aplicativos são chamadas simultaneamente, o serviço OCI Functions garante que essas execuções de função sejam isoladas umas das outras.

A prática recomendada é agrupar várias funções em um único aplicativo para obter melhor eficiência e desempenho.

O OCI Functions mostra aplicativos e suas funções na Console.

Consulte Criando Aplicativos.

Funções

No OCI Functions, as funções são:

  • blocos pequenos, mas avançados, que geralmente fazem uma coisa simples
  • agrupados em aplicativos
  • armazenados como imagens Docker em um registro Docker especificado
  • chamado em resposta a um comando da CLI ou solicitação HTTP assinada

Quando você implanta uma função no OCI Functions usando a CLI do Fn Project, a função é criada como imagem do Docker e enviada para um registro especificado do Docker.

Uma definição da função é armazenada como metadados no servidor do OCI Functions. A definição descreve como a função deve ser executada e inclui:

  • a imagem do Docker a ser extraída quando a função for chamada
  • o tempo máximo que a função pode executar
  • a quantidade máxima de memória que a função pode consumir

O OCI Functions mostra funções e os aplicativos em que elas são agrupadas na Console.

Consulte Criando, Implantando e Chamando uma Função Helloworld.

Chamadas

No OCI Functions, o código de uma função é executado quando a função é chamada. Você pode chamar uma função que implantou no OCI Functions:

  • Da CLI do Fn Project.
  • Dos SDKs do Oracle Cloud Infrastructure.
  • De solicitações HTTP assinadas para o ponto final de chamada da função. Cada função tem um ponto final de chamada.
  • Outros serviços do Oracle Cloud (por exemplo, acionados por um evento no serviço Events) ou por serviços externos.

Quando uma função é chamada pela primeira vez, o OCI Functions extrai a imagem Docker da função do registro Docker especificado, executa-a como um contêiner Docker e executa a função. Se houver solicitações subsequentes para a mesma função, o OCI Functions direcionará essas solicitações ao mesmo contêiner. Depois que um período estiver inativo, o contêiner do Docker será removido.

O OCI Functions mostra informações sobre chamadas de função em gráficos de métricas.

Consulte Chamando Funções.

Acionadores

Um acionador é o resultado de uma ação em outro lugar do sistema que envia uma solicitação para chamar uma função no OCI Functions. Por exemplo, um evento no serviço Events pode fazer com que um acionador envie uma solicitação ao OCI Functions para chamar uma função. Como alternativa, um acionador pode enviar solicitações regulares para chamar uma função em uma programação baseada em tempo definida.

Uma função pode não estar associada a nenhum acionador ou pode ser associada a um ou vários acionadores.