PostgreSQL externe avec SAS Viya 4 : Les prérequis essentiels à ne pas ignorer

Mixer SAS Viya 4 et une base PostgreSQL externe, c'est le combo gagnant pour la flexibilité ! Mais comme pour toute recette de succès, il y a des ingrédients (et des étapes) qu'on ne peut pas zapper. Les prérequis techniques, c'est le sel et le poivre de cette intégration : si vous les oubliez, le résultat final risque d'être... fade, voire indigeste (échecs de déploiement, perfs dans les chaussettes, etc.). Avant de vous lancer, cet article vous sert de liste de courses des points critiques à vérifier. À vos marques, prêts, prérequis !

Compatibilité des Versions : Un Point Crucial

La compatibilité entre votre version de SAS Viya 4 et celle de PostgreSQL externe est primordiale et évolue constamment. Il est impératif de toujours consulter la documentation officielle de votre version spécifique de SAS Viya.

En règle générale, SAS Viya 4 prend en charge PostgreSQL de la version 12 à 16. Cependant, des dépendances spécifiques existent pour les versions les plus récentes :

  • PostgreSQL 14 : Nécessite SAS Viya 2023.03 ou une version ultérieure.
  • PostgreSQL 15 : Nécessite SAS Viya 2023.10 ou une version ultérieure.
  • PostgreSQL 16 : Nécessite SAS Viya 2024.12 ou une version ultérieure.

Attention, les versions plus anciennes de PostgreSQL (comme la 12) peuvent ne plus être supportées par les versions les plus récentes de Viya. Lors d'une migration depuis SAS Viya 3.x, assurez-vous de migrer vers une version PostgreSQL identique ou plus récente.

PostgreSQL Server Requirements

Ressources Matérielles : Anticiper la Croissance

SAS recommande une configuration minimale solide pour le serveur PostgreSQL externe afin de garantir des performances adéquates pour l'Infrastructure Data Server (IDS) de Viya :

  • CPU : Minimum 4 vCPU
  • RAM : Minimum 16 Go
  • Espace Disque : Minimum 128 Go pour l'IDS, mais prévoyez largement plus. La croissance des données et les politiques de rétention des journaux ont un impact majeur sur l'espace disque nécessaire.
  • Stockage : L'utilisation de disques SSD est fortement recommandée pour de meilleures performances en lecture/écriture.

Des solutions spécifiques comme SAS Enterprise Session Monitor (ESM) peuvent avoir des exigences distinctes et plus élevées (par exemple, 1 To de stockage pour un déploiement "Large").

Configuration Réseau : La Latence est l'Ennemi

C'est l'un des prérequis les plus critiques et potentiellement les plus difficiles à corriger après coup. Un environnement réseau à faible latence et large bande passante est non négociable.

Placer votre cluster PostgreSQL externe dans une zone de disponibilité ou un centre de données éloigné des autres composants de SAS Viya peut introduire une latence prohibitive et dégrader significativement les performances globales de la plateforme.

Il est impératif de tester cette configuration réseau avant le déploiement complet pour confirmer que les performances ne sont pas impactées négativement. Une latence élevée peut devenir un goulot d'étranglement persistant pour Viya.

Extensions PostgreSQL : Installer et Activer les Bonnes

Plusieurs extensions PostgreSQL sont nécessaires pour que SAS Viya fonctionne correctement et pour activer certaines fonctionnalités spécifiques :

ExtensionObligatoire/OptionnelleProduit/Fonctionnalité SAS concerné(e)Notes
pgcryptoObligatoirePlateforme SAS Viya (Infrastructure Data Server)Doit être installée dans le schéma public de la base de données SharedServices.
pg_trgmOptionnelleSAS Law Enforcement Intelligence, amélioration des performances de certaines requêtesCréée automatiquement dans les schémas publics si disponible.
plpgsqlObligatoirePlateforme SAS ViyaGénéralement incluse par défaut dans PostgreSQL.
tablefuncObligatoireSAS Retail Solutions (Inventory Optimization, Intelligent Planning, Size Optimization)Doit être activée.
ltreeObligatoireSAS Risk SolutionsDoit être activée.
pg_partmanObligatoireSAS Enterprise Session Monitor (ESM)Doit être installée et activée dans la base de données externe d'ESM.
Nouvelle ext.ObligatoirePlug-in CLI migrationmanagement (à partir de Viya 2024.12)Détails dans la documentation des prérequis système.

Assurez-vous que ces extensions sont installées sur le serveur PostgreSQL et correctement activées (potentiellement via shared_preload_libraries ou CREATE EXTENSION) avant le déploiement ou la migration de Viya.

Utilisateurs et Bases de Données : Permissions Adéquates

Le cluster PostgreSQL doit être opérationnel et configuré avec un utilisateur dédié avant de démarrer le déploiement de SAS Viya.

  • Propriétaire de la Base de Données : Créez un utilisateur (par exemple, dbmsowner ou un nom de votre choix) avec les permissions CREATE ROLE et CREATEDB. Cet utilisateur doit également avoir le privilège CONNECT sur la base de données système postgres pour le bon démarrage des services Viya. Il sera le propriétaire de la base de données initiale créée pour la plateforme Viya.
  • Permissions CRUD : L'utilisateur ou le schéma propriétaire nécessite des permissions CRUD (Create, Read, Update, Delete).
  • Nom de la Base de Données : Le nom par défaut utilisé par Viya est SharedServices. Vous pouvez le personnaliser, mais il est crucial de ne pas la nommer postgres, car cela interférerait avec l'utilitaire de restauration de SAS Viya. Tous les noms personnalisés doivent être cohérents dans la configuration de déploiement Viya.

Distributions PostgreSQL Supportées : Cloud vs Auto-Géré

SAS Viya prend en charge diverses distributions PostgreSQL, y compris l'open source auto-géré et les services managés des fournisseurs de cloud :

  • PostgreSQL Open Source : Supporté, mais ne fournit pas la Haute Disponibilité (HA) par défaut. Configurer la HA soi-même est complexe.
  • Services Cloud Managés :
    • Azure Database for PostgreSQL - Flexible Server : Option recommandée sur Azure (évitez "Single Server" qui est déprécié et les instances "Burstable" pour la production). L'outil viya4-iac-azure peut aider au provisionnement.
    • Amazon RDS for PostgreSQL : Divers types d'instances disponibles. L'outil viya4-iac-aws peut aider.
    • Google Cloud SQL for PostgreSQL : Service managé par Google. L'outil viya4-iac-gcp peut aider. Notez l'exigence spécifique d'utiliser le Google Cloud SQL Auth Proxy pour l'accès.

Quel que soit le choix, la distribution doit être dérivée de PostgreSQL open source amont. Soyez également vigilant quant aux limites de connexion imposées par certains fournisseurs cloud (comme Azure), qui peuvent être proportionnelles à la taille de l'instance. Assurez-vous que la taille choisie supporte au moins 1024 connexions pour Viya.

Sécurité : Chiffrement en Transit et au Repos

La sécurité des données et des accès est fondamentale :

  • TLS/SSL : Fortement recommandé pour chiffrer les données en transit entre SAS Viya et PostgreSQL. Le cluster PostgreSQL doit être configuré avec TLS activé (sauf si Viya est déployé en mode "No TLS"). Le certificat CA utilisé côté PostgreSQL doit être ajouté au truststore de Viya.
  • Chiffrement des Mots de Passe (SCRAM-SHA-256) : Le serveur PostgreSQL doit être configuré pour utiliser SCRAM-SHA-256 pour le chiffrement des mots de passe stockés. C'est une exigence pour l'intégration avec les versions modernes de SAS Viya, offrant une sécurité supérieure à MD5.

Haute Disponibilité (HA) : La Résilience de la Plateforme

SAS recommande de configurer les serveurs PostgreSQL externes pour la Haute Disponibilité. Les étapes dépendent de la documentation de votre fournisseur (pour les services cloud managés) ou nécessitent une architecture complexe (streaming replication, Patroni, Pgpool-II) pour PostgreSQL auto-géré.

Lors d'une migration de données vers l'instance externe, désactiver temporairement la HA peut accélérer le processus, à condition de la réactiver immédiatement après.

Conclusion

L'Agence tous risques - La télévision des années 80

Marier SAS Viya 4 avec une base de données PostgreSQL externe, c'est un peu comme monter une équipe de choc, façon Agence Tous Risques ! Ça offre plein d'avantages stratégiques, oui, mais pour que cette 'Agence' version IT fonctionne sans finir en bataille rangée, et surtout, pour que que le plan se déroule sans accroc, il faut que chacun arrive avec le bon équipement et connaisse les règles du jeu.

Versions logicielles qui s'entendent bien, assez de muscles (matos), une ligne directe (réseau), les bons outils dans la boîte (extensions), savoir qui fait quoi (utilisateurs), choisir le bon terrain (distribution), verrouiller la porte (sécurité) et avoir un plan B (HA)... Manquer un seul de ces points, c'est prendre le risque de voir votre belle plateforme SAS Viya commencer à... comment dire ? Faire grise mine, voire piquer une crise. Un petit effort de planification aujourd'hui vous évitera bien des sueurs froides demain !

Prenez le temps de valider chaque point et, surtout, consultez toujours la documentation officielle de SAS Viya pour la version spécifique que vous déployez, car elle reste la source d'information la plus à jour et la plus précise.

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.