CoreOS
CoreOS Linux est un système d'exploitation (OS) open source qui fournit les fonctionnalités nécessaires pour déployer et gérer des applications dans des conteneurs logiciels. Basé sur le noyau Linux, CoreOS convient particulièrement aux serveurs et à la mise en clusters.
L'informatique en clusters permet à un groupe de serveurs matériels de travailler de concert au sein du datacenter. CoreOS déploie des conteneurs supplémentaires dans d'autres nœuds de cluster afin de répartir les charges de travail, dans le but d'améliorer les performances et la protection par failover. CoreOS est un système léger, c'est-à-dire qu'il utilise peu de ressources informatiques pour effectuer des tâches.
Il joue un rôle important dans le développement et le déploiement de logiciels dans le Cloud. Un développeur ou un administrateur peut utiliser l'OS localement à partir de supports magnétiques ou SSD (Solid-State Drive), ou le démarrer depuis un réseau via un environnement PXE (Pre-boot Execution Environment).
L’IT peut également exécuter l'OS dans une instance de Cloud public, telle que celles d'Amazon Web Services, de Microsoft Azure ou de Google Cloud Platform, ainsi que sur des plateformes comme OpenStack.
CoreOS fonctionne avec des processeurs x86 et x64 et utilise le daemon etcd, installé sur tous les serveurs du cluster, afin de fournir aux nœuds du cluster un registre commun pour partager leurs données de configuration.
Le daemon etcd assure aussi des fonctionnalités de découverte de services qui permettent à l'administrateur de mieux identifier les applications.
CoreOS fait également appel à des services de gestion de parc, afin de contrôler l'initialisation des nœuds du cluster et le déploiement du daemon etcd. Ces services peuvent exécuter un ou plusieurs conteneurs dans le cluster et assurer des tâches telles que la création de dépendances ou de groupes de conteneurs, la migration de conteneurs vers certains nœuds du cluster et le basculement de conteneurs. CoreOS utilise systemd (autre daemon essentiel du package CoreOS) pour l'initialisation et la gestion de processus.
Etant donné que les entreprises s'en servent surtout avec des conteneurs logiciels, l'OS prend en charge Docker en guise de couche d'abstraction. CoreOS prend également en charge Rocket, un moteur de virtualisation de conteneur, concurrent de Docker. La version commerciale d'entreprise de CoreOS, appelée Tectonic, utilise Google Kubernetes pour l'orchestration des conteneurs.
Pour des raisons de sécurité, CoreOS a recours à des instances isolées, directement basées sur le noyau Linux (fonction cgroups), au lieu de faire appel à des hyperviseurs et de créer des machines virtuelles complètes. Ce mode de fonctionnement permet d'isoler et de gérer l'utilisation des ressources (processeur, mémoire et E/S de disque) pour chaque processus. En conséquence, CoreOS peut créer des instances indépendantes et raisonnablement sécurisées qui partagent le noyau Linux sous-jacent, tandis que chaque conteneur fonctionne comme une machine Linux distincte.