https://www.cncf.io/#

CNCF est une base logicielle open source dédiée à rendre l’informatique en nuage native universelle et durable. L’informatique native en nuage utilise une pile de logiciels open source pour déployer des applications sous forme de microservices, conditionnant chaque partie dans son propre conteneur et orchestrant de manière dynamique ces conteneurs pour optimiser l’utilisation des ressources. Les technologies cloud natives permettent aux développeurs de logiciels de créer des produits de qualité plus rapidement.

La Fondation OpenStack lance le projet baptisé Kata Containers, qui vise à combiner les avantages des machines virtuelles (VM) en termes de sécurité avec la vitesse et la maniabilité des technologies de conteneurs.

Le projet est conçu pour être indépendant du matériel informatique et compatible avec les spécifications OCI (Open Container Initiative) et avec la CRI (Container Runtime Interface) pour Kubernetes. Cette annonce intervient quelques semaines après l’OpenStack Summit qui s’est tenu à Syndey début novembre 2017 (Openstack accélère sa croissance dans le cloud)

Kata Containers offre la possibilité d’utiliser les outils de gestion de conteneurs directement sur le serveur bare metal, en maintenant l’isolation des charges de travail. Comparés à l’exécution de conteneurs sur une infrastructure virtualisée (qui est la norme actuellement), les avantages de ce système sont notamment une augmentation des performances, un temps de démarrage plus court et des économies de coût.

https://www.cncf.io/
https://kubernetes.io/

Kubernetes est la plate-forme d’orchestration de conteneurs la plus populaire au monde et le premier projet CNCF. Kubernetes aide les utilisateurs à créer, mettre à l’échelle et gérer des applications modernes et leurs cycles de vie dynamiques. Développé pour la première fois chez Google, Kubernetes compte désormais plus de 2 300 contributeurs et est utilisé par certaines des sociétés les plus innovantes au monde, dans un large éventail de secteurs. La fonction de planificateur de cluster permet aux développeurs de créer des applications cloud natives, tout en se concentrant sur le code plutôt que sur les opérations. Kubernetes assure l’avenir du développement d’applications et de la gestion d’infrastructure sur site ou dans le cloud, sans verrouillage du fournisseur ou du fournisseur de cloud.


Gérez votre logiciel d’infrastructure de la même façon que vous gérez votre code: obtenez les mises à jour des référentiels, exécutez-les via votre flux de travail Dev / Test et déployez-les en production.

Les défis jumeaux d’échelle et d’agilité

Lorsque vous n’avez qu’un seul serveur, le maintenir à jour est simple. Mais même dans ce cas, vous avez besoin de la capacité de répéter ou d’annuler de manière fiable les configurations à mesure que les choses changent et que de nouveaux services ou matériels sont mis en ligne.

Comme vous pouvez l’imaginer, cette tâche devient exponentiellement plus difficile lorsque vous avez des dizaines ou des centaines de composants matériels, un réseau défini par logiciel et peut-être des milliers de machines virtuelles. Aucune personne, ni même une équipe, ne peut gérer ce type de chaos manuellement, quelle que soit la qualité de la documentation des processus. C’est particulièrement vrai dans le climat de rapidité d’aujourd’hui, où les entreprises doivent être suffisamment agiles pour fournir des ressources quasi immédiatement afin de soutenir les objectifs commerciaux et l’innovation.

Positionnement Power-Ops

En définissant votre infrastructure à l’aide de codes tels que des scripts ou des modèles, vous bénéficiez d’un processus testable, fiable et répétable, qui peut être utilisé pour gérer tout environnement, d’un serveur unique à une collection mondiale de centres de données.

Connu sous le nom de DevOps, ce processus peut prendre différentes formes. Parmi les plus courants d’OpenStack, on trouve les formules Salt, les cahiers Ansible ou les recettes Chef, mais aucun environnement spécifique n’est requis. Ce qui est important, c’est que les actions reposent sur des scripts bien documentés, plutôt que sur des actions individuelles. Ainsi, vous effectuez toujours la même tâche (par exemple, la configuration d’un nouveau serveur) de la même manière.

Bien que DevOps au niveau de l’application soit commun depuis un certain temps, la conteneurisation d’OpenStack et son orchestration à l’aide de Kubernetes permettent de faire la même chose au niveau de l’infrastructure, en gérant non seulement les bits OpenStack, mais également des projets connexes tels que OpenContrail et Ceph.

Infrastructure en tant que Code

Bien entendu, traiter l’infrastructure en tant que code n’est pas simplement un script de vos actions. Typiquement, ces scripts sont «déclaratifs», ce qui signifie que plutôt que de dire «fais ceci, alors fais ça», ils disent simplement «voici ce que je veux finir avec» et ensuite le cadre de script prend en charge le reste.

L’avantage de ce moyen de gestion des infrastructures est que vous pouvez maintenant traiter ces scripts déclaratifs – un modèle textuel de votre centre de données – comme du code. Et cela signifie que vous pouvez le valider et effectuer un contrôle de version, de sorte que vous ne puissiez pas seulement savoir qui a fait quoi, vous pouvez également revenir à une configuration antérieure à tout moment en cas de problème.

Et c’est plus que ça. Comme votre centre de données est essentiellement une version physique du modèle, vous pouvez le maintenir à jour à l’aide de CI / CD, comme vous le feriez avec n’importe quelle application. Lorsque des modifications interviennent, elles peuvent être testées, puis propagées vers votre environnement de production.

Au cours des 5 dernières années, aidant des centaines d’entreprises à déployer avec succès des clouds OpenStack, nous avons constaté que le modèle Infrastructure en tant que code n’était pas le meilleur moyen de faire fonctionner un environnement OpenStack à l’échelle de la production, où agilité et fiabilité étaient essentielles; c’est la seule solution.

Dev-ops et le secteur public !

Le paysage technologique de nombreuses organisations gouvernementales comprend un mélange complexe d’applications héritées et construites sur des infrastructures plus anciennes telles que Oracle Forms, Microsoft .NET et des applications plus modernes utilisant une architecture d’applications Web. La plupart des technologies plus anciennes ne sont pas compatibles avec des méthodes efficaces de conteneurisation. Par exemple, les conteneurs ne peuvent pas être générés pour Oracle Forms tandis que les conteneurs peuvent être générés sur Microsoft .NET, le conteneur résultant nécessite beaucoup de ressources, annulant ainsi l’objectif d’optimisation des ressources et de réduction des coûts. Le même problème s’applique même à plusieurs des applications Web relativement modernes. La conception et l’architecture de certaines de ces applications sont par nature monolithiques et ne permettent pas une séparation facile de l’application en modules indépendants, ce qui limite la faisabilité de la conteneurisation. Par exemple, un système moderne développé pour la gestion des flux de travail et des tâches de trois processus métier liés peut avoir un seul serveur frontal et un seul package de code d’application, et peut accéder à une base de données unique. Lorsque l’un de ces trois processus doit être modifié, l’ensemble du package doit être redéployé et une régression complète doit être effectuée pour gérer les modifications potentielles de la base de données et du système frontal. Dans cette situation, la conteneurisation ne fonctionnerait pas bien car les processus ne peuvent pas être séparés facilement et placés dans des conteneurs séparés. En fait, dans cet exemple, la conteneurisation pourrait augmenter les problèmes de production en raison de la flexibilité et de l’évolutivité limitées de l’application. L’utilisation d’une structure de base de données unique entraîne également la création de bases de données volumineuses et lourdes qui ne peuvent pas être facilement conteneurisées.

Qu’est-ce que la conteneurisation et est-ce plus efficace?

La conteneurisation est une approche consistant à regrouper des applications ainsi que leurs dépendances dans un progiciel appelé image de conteneur. Cette image est exécutée sous la forme d’un processus conteneur (ou plus simplement d’un conteneur) s’exécutant sur un moteur logiciel spécial qui assure l’interface entre le conteneur et le système d’exploitation. Le conteneur peut être facilement déplacé entre environnements et systèmes d’exploitation / plates-formes. La figure 1 illustre un conteneur en cours d’exécution. Une fois l’image du conteneur créée, elle ne peut plus être modifiée.

Figure

Un développeur de logiciel peut créer une image du logiciel testé qui peut être facilement déplacé d’un environnement à l’autre sans avoir à installer et configurer les dépendances spécifiquement pour chaque environnement. Cela rend plus efficace la migration d’applications d’un environnement à un autre, du développement à l’assurance qualité en passant par la production, ou des environnements internes aux environnements basés sur le cloud, tout en assurant la traçabilité via la nature immuable du conteneur.

La virtualisation matérielle a permis de placer plusieurs tâches différentes sur le même serveur informatique en créant plusieurs «machines virtuelles» (VM) sur un serveur physique. Les conteneurs offrent les mêmes avantages en termes de consolidation que la virtualisation matérielle, mais avec plusieurs avantages distincts, notamment des avantages potentiels en termes d’efficacité. Premièrement, la technologie de conteneurisation réduit le besoin de dupliquer le code du système d’exploitation. Deuxièmement, le lancement / le lancement d’applications est beaucoup plus rapide, ne prenant que quelques secondes pour les conteneurs, par rapport à quelques minutes pour les ordinateurs virtuels. En effet, un conteneur n’a pas besoin d’instancier un nouveau système d’exploitation pour chaque charge de travail. Troisièmement, les conteneurs peuvent avoir des ordres de grandeur plus efficaces en termes d’utilisation de la capacité, car leur encombrement au sol est très réduit (typiquement, uniquement, les mégaoctets, par rapport aux gigaoctets pour une VM typique). Cela permet de gérer plusieurs conteneurs sur une seule machine, ce qui permet une utilisation beaucoup plus économique de l’infrastructure. Quatrièmement, les conteneurs sont flexibles et peuvent être exécutés sur des machines virtuelles ou des serveurs physiques «à nu». L’utilisation de la conteneurisation peut donc permettre des économies de ressources importantes et une efficacité accrue. Plus l’empreinte du système d’exploitation est grande, plus le potentiel de conteneurisation permet de réaliser des économies. Par exemple, les conteneurs pourraient générer des économies de 25% par rapport aux machines virtuelles sur des ressources dont l’empreinte O / S représente 50% de l’ensemble du système.

La conteneurisation est particulièrement bénéfique pour accroître l’efficacité des processus opérationnels et de développement chez un fournisseur multiple environnement grâce à la portabilité accrue et à la traçabilité offerte par la conteneurisation. Cependant, la technologie introduit de nouveaux défis dans le développement, les opérations et la gestion de l’informatique dans les organisations gouvernementales. La section suivante traite de ces défis ainsi que des meilleures pratiques permettant de les surmonter. Cela ouvrira la voie à une organisation informatique dynamique, efficace et rentable.

Meilleure pratique pour la résolution: migrer vers une architecture de microservices

Les organisations gouvernementales confrontées au défi susmentionné devraient envisager d’adopter une architecture de microservices afin de migrer de la conception et de l’architecture monolithiques existantes vers une architecture d’applications modulaire utilisant des technologies modernes. L’architecture des microservices est une approche du développement d’applications dans laquelle une grande application monolithique est décomposée en un écosystème de modules simples et bien définis, appelés microservices, qui ne dépendent pas les uns des autres. La différence architecturale conceptuelle entre l’architecture monolithique et l’architecture microservices est illustrée à la figure 1 ci-dessous.

Figure 2

Pour réaliser l’autonomie d’un microservice, la meilleure pratique de l’industrie consiste à utiliser la conception pilotée par le domaine, une approche qui permet de décomposer une fonctionnalité métier complexe en composants plus petits en définissant des limites pour des sujets métier et techniques connexes. Appelés contextes délimités, ces limites constituent la base du développement de microservices. Le principal avantage de cette approche est qu’elle offre une grande flexibilité pour modifier la logique d’entreprise rapidement et de manière indépendante, sans impact sur les autres modules ou applications. Par exemple, une modification de la réglementation peut entraîner la nécessité de modifier la fonction 1 de l’application de microservice illustrée à la figure 1. Dans ce cas, le microservice contenant la fonction 1 peut être modifié indépendamment sans nécessiter de modification des microservices pour les fonctions 2 et 3. Un autre avantage est la possibilité d’adopter une approche de choix pour sélectionner la technologie requise pour chaque microservice indépendamment. Cela permet de mettre à niveau la technologie au fil du temps, à mesure que de nouvelles options sont introduites, réduisant ainsi les coûts et les risques d’améliorations futures et minimisant les perturbations des activités de l’entreprise. Par exemple, après 18 mois d’exploitation réussie du système, voyons un nouveau moteur de règles métier qui pourrait améliorer l’administration des règles complexes constituant la fonction 3. La conteneurisation permet une mise à niveau aisée de ce microservice pour utiliser la nouvelle activité. moteur de règles, sans exiger aucune modification de la fonction 1 ou de la fonction 2.

La nature mutuellement indépendante de l’architecture des microservices constitue un excellent atout pour une conteneurisation efficace. Chaque module de microservice peut être facilement emballé dans un conteneur «léger» pouvant être exécuté indépendamment, comme illustré à la figure 3, avec la possibilité d’être démarré et arrêté en tant que processus indépendant.


Gestion et support Cloud

Vos applications métier dictent les exigences uniques en matière d’infrastructure nécessaire pour fournir la meilleure expérience possible
vos clients. Cependant, avec les investissements matériels existants des fournisseurs privilégiés et les limitations imposées par la mise en réseau, la sécurité, la conformité, etc., la plupart des solutions de fournisseurs préemballées ne tiennent pas compte de vos contraintes, et une approche de bricolage prend du temps et coûte très cher en temps et en argent.

Pour répondre aux besoins changeants de votre entreprise et maximiser votre retour sur investissement technologique, vous avez besoin d’une infrastructure cloud qui est flexible, qui respecte vos contraintes et qui peut répondre à vos cas d’utilisation uniques.

Notre approche flexible, sans blocage, facilite la mise à profit des meilleures innovations de l’open source, avec une infrastructure hautement personnalisable, des mises à jour et mises à jour en continu et une complète opérations d’infrastructure fournies tout au long de votre cycle de vie du cloud.

La plate-forme Cloud Privé hybride de Powershift Cloud basé sur Openstack MCP offre un cloud privé ouvert, flexible, rentable pour maintenir vos affaires.

Que vous souhaitiez que Powershift Cloud gère votre cloud pour vous ou que vous avez l’intention de gérer vous-même, Powershift OpsCare fournit une solution flexible pour les opérations et l’assistance de votre cloud.

PowerOps

Que vous souhaitiez que Powershift Cloud gère votre cloud pour vous ou que vous avez l’intention de gérer vous-même, OpsCare fournit une solution flexible et capable de répondre à vos besoins d’opérations et d’assistance de votre entreprise.

Avec OpsCare, nous résolvons les problèmes qui se présentent à vous
avec une surveillance proactive, gestion des alertes, évitement des incidents et règlements des incidents.

  • Support 24x7x365, optimisé avec le système StackLight OSS
    Responsable de la réussite client désigné
    pour maximiser le succès de votre cloud
  • Déploiement et opérations (OpsCare uniquement)
    Notre équipe de support est dédiée aux opérations
    excellence, respect des services informatiques mondiaux
    et normes de sécurité (ITIL, ISO 20000/27000, GDPR).
    • Le déploiement initial dans le cloud inclut la sélection du matériel,
    création d’un runbook d’opérations infonuagique et onboarding opérationnel aligné sur votre opération informatique.
    • Suivre les performances et l’utilisation de votre cloud
    via un portail en ligne ou des rapports mensuels
    avec indicateurs de performance, planification des tendances et de la capacité avec des revues trimestrielles des opérations.
    Si vous souhaitez effectuer une transition ultérieure vers votre propre équipe, nous fournissons un transfert complet , y compris la planification, les services, la formation, l’opération et prise en charge des SLA pour assurer la continuité des opérations cloud.