RAGNARØKKR PaaS : Concepts de base et terminologie
Ce document représente une vue d'ensemble des concepts fondamentaux de RAGNARØKKR PaaS, une solution polyvalente pour l'hébergement en Public, Privé, Hybride ou Multi-Cloud. La référence ci-dessous est destinée à ceux qui sont nouveaux à RAGNARØKKR et aide à mieux comprendre la plateforme.
En étant informé des composants de base et de leur interrelation, vous pouvez procéder avec des scénarios plus complexes disponibles dans RAGNARØKKR PaaS.
Cloudlet
Le Cloudlet est le plus petit composant de l’infrastructure de RAGNARØKKR. C'est une unité de ressources spéciales qui équivaut à 128 MiB de RAM et 400 MHz de puissance CPU simultanément. Une telle granularité des ressources permet au système d'allouer la capacité exactement requise pour chaque instance dans l'environnement. Cela permet de garantir une tarification basée sur l'utilisation réellement équitable, de sorte que seules les ressources réellement consommées sont payées.
Il y a deux types de Cloudlet :
• Les Cloudlets réservés sont des ressources réservées à l'avance et facturées indépendamment de l'utilisation réelle. Les Cloudlets réservés sont moins chers que les Cloudlets dynamiques et il est recommandé de les utiliser lorsque la charge de l'application est permanente.
• Les Cloudlets dynamiques sont ajoutés et supprimés automatiquement en fonction de la quantité de ressources requises par votre application (attribués lorsque la charge augmente et supprimés dès qu'elle diminue). Il est recommandé d'utiliser les Cloudlets dynamiques pour les applications dont la charge est variable ou lorsqu'elle ne peut être prévue à l'avance, ce qui garantit un modèle de charge véritablement basé sur l'utilisation. De telle sorte que vous payez en fonction de votre utilisation réelle des ressources dans la limite de la scalabilité possible.
Remarque : Lors du calcul de l'utilisation des Cloudlets, le système ne prend en compte que la plus grande utilisation de RAM ou de CPU par heure (pas les deux combinées). Par exemple, si pendant une heure votre utilisation moyenne de CPU est de 2400 MHz (6 Cloudlets), et votre utilisation de RAM de pointe est de 1024 MiB (8 Cloudlets), vous payez pour 8 Cloudlets, pas le total combiné (14 Cloudlets).
La fonctionnalité des cloudlets réservés et dynamiques offre des réductions automatiques pour le volume d'utilisation : plus on en utilise, moins cher est le prix de base.
Conteneur
Le conteneur (nœud) est une instance virtualisée isolée, prévue pour la manipulation de la pile logicielle (comme les serveurs d'application, les bases de données, les équilibreurs de charge, etc) et placée sur un hôte particulier. Chaque conteneur peut être automatiquement ajusté, à la fois verticalement et horizontalement, ce qui rend l'hébergement d'applications vraiment flexible.
La plateforme fournit des conteneurs certifiés pour Java, PHP, Ruby, Node.js, Python, Go, .NET et la possibilité de déployer des conteneurs Docker personnalisés. Chaque conteneur a sa propre IP privée et son enregistrement DNS unique, tandis que l'IP publique peut être facilement attachée dans le tableau de bord de l'interface utilisateur ou via l'API.
Couche
La couche, également appelée groupe de nœuds, est un ensemble de conteneurs similaires dans un environnement unique. Il existe un ensemble de couches prédéfinies dans l'assistant de topologie de RAGNARØKKR pour les conteneurs certifiés, tels que :
• Équilibreur de charge (LB)
• Calcul (CP)
• Base de données (DB)
• Stockage des données (DS)
• Cache
• VPS
• Nœud de construction
• Supplément (couche personnalisée ; plusieurs couches peuvent être ajoutées pour les environnements basés sur Docker)
Les couches sont conçues pour effectuer différentes actions avec le même type de conteneurs à la fois. Par exemple, les nœuds peuvent être redémarrés ou redéployés simultanément, ainsi qu'être automatiquement ajustés horizontalement :
• Manuellement via le tableau de bord, l'API RAGNARØKKR, le CLI
• Automatiquement en fonction des déclencheurs de charge
Il est également possible de vérifier les journaux de bord et les statistiques communs, ou de faire les configurations requises via le gestionnaire de fichiers pour tous les conteneurs d'une couche.
De plus, les conteneurs d'une couche sont distribués sur différents hôtes en utilisant des règles d'anti-affinité, assurant encore plus de fiabilité et de haute disponibilité pour les applications hébergées.
Environnement
L'environnement est une collection de conteneurs isolés pour l'exécution de services d'application particuliers. RAGNARØKKR fournit des outils intégrés pour une gestion pratique de l'environnement (i.e. configuration, monitoring, dépannage, etc.).
Il y a un certain nombre d'actions qui peuvent être effectuées pour tout l'environnement, comme arrêter, démarrer, cloner, migrer vers une autre région, partager avec les membres de l'équipe pour un travail collaboratif, suivre la consommation des ressources, etc.
Chaque environnement a son propre nom de domaine interne de 3ème niveau par défaut. Un domaine externe personnalisé peut être facilement lié via un enregistrement CNAME ou A, et même échangé avec un autre environnement pour la redirection du trafic.
Application
L'application est une combinaison d'environnements pour l'exécution d'un projet. Une application simple avec une ou deux piles peut être exécutée dans un seul environnement.
Conseil : Les applications ayant une topologie plus complexe nécessitent généralement plus de flexibilité lors des processus de déploiement ou de mise à jour. Il est donc préférable de répartir différents types de serveurs sur plusieurs environnements, afin de pouvoir les maintenir indépendamment.
Le code source de l'application ou les binaires construits peuvent être déployés à partir :
• Du référentiel GIT/SVN, qui permet de bénéficier des mises à jour automatiques
• De l’archive locale (zip, war, ear, etc) via le tableau de bord de l'interface utilisateur ou FTP
• Du modèle de Docker personnalisé
De plus, des applications déjà pré-packagées peuvent être trouvées dans RAGNARØKKR Marketplace, à configurer en quelques clics seulement.
Hôte
L'hôte est un serveur physique ou une grosse machine virtuelle qui est virtualisée via KVM, ESXi, Hyper-V, etc.
Les hôtes sont tranchés dans de petits conteneurs isolés qui sont utilisés pour construire des environnements. Une telle partition fournit la meilleure multi-localisation de l'industrie, ainsi qu'une haute densité et une utilisation intelligente des ressources à l'aide de la distribution des conteneurs en fonction de la charge sur les hôtes.