Plongée dans l'Architecture de SAS Viya 4 : Une Révolution Cloud-Native

SAS Viya 4SAS Viya 4 est une plateforme d'IA, de data management et d'analytics de pointe, nativement conçue pour le Cloud (Cloud-Native). Contrairement aux versions précédentes, elle repose sur une architecture de microservices orchestrée par Kubernetes.

Elle permet de gérer l'intégralité du cycle de vie de la donnée — de l'ingestion à la mise en production des modèles (ModelOps) — en offrant une élasticité totale, une intégration transparente avec l'open-source (Python, R) et une interface unifiée pour les data scientists et les décideurs métiers.
représente la dernière génération de la plateforme analytique SAS, entièrement repensée pour le cloud. Contrairement à ses prédécesseurs, Viya 4SAS Viya 4 est une plateforme d'IA, de data management et d'analytics de pointe, nativement conçue pour le Cloud (Cloud-Native). Contrairement aux versions précédentes, elle repose sur une architecture de microservices orchestrée par Kubernetes.

Elle permet de gérer l'intégralité du cycle de vie de la donnée — de l'ingestion à la mise en production des modèles (ModelOps) — en offrant une élasticité totale, une intégration transparente avec l'open-source (Python, R) et une interface unifiée pour les data scientists et les décideurs métiers.
adopte une architecture "cloud-native", basée sur des conteneurs et orchestrée par Kubernetes. Cette transformation fondamentale offre une portabilité, une scalabilité et une résilience accrues, mais nécessite une bonne compréhension de ses composants pour en tirer le meilleur parti.

Cet article explore les briques essentielles de l'architecture SAS Viya 4SAS Viya 4 est une plateforme d'IA, de data management et d'analytics de pointe, nativement conçue pour le Cloud (Cloud-Native). Contrairement aux versions précédentes, elle repose sur une architecture de microservices orchestrée par Kubernetes.

Elle permet de gérer l'intégralité du cycle de vie de la donnée — de l'ingestion à la mise en production des modèles (ModelOps) — en offrant une élasticité totale, une intégration transparente avec l'open-source (Python, R) et une interface unifiée pour les data scientists et les décideurs métiers.
, en s'appuyant sur les informations techniques fournies, pour vous donner une vision claire de son fonctionnement interne.

Le Socle : Kubernetes

Le changement le plus significatif de Viya 4SAS Viya 4 est une plateforme d'IA, de data management et d'analytics de pointe, nativement conçue pour le Cloud (Cloud-Native). Contrairement aux versions précédentes, elle repose sur une architecture de microservices orchestrée par Kubernetes.

Elle permet de gérer l'intégralité du cycle de vie de la donnée — de l'ingestion à la mise en production des modèles (ModelOps) — en offrant une élasticité totale, une intégration transparente avec l'open-source (Python, R) et une interface unifiée pour les data scientists et les décideurs métiers.
est son exécution intégrale au sein d'un environnement Kubernetes. Tous les composants de Viya sont livrés sous forme d'images de conteneurs et déployés comme des "pods" (groupes de conteneurs) gérés par Kubernetes.

Cette approche offre plusieurs avantages majeurs :

Portabilité Multi-Cloud : Viya 4SAS Viya 4 est une plateforme d'IA, de data management et d'analytics de pointe, nativement conçue pour le Cloud (Cloud-Native). Contrairement aux versions précédentes, elle repose sur une architecture de microservices orchestrée par Kubernetes.

Elle permet de gérer l'intégralité du cycle de vie de la donnée — de l'ingestion à la mise en production des modèles (ModelOps) — en offrant une élasticité totale, une intégration transparente avec l'open-source (Python, R) et une interface unifiée pour les data scientists et les décideurs métiers.
peut être déployé sur divers services Kubernetes managés (comme Azure Kubernetes Service (AKS) Amazon Elastic Kubernetes Service (EKS) , Google Kubernetes Engine (GKE)) ou sur une infrastructure Kubernetes sur site.

Scalabilité : Kubernetes permet de monter ou descendre en charge les différents services de Viya de manière dynamique (bien que certaines limitations existent pour certains composants comme ODFE dans les versions initiales).

Résilience : Kubernetes gère le cycle de vie des pods, redémarrant automatiquement les conteneurs en cas d'échec et gérant la haute disponibilité pour les composants critiques.

Déploiement et Mises à Jour Facilités : L'approche Infrastructure as Code (IaC) et la livraison continue (CI/CD) sont grandement facilitées.

Référence Kubernetes :Documentation officielle Kubernetes

Les Piliers de l'Architecture Viya 4SAS Viya 4 est une plateforme d'IA, de data management et d'analytics de pointe, nativement conçue pour le Cloud (Cloud-Native). Contrairement aux versions précédentes, elle repose sur une architecture de microservices orchestrée par Kubernetes.

Elle permet de gérer l'intégralité du cycle de vie de la donnée — de l'ingestion à la mise en production des modèles (ModelOps) — en offrant une élasticité totale, une intégration transparente avec l'open-source (Python, R) et une interface unifiée pour les data scientists et les décideurs métiers.
L'architecture de Viya 4SAS Viya 4 est une plateforme d'IA, de data management et d'analytics de pointe, nativement conçue pour le Cloud (Cloud-Native). Contrairement aux versions précédentes, elle repose sur une architecture de microservices orchestrée par Kubernetes.

Elle permet de gérer l'intégralité du cycle de vie de la donnée — de l'ingestion à la mise en production des modèles (ModelOps) — en offrant une élasticité totale, une intégration transparente avec l'open-source (Python, R) et une interface unifiée pour les data scientists et les décideurs métiers.
peut être décomposée en plusieurs grandes catégories de composants :

1. Moteurs Analytiques (Analytic Engines) [

Ce sont les cerveaux de la plateforme, responsables de l'exécution des calculs et des analyses.

2. Composants d'Exécution de Programmation (Programming Run-Time Components)

Ces services gèrent le cycle de vie et l'accès aux environnements d'exécution SAS.

  • SAS Launcher Service : Ce service central interagit avec l'API Kubernetes pour démarrer des pods à la demande pour les Compute Servers, les SAS/CONNECT Servers et les Batch Servers, en se basant sur des PodTemplates et des Launcher Contexts ].
  • SAS Compute Service : Fournit les points d'accès API REST pour que les clients (comme SAS Studio) puissent demander, gérer et interagir avec les sessions Compute Server].
  • SAS/CONNECT Spawner & Server : Permet les connexions SAS/CONNECT. Fonctionnement distinct selon le client :
    • Launching (Client interne au K8s) : Le Spawner demande au Launcher Service de démarrer un nouveau pod sas-launcher-long-guid contenant un SAS/CONNECT Server dédié. Le client se connecte ensuite directement à l'IP interne de ce pod . Scalabilité horizontale .
    • Spawning (Client externe au K8s) : Le Spawner démarre un processus SAS/CONNECT Server au sein de son propre pod. Le client se connecte via le service externe du Spawner (LoadBalancer ou NodePort), et la connexion est héritée par le processus serveur . Scalabilité verticale.
    • Contrôle : Le comportement peut être influencé par les options -SERVICELAUNCH/-NOLOCALLAUNCH du spawner ou la variable d'environnement TCPNOIPADDR côté serveur/client
    • Référence SAS/CONNECT : SAS/CONNECT for SAS Viya
  • SAS Batch Service & Server : Permet de soumettre des travaux SAS ou des commandes système en mode batch, typiquement via l'interface en ligne de commande (CLI) sas-viya. Le Batch Service reçoit la demande et utilise le Launcher Service pour démarrer un pod sas-launcher-long-guid exécutant un Batch Server (sasgrid process).

3. Serveurs d'Infrastructure (StatefulImageUne app stateful sauvegarde ses données sur un volume persistant. Si le pod redémarre, son état est conservé. Services)

Ces services maintiennent un état et nécessitent généralement un stockage persistant. Ils sont cruciaux pour le fonctionnement de la plateforme.

4. Services de Support et MicroservicesLes microservices sont une approche d'architecture logicielle où une application est décomposée en une collection de petits services indépendants, spécialisés et communicant entre eux via des APIs légères. Contrairement aux architectures "monolithiques" anciennes, chaque microservice remplit une fonction unique (ex: gestion du catalogue, authentification, moteur de calcul).

Dans SAS Viya 4, cette architecture est native. Elle permet à la plateforme de s'exécuter sur Kubernetes, offrant une flexibilité totale : chaque composant de SAS peut être mis à jour, redémarré ou mis à l'échelle (scaling) individuellement sans affecter le reste du système.
(Supporting Services & Viya Services)

Un ensemble de microservicesLes microservices sont une approche d'architecture logicielle où une application est décomposée en une collection de petits services indépendants, spécialisés et communicant entre eux via des APIs légères. Contrairement aux architectures "monolithiques" anciennes, chaque microservice remplit une fonction unique (ex: gestion du catalogue, authentification, moteur de calcul).

Dans SAS Viya 4, cette architecture est native. Elle permet à la plateforme de s'exécuter sur Kubernetes, offrant une flexibilité totale : chaque composant de SAS peut être mis à jour, redémarré ou mis à l'échelle (scaling) individuellement sans affecter le reste du système.
fournissant diverses fonctionnalités (authentification, gestion des métadonnées, API diverses, etc.) et des services supportant l'opération de la plateforme.

  • Open Distro for Elasticsearch (ODFE) / OpenSearch : Moteur de recherche et d'indexation distribué basé sur Elasticsearch/Lucene. Utilisé initialement par SAS Information Catalog pour indexer les métadonnées des actifs de données. SAS utilise ODFE (une distribution open-source sponsorisée par AWS, maintenant évoluée en OpenSearch) pour éviter les problèmes de licence d'Elasticsearch . Déployé via un Operator SAS spécifique et une CRD OpenDistroCluster . Les nœuds ODFE sont des pods statefulImageUne app stateful sauvegarde ses données sur un volume persistant. Si le pod redémarre, son état est conservé. nécessitant un stockage persistant rapide (disques locaux recommandés, pas NFS) . La haute disponibilité requiert un cluster d'au moins 3 nœuds.
  • Ingress Controller (souvent Nginx) : Gère l'accès externe (HTTP/S) aux applications web et services Viya.
  • Monitoring & Logging : Outils pour observer la santé et les logs de la plateforme (souvent basés sur Prometheus, Grafana, Fluent Bit/Elasticsearch - regroupés dans le framework ops4viya)

5. Clients et Interfaces Visuelles (Clients & Visual Interfaces)

Les points d'entrée pour les utilisateurs.

Intégration Cloud Avancée

Au-delà de Kubernetes, Viya 4SAS Viya 4 est une plateforme d'IA, de data management et d'analytics de pointe, nativement conçue pour le Cloud (Cloud-Native). Contrairement aux versions précédentes, elle repose sur une architecture de microservices orchestrée par Kubernetes.

Elle permet de gérer l'intégralité du cycle de vie de la donnée — de l'ingestion à la mise en production des modèles (ModelOps) — en offrant une élasticité totale, une intégration transparente avec l'open-source (Python, R) et une interface unifiée pour les data scientists et les décideurs métiers.
peut s'intégrer plus profondément avec les services cloud natifs :

  • Utilisation de bases de données managées (Azure DB for PostgreSQL, AWS RDS, Google Cloud SQL) pour le SAS Infrastructure Data Server .
  • Intégration avec les services de monitoring natifs (Azure Monitor, AWS CloudWatch, Google Monitoring).
  • Utilisation de services de Load Balancing et DNS du fournisseur cloud .
  • Potentiellement, remplacement de Consul ou RabbitMQ par des services équivalents managés
  • Gestion des identités via Azure Active Directory / AWS IAM / Google Cloud IAM .
  • Stockage des secrets et certificats dans des coffres-forts managés (Azure Key Vault)

Conclusion

SAS Viya 4SAS Viya 4 est une plateforme d'IA, de data management et d'analytics de pointe, nativement conçue pour le Cloud (Cloud-Native). Contrairement aux versions précédentes, elle repose sur une architecture de microservices orchestrée par Kubernetes.

Elle permet de gérer l'intégralité du cycle de vie de la donnée — de l'ingestion à la mise en production des modèles (ModelOps) — en offrant une élasticité totale, une intégration transparente avec l'open-source (Python, R) et une interface unifiée pour les data scientists et les décideurs métiers.
marque une étape majeure dans l'évolution de la plateforme SAS. Son architecture cloud-native basée sur Kubernetes et les conteneurs offre une flexibilité, une scalabilité et une résilience sans précédent. Comprendre ses composants clés - des moteurs analytiques comme CAS et Compute, aux services d'infrastructure statefulImageUne app stateful sauvegarde ses données sur un volume persistant. Si le pod redémarre, son état est conservé. comme PostgreSQL et Consul, en passant par les mécanismes de lancement comme le Launcher Service et l'intégration Kubernetes - est essentiel pour déployer, administrer et exploiter efficacement cette puissante plateforme analytique dans l'ère du cloud.

Nicolas Housset

Passionné d'informatique, je suis Consultant et expert technique SAS VIYA, également co-fondateur de la société Flexcelite. Spécialisé dans les technologies SAS (Viya, 9.4) et les infrastructures associées (Linux, Hadoop, Azure), ce blog est mon espace pour partager mes mémos techniques et retours d'expérience.