SAS Viya Topologies – An Introduction : J’ai regardé une vidéo qui explique tout !
Vous le savez, j'aime bien décortiquer des sujets autour de SAS VIYA. Aujourd'hui, je vous fais un petit résumé d'une vidéo super intéressante que j'ai trouvée sur la page Youtube de SAS : SAS Viya Topologies – An Introduction
Alors, de quoi ça cause ? Eh bien, ça plonge dans les nouvelles façons de déployer SAS Viya, surtout la dernière version qui est pensée pour le cloud. La vidéo compare ça avec l'ancienne SAS Viya 3 et explique bien le virage vers le "cloud-natif", c'est-à-dire l'utilisation de Kubernetes et des conteneurs. Fini l'installation à l'ancienne sur l'OS direct !
Les nouveautés clés de SAS Viya qu'il faut retenir
Qu'est-ce qui change vraiment avec cette version ? La vidéo met le doigt sur plusieurs points essentiels :
- Pensé pour le Cloud (Cloud Native) : Le but, c'est de pouvoir déployer SAS Viya rapidement chez les grands fournisseurs cloud. Pour l'instant, ça marche nickel sur Microsoft Azure (avec AKS). Bientôt, ça devrait aussi tourner sur AWS (EKS), Google Cloud (GKE) et Red Hat OpenShift.
- Tout en Conteneurs : Oubliez les gros installeurs, maintenant SAS Viya est livré comme une série d'images de conteneurs. Beaucoup plus simple à gérer et à déployer.
- Mises à jour régulières (Livraison Continue) : SAS Viya évolue vite ! Vous avez le choix entre deux rythmes de mises à jour :
- Stable : Une nouvelle version chaque mois pour avoir les dernières nouveautés.
- LTS (Long-Term Support) : Une mise à jour tous les six mois, pour ceux qui préfèrent la stabilité avant tout.
Kubernetes et SAS Viya : Comment ça marche ensemble ?
Forcément, qui dit "cloud-natif", dit Kubernetes ! La vidéo prend le temps de (re)voir quelques concepts K8s de base, histoire de bien piger comment Viya s'installe dedans :
- Les Namespaces (Espaces de Noms) : Imaginez ça comme des boîtes étanches. Chaque installation de SAS Viya vit dans sa propre boîte (son namespace) sur Kubernetes. On ne peut mettre qu'un Viya par boîte, mais on peut avoir plusieurs boîtes (donc plusieurs Viya) sur le même cluster.
- Les Pods : C'est la plus petite brique qu'on déploie sur Kubernetes. En gros, c'est une enveloppe qui contient un ou plusieurs conteneurs (votre application SAS). Par défaut, Kubernetes place les pods un peu au hasard sur les machines (nœuds) du cluster, ce qui n'est pas top pour une grosse plateforme comme Viya qui a besoin de ressources spécifiques.
- Stratégie de Placement (Workload Placement) : C'est là que ça devient intéressant. Il faut un plan pour dire à Kubernetes où placer les différents morceaux de Viya. Est-ce qu'on veut privilégier la vitesse ? La haute disponibilité ? Ou maîtriser les coûts ? Il faut aussi décider si Viya aura son propre cluster Kubernetes dédié ou s'il partagera les ressources avec d'autres applications.
Les outils pour nous aider à déployer
Pour nous faciliter la vie, la vidéo présente deux projets utiles, dispo sur GitHub :
- SAS Viya Infrastructure as Code (IaC) : Des scripts (Terraform, pour l'instant surtout pour Azure) qui créent automatiquement l'infrastructure nécessaire, notamment les différents groupes de machines (node pools) adaptés aux composants Viya.
- SAS Viya Monitoring pour Kubernetes : Un coup de pouce pour brancher votre déploiement Viya à des outils de surveillance et de logging. Bien pratique quand on débute avec K8s.
L'organisation type : Classes de Charge et Pools de Nœuds
Comment tout ça s'organise concrètement dans le cluster ? La vidéo détaille la configuration standard qui répartit les composants Viya en "classes de charge" et les place sur des groupes de machines (pools de nœuds) optimisés :
- Les 5 Classes Principales : Stateless (applis sans état), Stateful (services avec état, comme les bases de données), Connect (pour les connexions utilisateurs), Compute (pour les calculs lourds), et CAS (le fameux moteur analytique en mémoire de SAS).
- Des Machines Dédiées (Node Pools) : L'idée est d'avoir des groupes de serveurs (nœuds) dédiés à chaque type de charge. Par exemple, un pool pour le Stateful, un pour le Compute, un énorme pour CAS, etc. Ça permet d'optimiser les ressources et les performances. On prévoit aussi souvent un pool pour les outils annexes.
- Flexibilité avant tout : Le gros avantage, c'est que cette organisation n'est pas figée. On peut l'adapter (ajouter des machines à un pool, etc.) sans devoir tout réinstaller. La vidéo conseille d'ailleurs de garder un pool de nœuds "joker" (sans restrictions ou 'taints') pour pouvoir y placer des pods si un pool dédié est plein. Autre choix important : est-ce qu'on prend un serveur CAS "SMP" (sur une seule grosse machine) ou "MPP" (réparti sur plusieurs machines) ? Ça dépendra de la quantité de données et du nombre d'utilisateurs.
Derniers points à garder en tête
Pour finir, la vidéo rappelle quelques éléments importants :
- Quand on conçoit l'environnement K8s, il faut réfléchir : est-ce que les machines (nœuds) seront partagées entre plusieurs environnements Viya (dev, prod) ou est-ce que certaines applications critiques auront leurs nœuds dédiés ?
- Bien utiliser les "étiquettes" (labels), les "taints" et les "tolerations" de Kubernetes est crucial pour s'assurer que les pods Viya tournent bien là où il faut, pour la performance et pour ne pas qu'ils se "marchent sur les pieds".
- Surveiller la consommation des ressources et les performances, c'est la clé pour ajuster et optimiser cette topologie au fil du temps.
En Bref
Voilà pour ce tour d'horizon ! Vous l'aurez compris, cette vidéo donne un super aperçu de comment SAS Viya se modernise en s'appuyant à fond sur Kubernetes.
C'est technique, mais ça montre bien la direction prise par SAS : plus de flexibilité, plus d'agilité et une bien meilleure intégration dans les environnements cloud modernes.
Si le sujet vous branche, je vous encourage à jeter un œil à la vidéo complète !