Architecture et concepts dans les instances sans serveur
Cette rubrique présente l'architecture des instances IBM Analytics Engine serverless et décrit certains concepts et définitions essentiels.
Architecture d'instance
Le service IBM Analytics Engine est géré à l'aide de IBM Cloud® Identity and Access Management (IAM). En tant que propriétaire de compte IBM Cloud, vous êtes affecté au rôle d'administrateur de compte.
Avec un compte IBM Cloud, vous pouvez fournir et gérer votre instance Analytics Engine sans serveur en utilisant ce qui suit :
- Console IBM Cloud
- Interface CLI
- API REST
Les microservices Analytics Engine du plan de contrôle, accessibles via une passerelle d'API, gèrent la création d'instance, la mise à disposition de capacité, la personnalisation et la gestion de l'environnement d'exécution pendant que vos applications Spark s'exécutent dans des espaces de nom isolés dans le plan de données. Chaque application Spark que vous soumettez s'exécute dans son propre cluster Spark, qui est une combinaison de noeuds maître et exécuteur Spark. Voir Isolement et accès au réseau.
Chaque instance Analytics Engine est associée à une instance IBM Cloud Object Storage pour les données d'instance accessibles par toutes les applications qui s'exécutent dans l'instance. Actuellement, tous les événements Spark sont également stockés dans cette instance. Les journaux de l'application Spark sont agrégés sur un serveur de journalisation Log Analysis.
Concepts clés
Avec les instances IBM Analytics Engine sans serveur, vous pouvez créer des clusters Apache Spark en fonction des besoins et personnaliser les options de configuration Spark et Spark par défaut.
Les sections suivantes décrivent les concepts essentiels lors de la mise à disposition des instances sans serveur.
Instance de service IBM Analytics Engine
Un service IBM Cloud® est une extension du cloud qui fournit des fonctionnalités prêtes à l'emploi, telles qu'une base de données, une messagerie et un logiciel web pour l'exécution du code, ou des capacités de gestion ou de surveillance des applications. Généralement, les services ne requièrent ni installation ni maintenance et peuvent être combinés pour créer des applications. Une instance d'un service est une entité qui se compose de ressources réservées pour une application ou un service particulier.
Lorsque vous créez un IBM Analytics Engine à partir du catalogue, vous attribuez à l'instance de service le nom de votre choix, sélectionnez l'environnement d'exécution Spark par défaut que vous souhaitez associer à l'instance et indiquez
la configuration Spark par défaut à utiliser avec l'instance. En outre, vous devez spécifier le Instance home, qui est le stockage connecté à l'instance pour les données liées à l'instance uniquement.
Remarque :
- Lorsque vous créez une instance de service IBM Analytics Engine, aucun coût n'est encouru sauf si des applications Spark sont en cours d'exécution ou si le serveur d'historique Spark est accessible.
- Des coûts sont encourus si IBM Cloud Object Storage est accessible via des noeuds finaux publics et lorsque vous activez le transfert des journaux IBM Analytics Engine vers IBM Log Analysis.
- Il existe une limite par défaut sur le nombre d'instances de service autorisées par compte IBM Cloud® et sur la quantité d'UC et de mémoire pouvant être utilisée dans une instance de service IBM Analytics Engine donnée. Voir Limites et quotas pour les instances Analytics Engine. Si vous devez ajuster ces limites, ouvrez un ticket de demande de service IBM.
- Le nombre d'applications Spark pouvant être exécutées dans une instance de service IBM Analytics Engine n'est pas limité.
Environnement d'exécution Spark par défaut
Au moment de la mise à disposition de l'instance, vous pouvez sélectionner la version Spark à utiliser. Spark 3.4. est la version par défaut.
L'environnement d'exécution inclut des fichiers binaires Spark open source et la configuration vous aide à créer rapidement l'instance et à exécuter des applications Spark dans l'instance. En plus des binaires Spark, le runtime inclut également les bibliothèques géospatiales, de saut de données et de cryptage modulaire Parquet.
Dans toutes les versions d'exécution Spark, vous pouvez soumettre des applications Spark écrites dans les langues suivantes:
- Scala
- Python
- R
Le tableau suivant présente la version de l'environnement d'exécution Spark et la version du langage d'exécution.
| basée sur Yarn | Edition Apache Spark | statut | Langues prises en charge |
|---|---|---|---|
| 3.1 | 3.1.2 | Retiré (non pris en charge) | Java 8, Scala 2.12, Python 3.10 et R 4.2 |
| 3.3 | 3.3.2 | Retiré (non pris en charge) | Java 11, Scala 2.12, Python 3.10 et R 4.2 |
| 3.4 | 3.4.1 | Le plus récent | Java 11, Scala 2.12, Python 3.10 et R 4.2 |
Les versions de langage sont mises à niveau périodiquement pour que l'environnement d'exécution ne soit pas vulnérable aux vulnérabilités en matière de sécurité. Vous pouvez toujours remplacer la version d'exécution Spark lorsque vous soumettez une application. Pour plus de détails sur les éléments à ajouter au contenu, voir Transmission de la version d'exécution de Spark lors de la soumission d'une application.
Dossier de base de l'instance
Le répertoire de base d'instance est le stockage associée à l'instance pour les données relatives à l'instance uniquement, telles que les bibliothèques d'applications personnalisées et les événements d'historique de Spark. Actuellement, seul IBM Cloud Object Storage est accepté comme répertoire d'instance. Cette instance peut être une instance de votre compte IBM Cloud® ou une instance d'un autre compte.
Lorsque vous mettez à disposition une instance à l'aide de la console IBM Cloud, les instances IBM Cloud Object Storage de votre compte IBM Cloud® sont automatiquement reconnues automatiquement et s'affichent dans une liste dans laquelle vous pouvez les sélectionner. Si aucune instance IBM Cloud Object Storage n'est trouvée dans votre compte, vous pouvez utiliser les API REST pour mettre à jour le répertoire de base d'instance après la création de l'instance.
Vous ne pouvez pas changer le domicile de l'instance après la création de l'instance. Vous pouvez uniquement modifier les clés d'accès.
Configuration Spark par défaut
Vous pouvez spécifier des configurations Spark par défaut lors de la mise à disposition d'une instance Analytics Engine (voir Mise à disposition d'une instance sans serveur IBM Analytics Engine). Les configurations sont automatiquement appliquées aux applications Spark soumises sur l'instance. Vous pouvez également mettre à jour les configurations après avoir créé l'instance. Vous pouvez éditer la configuration à partir de la section Configuration de la page Analytics Engine Détails de l'instance, Analytics Engine API REST ou interface de ligne de commande IAE. Les valeurs spécifiées comme valeurs par défaut du niveau d'instance peuvent être remplacées au moment de la soumission des applications Spark.
Pour en savoir plus sur les différentes configurations Apache Spark, voir Spark Configuration.
Fonctions d'instance et méthodes d'exécution sans serveur
Le tableau suivant présente les fonctions d'instance sans serveur prises en charge par le rôle d'accès et les méthodes d'exécution.
| Opération | Rôles d'accès | Console IBM | API | Interface CLI |
|---|---|---|---|---|
| Mettre à disposition des instances | Administrateur | ![]() |
![]() |
![]() |
| Supprimer des instances | Administrateur | ![]() |
![]() |
![]() |
| Octroi d'autorisation aux utilisateurs | Administrateur | ![]() |
![]() |
![]() |
| Gestion de l'espace de stockage du répertoire de base de l'instance | Administrateur | ![]() |
![]() |
![]() |
| Configurer la journalisation | Administrateur Développeur Devops |
![]() |
![]() |
Non disponible |
| Soumettre les applications Spark | Administrateur Developpeur |
Non disponible | ![]() |
![]() |
| Afficher la liste des applications Spark soumises | Administrateur Développeur DevOps |
Non disponible | ![]() |
![]() |
| Arrêt des applications Spark soumises | Administrateur Développeur DevOps |
Non disponible | ![]() |
![]() |
| Personnaliser les bibliothèques | Administrateur Developpeur |
Non disponible | ![]() |
Non disponible |
| Accès aux journaux des travaux | Administrateur Développeur DevOps |
de la console Log Analysis |
Non applicable | Non applicable |
| Afficher les détails de l'instance ; les détails affichés peuvent varier en fonction du rôle d'accès | Administrateur Développeur DevOps |
![]() |
![]() |
![]() |
| Gérer le serveur d'historique Spark | Administrateur Developpeur |
![]() |
![]() |
![]() |
| Accéder à l'historique Spark | Administrateur Développeur DevOps |
![]() |
![]() |
![]() |
