Une plateforme moderne pour le développement et le déploiement de logiciels

Ceci est la premiÚre publication d'une série de matériaux consacrés aux changements, améliorations et ajouts dans la prochaine mise à jour de la plateforme Red Hat OpenShift vers la version 4.0, qui aidera à préparer la transition vers la nouvelle version.

Une plateforme moderne pour le développement et le déploiement de logiciels

Depuis le moment oĂč des reprĂ©sentants de la communautĂ© Kubernetes en pleine formation se sont rĂ©unis pour la premiĂšre fois Ă  l'automne 2014 dans les bureaux de Google Ă  Seattle, il Ă©tait dĂ©jĂ  Ă©vident que le projet Kubernetes allait profondĂ©ment transformer les approches modernes du dĂ©veloppement et du dĂ©ploiement de logiciels. ParallĂšlement, les fournisseurs de services cloud publics ont continuĂ© Ă  investir massivement dans le dĂ©veloppement d'infrastructures et de services, rendant considĂ©rablement plus facile et accessible le travail avec l'IT et la crĂ©ation de logiciels, ce que peu de gens pouvaient imaginer au dĂ©but de la dĂ©cennie.

Il va sans dire que l'annonce de chaque nouveau service cloud Ă©tait accompagnĂ©e de nombreuses discussions d'experts sur Twitter, avec des dĂ©bats sur une variĂ©tĂ© de sujets – y compris la fin de l'Ăšre des codes ouverts, le dĂ©clin de l'IT sur site (on-premises IT), l'inĂ©vitabilitĂ© d'un nouveau monopole logiciel dans le cloud, et comment la nouvelle paradigme X remplacera tous les autres paradigmes.

Faut-il dire que tous ces débats étaient plutÎt ridicules

La rĂ©alitĂ© est que rien ne disparaĂźt nulle part, et aujourd'hui, on peut observer une croissance exponentielle des produits finaux et des mĂ©thodes de dĂ©veloppement, ce qui est liĂ© Ă  l'apparition constante de nouveaux logiciels dans nos vies. Et malgrĂ© le fait que tout autour changera, en essence, tout restera inchangĂ©. Les dĂ©veloppeurs continueront Ă  Ă©crire du code contenant des erreurs, les ingĂ©nieurs d'exploitation et les spĂ©cialistes de la fiabilitĂ© continueront Ă  utiliser des pagers et Ă  recevoir des alertes automatiques sur Slack, les managers continueront de jongler avec les concepts d'OpEx et de CapEx, et chaque fois qu'une dĂ©faillance se produira, le dĂ©veloppeur senior poussera un triste soupir en disant : « Je l'avais dit » 

Ce qui devrait vraiment ĂȘtre discutĂ©, c'est ce que nous pouvons obtenir comme outils pour crĂ©er des produits logiciels de meilleure qualitĂ©, et comment ils permettent d'amĂ©liorer la sĂ©curitĂ© et de rendre le dĂ©veloppement plus simple et fiable. Avec l'augmentation de la complexitĂ© des projets, de nouveaux risques apparaissent, et aujourd'hui, la vie des gens dĂ©pend tellement du logiciel que les dĂ©veloppeurs doivent absolument s'efforcer de bien faire leur travail.

Kubernetes est l'un de ces outils. Des efforts sont en cours pour l'intégrer, dans le cadre de Red Hat OpenShift, avec d'autres outils et services en une seule plateforme, afin de rendre le logiciel plus fiable, facile à gérer et sûr pour les utilisateurs.

Dans cette optique, l'équipe OpenShift se pose une simple question :

Comment rendre le travail avec Kubernetes plus simple et agréable ?

La réponse est étonnamment évidente :

  • automatiser les moments complexes du dĂ©ploiement, qu'il soit dans le cloud ou hors cloud ;
  • se concentrer sur la fiabilitĂ© tout en cachant la complexité ;
  • continuer Ă  travailler sur la sortie d'updates simples et sĂ©curisĂ©es ;
  • assurer une contrĂŽlabilitĂ© et une possibilitĂ© d'audit ;
  • viser Ă  garantir une haute sĂ©curitĂ© dĂšs le dĂ©part, sans compromettre l'utilisabilitĂ©.

La prochaine version d'OpenShift doit tenir compte de l'expĂ©rience des crĂ©ateurs ainsi que de celle d'autres dĂ©veloppeurs, qui mettent en Ɠuvre des logiciels Ă  grande Ă©chelle dans les plus grandes entreprises du monde. De plus, elle doit intĂ©grer l'ensemble de l'expĂ©rience accumulĂ©e des Ă©cosystĂšmes ouverts qui sont Ă  la base du monde moderne. Il est essentiel d'abandonner l'ancienne mentalitĂ© du dĂ©veloppeur amateur et d'adopter une nouvelle philosophie axĂ©e sur un avenir automatisĂ©. Cela doit ĂȘtre un « pont » entre les anciennes et les nouvelles mĂ©thodes de dĂ©ploiement de logiciels et tirer pleinement parti de toute l'infrastructure disponible – qu'elle soit gĂ©rĂ©e par le plus grand fournisseur de cloud ou dĂ©ployĂ©e sur de petits systĂšmes en pĂ©riphĂ©rie.

Comment atteindre un tel résultat ?

Chez Red Hat, il est courant de consacrer beaucoup de temps Ă  des tĂąches fastidieuses et ingrate afin de prĂ©server la communautĂ© qui s'est formĂ©e et d'Ă©viter la fermeture des projets auxquels l'entreprise participe. La communautĂ© open-source est composĂ©e d'un grand nombre de dĂ©veloppeurs talentueux qui crĂ©ent des choses extraordinaires — des divertissements, de l'Ă©ducation, de nouvelles opportunitĂ©s, et simplement de la beautĂ©. Bien entendu, personne ne s'attend Ă  ce que tous les participants avancent dans la mĂȘme direction ou poursuivent des objectifs communs. Tirer parti de cette Ă©nergie, la rĂ©orienter dans la bonne direction est parfois nĂ©cessaire pour dĂ©velopper des axes qui seraient bĂ©nĂ©fiques pour nos utilisateurs, mais nous devons Ă©galement surveiller l'Ă©volution de nos communautĂ©s et en tirer des enseignements.

Au début de 2018, Red Hat a acquis le projet CoreOS, qui partageait des visions similaires pour l'avenir - plus sûr et plus fiable, basé sur les principes de l'open-source. L'entreprise a travaillé à l'avancement de ces idées et à leur réalisation, concrétisant notre philosophie - en cherchant à garantir un fonctionnement sécurisé de tout le logiciel. Tout ce travail repose sur Kubernetes, Linux, les clouds publics, les clouds privés, et des milliers d'autres projets qui constituent notre écosystÚme numérique moderne.

La nouvelle version d'OpenShift 4 sera claire, automatisée et plus intuitive.

La plateforme OpenShift fonctionnera avec les meilleurs et les plus fiables systÚmes d'exploitation Linux, avec un support matériel bare-metal, une virtualisation conviviale, une programmation automatique des infrastructures et, bien sûr, des conteneurs (qui sont essentiellement des images Linux).

La plateforme doit ĂȘtre sĂ©curisĂ©e dĂšs le dĂ©part, tout en offrant la possibilitĂ© d'itĂ©rations confortables pour les dĂ©veloppeurs - c'est-Ă -dire qu'elle doit disposer d'une flexibilitĂ© et d'une fiabilitĂ© suffisantes, tout en permettant aux administrateurs de rĂ©aliser des audits et de faciliter la gestion.

Elle doit permettre de faire fonctionner des logiciels « en tant que service », sans mener à une expansion incontrÎlée de l'infrastructure pour les opérateurs.

Cela permettra aux développeurs de se concentrer sur la création de véritables produits pour les utilisateurs et les clients. Ils n'auront plus à naviguer à travers les méandres des configurations matérielles et logicielles, et tous les complications aléatoires appartiendront au passé.

OpenShift 4 : une plateforme NoOps sans maintenance requise

Dans cet article Les tĂąches qui ont aidĂ© Ă  façonner la vision de l'entreprise concernant OpenShift 4 ont Ă©tĂ© dĂ©crites. L'Ă©quipe a pour mission de simplifier au maximum les tĂąches quotidiennes liĂ©es Ă  l'exploitation et Ă  la maintenance du logiciel, rendant ces processus faciles et dĂ©contractĂ©s – tant pour les spĂ©cialistes de l'implĂ©mentation que pour les dĂ©veloppeurs. Mais comment peut-on atteindre cet objectif ? Comment crĂ©er une plateforme de dĂ©ploiement de logiciels nĂ©cessitant un minimum d'intervention ? Que signifie rĂ©ellement NoOps dans ce contexte ?

Si l'on essaie de s'abstraire, pour les développeurs, les concepts de « serverless » ou de « NoOps » signifient des outils et des services permettant de cacher la composante « opérationnelle » ou de minimiser ce fardeau pour le développeur.

  • Travaillez non pas avec des systĂšmes, mais avec des interfaces de programmation (API).
  • Ne vous occupez pas de l'implĂ©mentation du logiciel – laissez un fournisseur s'en charger Ă  votre place.
  • Il ne faut pas chercher Ă  crĂ©er d'emblĂ©e un grand cadre – commencez par Ă©crire de petits fragments qui serviront de « blocs de construction », veillez Ă  ce que ce code fonctionne avec des donnĂ©es et des Ă©vĂ©nements, et non avec des disques et des bases de donnĂ©es.

L'objectif, comme auparavant, est d'accélérer les itérations dans le développement de logiciels, de permettre la création de produits de meilleure qualité, et que le développeur ne se préoccupe pas des systÚmes sur lesquels son logiciel est exécuté. Un développeur expérimenté sait trÚs bien que si l'on se concentre sur les utilisateurs, la situation peut rapidement changer, c'est pourquoi il ne faut pas investir trop d'efforts dans l'écriture de logiciels si vous n'avez pas la certitude absolue de leur nécessité.

Pour les professionnels impliqués dans la maintenance et l'exploitation, le terme « NoOps » peut sembler quelque peu intimidant. Cependant, lors de discussions avec des ingénieurs en opérations, il devient évident que les modÚles et méthodes qu'ils utilisent pour garantir la fiabilité du systÚme (Site Reliability Engineering, SRE) résonnent en grande partie avec les modÚles décrits ci-dessus.

  • Ne gĂ©rez pas les systĂšmes – automatisez les processus de gestion.
  • Ne vous concentrez pas sur l'intĂ©gration des logiciels – crĂ©ez un pipeline pour leur dĂ©ploiement.
  • Essayez de ne pas regrouper tous vos services et Ă©vitez qu'un Ă©chec d'un d'eux entraĂźne l'Ă©chec du systĂšme entier – rĂ©partissez-les sur toute l'infrastructure en utilisant des outils d'automatisation, et connectez-les en prĂ©voyant des possibilitĂ©s de contrĂŽle et de surveillance.

Les spĂ©cialistes en SRE savent que quelque chose peut mal tourner, et qu'ils devront surveiller et rĂ©soudre le problĂšme – c'est pourquoi ils automatisent les tĂąches rĂ©pĂ©titives et dĂ©finissent Ă  l'avance des Ă©carts acceptables (budgets d'erreur), afin d'ĂȘtre prĂȘts Ă  prioriser et Ă  prendre des dĂ©cisions en cas de problĂšme.

Kubernetes dans OpenShift est une plateforme conçue pour rĂ©soudre deux principaux dĂ©fis : au lieu de vous obliger Ă  gĂ©rer des machines virtuelles ou des interfaces API de load balancers, elle travaille avec des abstractions de niveau plus Ă©levĂ© – dĂ©ploiements et services. Au lieu d'installer des agents logiciels, vous pouvez exĂ©cuter des conteneurs, et plutĂŽt que d'Ă©crire votre propre pile de surveillance, utilisez les outils dĂ©jĂ  disponibles sur la plateforme. Ainsi, l'ingrĂ©dient secret d'OpenShift 4 n'est en rĂ©alitĂ© pas un mystĂšre – il suffit d'adopter les principes SRE et les concepts sans serveur, et de les mener Ă  terme, pour aider les dĂ©veloppeurs et les ingĂ©nieurs des opĂ©rations.

  • Automatiser et standardiser l'infrastructure utilisĂ©e par les applications.
  • Lier les processus de dĂ©ploiement et de dĂ©veloppement, sans limiter les dĂ©veloppeurs eux-mĂȘmes.
  • S'assurer que le lancement, l'audit et la sĂ©curisation du centiĂšme service, fonction, application ou ensemble de services ne soit pas plus complexe que celui du premier.

Mais quelle est la différence entre la plateforme OpenShift 4 et ses prédécesseurs, ainsi que par rapport à l'approche « standard » pour résoudre de tels problÚmes ? Comment le scaling pour les équipes chargées de l'implémentation et de l'exploitation est-il atteint ? Parce que le roi dans cette situation, c'est le cluster. Donc,

  • Nous faisons en sorte que la fonction des clusters soit claire (Cloud coĂ»teux, j'ai créé ce cluster parce que j'ai pu)
  • Les machines et les systĂšmes d'exploitation existent pour servir le cluster (Votre MajestĂ©)
  • GĂ©rez l'Ă©tat des hĂŽtes depuis le cluster, minimisez leurs dĂ©rives.
  • Pour chaque Ă©lĂ©ment important du systĂšme, un mĂ©canisme (nounou) est nĂ©cessaire pour surveiller et rĂ©soudre les problĂšmes.
  • La dĂ©faillance de *chaque* aspect ou Ă©lĂ©ment du systĂšme doit ĂȘtre suivie par les mĂ©canismes de rĂ©cupĂ©ration - c'est une partie normale de la vie.
  • Toute l'infrastructure doit ĂȘtre configurĂ©e via API.
  • Utilisez Kubernetes pour faire fonctionner Kubernetes. (Oui, ce n'est pas une faute de frappe)
  • Les mises Ă  jour doivent ĂȘtre installĂ©es facilement et sans contrainte. Si l'installation d'une mise Ă  jour nĂ©cessite plus d'un clic de souris, il est Ă©vident que vous faites quelque chose de travers.
  • La surveillance et le dĂ©bogage de tout composant ne doivent pas poser de problĂšme, et par consĂ©quent, le suivi et la crĂ©ation de rapports sur l'ensemble de l'infrastructure doivent Ă©galement ĂȘtre simples et commodes.

Voulez-vous voir les capacités de la plateforme en action ?

La version bĂȘta d'OpenShift 4 est disponible pour les dĂ©veloppeurs. Avec un installateur facile Ă  utiliser, vous pouvez dĂ©ployer un cluster sur AWS avec Red Hat CoreOS. Pour profiter de la version bĂȘta, il suffit d'un compte AWS pour fournir l'infrastructure et d'un ensemble de comptes pour accĂ©der aux images de la version bĂȘta.

  1. Pour commencer, allez sur try.openshift.com et cliquez sur “Get Started”.
  2. Connectez-vous à votre compte Red Hat (ou créez-en un nouveau) et suivez les instructions pour configurer votre premier cluster.

AprÚs l'installation réussie, consultez nos ressources d'apprentissage OpenShift Training, pour avoir une vision plus approfondie des systÚmes et concepts qui rendent la plateforme OpenShift 4 si simple et pratique pour déployer Kubernetes.

Essayez la nouvelle version d'OpenShift et partagez votre avis. Nous nous efforçons de rendre l'utilisation de Kubernetes aussi accessible et sans effort que possible – l'avenir de NoOps commence dùs aujourd'hui.

Maintenant, attention !
À la confĂ©rence DevOpsForum 2019 Le 20 avril, l'un des dĂ©veloppeurs d'OpenShift, Vadim Rutkovski, animera un atelier — il va casser dix clusters et les rĂ©parera ensuite. La confĂ©rence est payante, mais avec le code promo #RedHat, bĂ©nĂ©ficiez d'une rĂ©duction de 37%

L'atelier se dĂ©roule de 17h15 Ă  18h15, et le stand est ouvert toute la journĂ©e. T-shirts, chapeaux, autocollants – comme d'habitude !

Salle #2
« Il faut tout changer dans le systÚme : réparons ensemble des clusters k8s cassés avec des mécaniciens certifiés ».

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster