IBM Cloud Docs
Arquitetura e conceitos em instâncias serverless

Arquitetura e conceitos em instâncias serverless

Este tópico mostra a arquitetura de instâncias serverless IBM Analytics Engine e descreve alguns conceitos e definições fundamentais.

Arquitetura de instância

O serviço IBM Analytics Engine é gerenciado usando gerenciamento de acesso e de identidade (IAM) IBM Cloud®. Como proprietário da conta IBM Cloud, você recebe a designação da função de administrador de conta.

Com uma conta IBM Cloud, você pode provisionar e gerenciar a instância serverless Analytics Engine usando:

  • Console do IBM Cloud
  • CLI
  • API de REST

Os microsserviços Analytics Engine no plano de controle, acessados por meio da criação de uma instância de manipulação de gateway de API, fornecimento de capacidade, customização e gerenciamento de tempo de execução, enquanto aplicativos Spark são executados em espaços de nomes isolados no plano de dados. Cada aplicativo Spark enviado é executado em seu próprio cluster Spark, que é uma combinação do Spark Master e nós de executor. Consulte Isolamento e acesso à rede.

Cada instância Analytics Engine é associada a uma instância IBM Cloud Object Storage para dados relacionados à instância que pode ser acessada por todos os aplicativos executados nela. Atualmente, todos os eventos do Spark também são armazenados nessa instância. Os logs do aplicativo Spark são agregados em um servidor de log Log Analysis.

Mostra a arquitetura da instância sem servidor do IBM Analytics Engine.
Figura 1. Fluxograma de arquitetura do IBM Analytics Engine

Conceitos chave

Com instâncias serverless IBM Analytics Engine, é possível girar clusters do Apache Spark conforme necessário e customizar o tempo de execução e as opções de configuração padrão do Spark.

As seções a seguir descrevem os principais conceitos do fornecimento de instâncias serverless.

IBM Analytics Engine instância de serviço

Um serviço IBM Cloud® é uma extensão de nuvem que fornece funcionalidade pronta para uso, como banco de dados, sistema de mensagens e software da Web para executar código ou recursos de gerenciamento ou monitoramento de aplicativo.. Os serviços geralmente não requerem instalação ou manutenção e podem ser combinados para criar aplicativos. Uma instância de um serviço é uma entidade que consiste em recursos que são reservados para um determinado aplicativo ou um serviço.

Quando você cria um IBM Analytics Engine a partir do catálogo, você dará à instância de serviço um nome de sua escolha, selecione o tempo de execução padrão do Spark que deseja associar à instância e forneça a configuração padrão do Spark para usar com a instância. Adicionalmente, é necessário ter que especificar o Instance home, que é o armazenamento anexado à instância por dados relacionados somente a instância.

Nota:

  • Quando você cria uma instância de serviço IBM Analytics Engine, nenhum custo é incorrido a menos que você tenha aplicativos Spark em execução ou o servidor de histórico Spark é acessado.
  • Os custos são incorridos se IBM Cloud Object Storage se acessado por meio de terminais públicos, e quando você ativar o encaminhamento IBM Analytics Engine logs para IBM Log Analysis.
  • Há um limite padrão sobre o número de instâncias de serviço permitidas por IBM Cloud® e sobre a quantidade de CPU e memória que podem ser usadas em qualquer instância de serviço IBM Analytics Engine. Veja Limites e cotas para instâncias Analytics Engine. Se você precisar ajustar esses limites, abra um chamado de Suporte IBM.
  • Não há limite no número de aplicativos Spark que podem ser executados em uma instância de serviço IBM Analytics Engine.

Tempo de execução do Spark padrão

No momento do fornecimento da instância, é possível selecionar a versão do Spark a ser usada Atualmente, é possível escolher entre o Spark 3.3 e o Spark 3.4. O Spark 3.3 é considerado como a versão padrão

O tempo de execução inclui binários do Spark de software livre e a configuração ajuda a continuar rapidamente com a criação da instância e executar aplicativos Spark na instância. Além dos binários do Spark, o tempo de execução também inclui as bibliotecas de criptografia modular geoespacial, data skipping e Parquet.

Em toda a versão de tempo de execução do Spark, é possível enviar aplicativos Spark gravados nos idiomas a seguir:

  • Escala
  • Python
  • R

A tabela a seguir mostra a versão de tempo de execução do Spark e a versão do idioma de execução.

Tabela 1. Versão de tempo de execução do Spark e versão de idioma de tempo de execução.
Versão do Spark Liberação do Apache Spark status Idiomas suportados
3.1 3.1.2 Removido (não suportado) Java 8, Scala 2.12, Python 3.10 e R 4.2
3.3 3.3.2 Padrão Java 11, Scala 2.12, Python 3.10 e R 4.2
3.4 3.4.1 Mais recente Java 11, Scala 2.12, Python 3.10 e R 4.2

As versões de idioma são atualizadas periodicamente para manter o tempo de execução livre de quaisquer vulnerabilidades de segurança Você sempre pode substituir a versão de tempo de execução do Spark quando enviar um aplicativo. Para obter detalhes sobre o que adicionar à carga útil, veja Passando a versão Spark do tempo de execução ao enviar um aplicativo.

Início da instância

Início da instância é o armazenamento conectado à instância apenas para dados relacionados a ela, tais como bibliotecas de aplicativos customizados e eventos de histórico do Spark. Atualmente, apenas IBM Cloud Object Storage é aceito como início de instância. Essa instância pode ser uma instância na conta IBM Cloud® ou de uma conta diferente.

Ao provisionar uma instância usando o console IBM Cloud, as instâncias IBM Cloud Object Storage na conta IBM Cloud® são descobertas automaticamente e exibidas em uma lista para seleção. Se nenhuma instância IBM Cloud Object Storage for localizada na conta, será possível usar as APIs de REST para atualizar o início de instância após a criação dela.

Não é possível mudar a instância inicial após a criação da instância. Só é possível editar as chaves de acesso.

Configuração padrão do Spark

É possível especificar configurações padrão do Spark no momento do fornecimento de uma instância do Analytics Engine (consulte Provisionando uma IBM Analytics Engine instância sem servidor). As configurações são automaticamente aplicadas aos aplicativos do Spark enviados na instância Também é possível atualizar as configurações após a criação da instância É possível editar a configuração na seção Configuração na página Analytics Engine Detalhes da instância Analytics Engine APIs de REST ou CLI do IAE.. Valores especificados como padrões de nível de instância podem ser substituídos no momento de envio de aplicativos Spark.

Para saber mais sobre as várias configurações do Apache Spark, consulte Configuração do Spark.

Recursos de instância serverless e métodos de execução

A tabela a seguir mostra os recursos de instância serverless suportados por função de acesso e métodos de execução.

Tabela 2 Recursos de instância sem servidor suportados por função de acesso e métodos de execução
Operação Funções de acesso Console IBM API CLI
Provisionar instâncias Administrador o ícone de confirmação o ícone de confirmação o ícone de confirmação
Excluir instâncias Administrador o ícone de confirmação o ícone de confirmação o ícone de confirmação
Conceder permissão aos usuários Administrador o ícone de confirmação o ícone de confirmação o ícone de confirmação
Gerenciar armazenamento de início da instância Administrador o ícone de confirmação o ícone de confirmação o ícone de confirmação
Configurar criação de log Administrador
Desenvolvedor
Devops
o ícone de confirmação o ícone de confirmação Não disponível
Enviar aplicativos Spark Administrador
Desenvolvedor
Não disponível o ícone de confirmação o ícone de confirmação
Visualizar lista de aplicativos de Spark enviados Administrador
Desenvolvedor
DevOps
Não disponível o ícone de confirmação o ícone de confirmação
Parar aplicativos Spark enviados Administrador
Desenvolvedor
DevOps
Não disponível o ícone de confirmação o ícone de confirmação
Customizar bibliotecas Administrador
Desenvolvedor
Não disponível o ícone de confirmação Não disponível
Logs de tarefas de acesso Administrador
Desenvolvedor
DevOps
o ícone de confirmação a partir do console Log Analysis Não aplicável Não aplicável
Visualização de detalhes da instância; os detalhes mostrados podem variar dependendo da função de acesso Administrador
Desenvolvedor
DevOps
o ícone de confirmação o ícone de confirmação o ícone de confirmação
Gerenciar servidor de histórico Spark Administrador
Desenvolvedor
o ícone de confirmação o ícone de confirmação o ícone de confirmação
Histórico de Spark de Acesso Administrador
Desenvolvedor
DevOps
o ícone de confirmação o ícone de confirmação o ícone de confirmação