Administration système : les 5 cas d’usage d’OpenShift
OpenShift peut être utilisé pour la modernisation des applications, l'intégration de pipelines DevOps, la gestion de l'infrastructure et des ressources de calcul, ainsi que pour les environnements d'intégration et de formation.
La containerisation standard a rapidement dépassé le cadre des déploiements à instance unique, ce qui a donné naissance à des produits tels que Kubernetes, qui prennent en charge l’orchestration de clusters de containers. Red Hat OpenShift, qui repose sur Kubernetes, offre une gestion plus efficace, notamment en matière de déploiement et de mise à l’échelle des containers.
Bien que l’orchestration des containers sur Kubernetes soit la fonction essentielle d’OpenShift, la plateforme offre de nombreux avantages et fonctionnalités. Elle comprend les principales fonctionnalités suivantes :
- Sécurité et conformité. Les capacités de sécurité renforcées comprennent des contraintes de contexte de sécurité, l’authentification, les contrôles d’accès et un registre de containers d’entreprise. Ces fonctionnalités vont bien au-delà des paramètres de sécurité standard de Kubernetes.
- Plateforme de classe entreprise. OpenShift est conçu pour une utilisation en entreprise, avec des fonctions intégrées de surveillance et de journalisation, une gestion centralisée des clusters et des capacités en libre-service garantissant la stabilité opérationnelle.
- Évolutivité. La prise en charge de charges de travail variables est un élément essentiel d’OpenShift.
- Outils intégrés. Des outils de développement sont intégrés à OpenShift, ce qui facilite le processus de création d’applications. OpenShift prévoit une intégration dans les pipelines CI/CD pour automatiser les workflows de création, de test et de déploiement.
Les fonctionnalités d'OpenShift en matière de sécurité, de conformité, d'évolutivité et d'intégration d'outils facilitent le développement et le déploiement automatisés des applications. Vous pouvez l'utiliser pour développer des applications modernes containerisées et prendre en charge les applications historiques dont vous ne pouvez pas encore vous passer. N'oubliez pas de le mettre à disposition de l'équipe de développeurs comme outil d'intégration et de formation. Il s'intégrera parfaitement à votre environnement DevOps grâce à une prise en charge solide de l'intégration continue et du déploiement continu (CI/CD).
Cet article explique les principaux cas d’utilisation d’OpenShift d’un point de vue stratégique, en fournissant des informations sur la manière dont ses fonctionnalités de gestion des containers s’intègrent aux objectifs de gestion des applications d’une entreprise.
Premiers pas avec OpenShift
Cet article ne traite pas du déploiement ni de la configuration d’OpenShift, mais il est utile d’avoir une idée de la manière de commencer. Suivez les étapes générales suivantes pour vous lancer :
1/ Consultez la documentation et les guides, y compris ceux consacrés à Kubernetes.
2/ Envisagez d’installer OpenShift en local à des fins d’apprentissage. Une fois que vous vous serez familiarisé avec la plateforme, déployez-la sur site ou dans un environnement cloud.
3/ Installez l'interface CLI d'OpenShift.
4/ Lancez un cluster de test et déployez une application d'exemple.
5/ Familiarisez-vous avec les options d'automatisation d'OpenShift.
Red Hat propose plusieurs éditions d’OpenShift. Vous pouvez choisir des éditions de services cloud pour AWS, Azure, IBM Cloud ou d’autres plateformes cloud. Toutefois, si vous souhaitez déployer OpenShift sur votre infrastructure, envisagez l’une des éditions autogérées. Vous aurez besoin d’un abonnement Red Hat pour bénéficier d’un déploiement officiel et des options d’assistance associées.
De nombreuses ressources officielles et non officielles destinées aux débutants sont disponibles en ligne. Il existe également une vaste communauté pour l’assistance et la collaboration.
1/ Prise en charge des applications historiques
Vous pouvez renforcer la sécurité et la conformité des applications historiques à l’aide d’OpenShift. Une approche consiste à moderniser ces applications en les migrant vers des containers. Si cela n’est pas possible, envisagez de prendre en charge certaines fonctionnalités au sein du déploiement OpenShift :
- Virtualisation. Virtualisez les applications historiques et déployez-les sous forme de pods au sein de clusters OpenShift. Les avantages comprennent la sécurité, la gestion du réseau, l’évolutivité et l’automatisation.
- Modernisation progressive. Migrez progressivement les fonctionnalités des applications vers des environnements containerisés et des microservices.
- Containers sidecar. Pour améliorer les capacités sans avoir à réécrire l’application, les tâches de support telles que la surveillance, la sécurité et la journalisation peuvent être déléguées à des containers sidecar associés aux applications historiques.
Une autre façon de prendre en charge les applications historiques consiste à exécuter des machines virtuelles et des containers côte à côte au sein des mêmes pods. OpenShift Virtualization intègre la virtualisation traditionnelle et l’orchestration des containers au sein d’une plateforme unique et unifiée. Cette fonctionnalité puissante prend en charge non seulement les applications historiques, mais aussi les programmes modernes lorsque cela est nécessaire.
2/ Intégration DevOps et CI/CD
L’une des fonctionnalités clés d’OpenShift consiste à orchestrer les processus de compilation, de test et de déploiement des applications containerisées. Le composant principal est OpenShift Pipelines, qui décompose les étapes en containers évolutifs pour permettre des workflows automatisés et reproductibles.
Cependant, OpenShift ne se limite pas à ses propres composants d’automatisation. Ses API et ses ressources s’intègrent également aux principaux outils DevOps du secteur, tels que GitOps, Jenkins, GitLab et GitHub Actions.
OpenShift Pipelines réduit les frictions liées au déploiement en minimisant les goulots d’étranglement et les exigences en matière d’infrastructure. Il inclut les fonctionnalités spécifiques suivantes pour améliorer le processus de déploiement :
- Une plateforme serverless (par API) pour OpenShift Pipelines afin de réduire la charge opérationnelle.
- L’intégration de GitOps pour des workflows fiables et automatisés.
- Un environnement en libre-service permettant aux développeurs de créer des pipelines, d’auditer les journaux et de gérer les ressources.
- Une large gamme d’outils disponibles, notamment la console OpenShift, un environnement en ligne de commande et l’intégration à un IDE.
- Des déploiements d’applications basés sur des étapes de déploiement containerisées afin de garantir la cohérence entre les environnements de développement, de test et de production.
OpenShift offre des avantages similaires à ceux d’autres utilitaires et processus d’automatisation et d’orchestration, ce qui en fait un excellent choix pour un déploiement efficace et personnalisable d’applications containerisées.
3/ Gestion de l'infrastructure
Envisagez d'utiliser OpenShift pour prendre en charge l'infrastructure globale de votre entreprise, y compris les projets d'informatique en edge (infrastructures déployées dans les succursales) et d'infrastructure en tant que code (IaC).
Les options de déploiement flexibles d’OpenShift permettent un provisionnement dans des espaces plus restreints, tels que les environnements d’informatique en périphérie. Pour les environnements disposant d’un espace et de ressources réseau limités, déployez des clusters à nœud unique. Vous pouvez également déployer des nœuds de travail distants tout en conservant une gestion centralisée.
Faites évoluer ces déploiements à l’aide des capacités natives d’orchestration de containers d’OpenShift, en intégrant ses fonctionnalités à l’infrastructure IaC plus large de votre entreprise.
4/ Gestion des ressources de calcul
OpenShift s'appuie sur diverses ressources de calcul pour garantir la disponibilité des applications. La plateforme intègre la containerisation et l'orchestration natives du cloud afin d'exécuter des charges de travail sur des plateformes de calcul hautes performances.
Elle permet également le déploiement d'applications essentielles en termes de disponibilité et de sécurité, notamment dans les domaines suivants :
- Applications critiques. OpenShift offre également une haute disponibilité, une évolutivité et une sécurité élevées pour les applications d'entreprise, ce qui lui permet de prendre en charge des charges de travail gourmandes en ressources.
- Microservices. Les développeurs utilisent OpenShift pour héberger des microservices, en s’appuyant sur l’orchestration des containers et la gestion du cycle de vie de Kubernetes. Ces services faiblement couplés offrent flexibilité, facilité de maintenance et testabilité aux applications. L’intégration du développement de microservices aux pipelines CI/CD permet un déploiement et une évolutivité rapides.
La gestion de la chaîne d’approvisionnement constitue un sujet de préoccupation croissant pour les développeurs et les responsables de la maintenance des applications. Renforcer la sécurité des programmes et satisfaire aux exigences de conformité sont des objectifs essentiels pour les développeurs.
Les entreprises peuvent orchestrer la chaîne d’approvisionnement numérique à l’aide d’OpenShift, garantissant ainsi la sécurité des transferts de données provenant de diverses sources. En tant qu’environnement évolutif et hautement disponible, OpenShift contribue à garantir la conformité aux exigences courantes.
5/ Environnements d’intégration et de formation
OpenShift permet une intégration efficace et performante des développeurs en fournissant des outils et des workflows qui réduisent la complexité et améliorent la productivité.
En voici quelques exemples concrets :
- Des outils de développement intégrés pour un environnement familier.
- L’intégration avec les pipelines CI/CD pour simplifier les déploiements et permettre un développement itératif fréquent.
- Des ressources de développement disponibles, notamment des modèles et des schémas de configuration pour faciliter la gestion des workflows.
- Mise à disposition rapide d’environnements d’apprentissage, de test et de production pour permettre aux nouveaux développeurs de travailler directement avec les outils OpenShift.
- Environnements de développement collaboratif disponibles, comprenant des tableaux de bord, des fonctionnalités de surveillance et de journalisation, offrant une visibilité sur l’avancement et l’état de santé des applications.
OpenShift constitue une excellente plateforme interne de développement et d’apprentissage, qui contribue à rationaliser les processus de formation et d’intégration.
Cet article est initialement paru sur en anglais SearchITOperations.
