Recherche de site Web

Un guide du débutant sur les communautés open source cloud natives


Commencez à participer à l'écosystème cloud natif, même si vous êtes un débutant complet.

Certaines personnes pensent que l’écosystème cloud natif présente de grandes barrières à l’entrée. À première vue, cela semble être une hypothèse logique. Certaines des technologies utilisées dans les projets cloud natifs sont complexes et difficiles, si vous ne les connaissez pas, vous pourriez donc penser que vous avez besoin d'une expertise éprouvée pour vous impliquer.

Cependant, les apparences peuvent être trompeuses. Cet article fournit une feuille de route détaillée pour pénétrer dans l’écosystème cloud natif en tant que contributeur open source. J'aborderai les piliers de l'architecture cloud native, la Cloud Native Computing Foundation (CNCF) et les moyens de gagner plus.

Plus important encore, après vous avoir présenté les bases des pratiques et des communautés cloud natives, l'article fournit un guide en trois étapes pour démarrer.

Qu’est-ce que le cloud natif ?

Un programme est natif du cloud lorsqu'il est explicitement développé pour être intégré, hébergé et exécuté sur une plate-forme de cloud computing. Une telle application possède les caractéristiques inhérentes au cloud, telles que la portabilité, la modularité et l'isolation, et s'adapte aux modèles de déploiement cloud des fournisseurs de services cloud (CSP).

Le Cloud computing est un terme général désignant tout ce qui fournit des services hébergés sur Internet. Cela implique généralement des clusters d'ordinateurs, un système de fichiers distribué et des conteneurs. Un cloud peut être privé ou public. Le cloud computing se divise en trois grandes catégories : Platform-as-a-Service (PaaS), Software-as-a-Service (SaaS) et Infrastructure-as-a-Service (IaaS).

D'un point de vue commercial, le cloud computing signifie qu'au lieu d'investir massivement dans des bases de données, des logiciels et du matériel, les entreprises optent pour des services informatiques sur Internet ou dans le cloud et les paient au fur et à mesure de leur utilisation.

Infrastructure cloud native

L'infrastructure cloud native comprend les centres de données, les systèmes d'exploitation, les pipelines de déploiement, la gestion de la configuration et tout système ou logiciel nécessaire pour terminer le cycle de vie des applications. Ces solutions permettent aux ingénieurs d'effectuer des modifications rapides et à fort impact avec peu d'effort, de mettre en œuvre de nouvelles conceptions et d'exécuter des applications évolutives sur des cloud publics, personnels et hybrides.

Architecture cloud native

L'architecture cloud est un système conçu pour utiliser les services cloud. Il exploite la nature distribuée, fiable, évolutive et flexible du modèle de développement cloud. Les réseaux, les serveurs, les centres de données, les systèmes d'exploitation et les pare-feu sont abstraits. Il permet aux entreprises de concevoir des applications sous forme de composants faiblement couplés et de les exécuter sur des plates-formes dynamiques à l'aide d'une architecture de microservices.

Quelques technologies peuvent être considérées comme des piliers de l’architecture cloud native.

Les microservices sont un système architectural dans lequel les systèmes logiciels sont constitués de petits services indépendants qui communiquent via des interfaces de programmation d'applications (API) bien définies. Cette méthode de développement rend les applications plus rapides à développer et plus évolutives, encourageant l'innovation et accélérant la mise sur le marché des nouvelles fonctionnalités. Les microservices permettent la communication entre les applications à l'aide des API RESTful et prennent en charge le déploiement, les mises à jour, la mise à l'échelle et les redémarrages indépendants.

DevOps fait référence à la philosophie, aux pratiques et aux outils qui favorisent une meilleure communication et collaboration entre les équipes de développement d'applications et d'exploitation informatique. Les avantages des processus DevOps incluent :

  • Activation des pipelines de versions automatisés et de l'intégration
  • Assurer un déploiement rapide en production
  • Encourager la collaboration entre le développement et les autres départements

L'intégration continue et la livraison continue (CI/CD) font référence à un ensemble de pratiques qui englobent la culture, les principes opérationnels et les procédures de développement de logiciels. Les pratiques CI/CD se concentrent sur l'automatisation et la surveillance continue tout au long du cycle de vie des applications, depuis les phases d'intégration et de test jusqu'à la livraison et le déploiement. Les avantages du CI/CD incluent :

  • Activation de versions fréquentes
  • Expédition de logiciels plus rapidement
  • Recevoir des commentaires rapides
  • Réduire le risque de libération

Un conteneur est un progiciel qui contient tous les composants (binaires, bibliothèques, versions de langage de programmation, etc.) nécessaires pour fonctionner dans n'importe quel environnement, leur permettant de s'exécuter sur un ordinateur portable, dans le cloud ou dans un centre de données sur site. Un conteneur est le support optimal pour les microservices.

Qu’est-ce que le CNCF ?

CNCF est un projet de la Linux Foundation fondé en 2015 pour aider à faire progresser la technologie des conteneurs et à aligner l'industrie technologique sur son évolution. Sous-organisation de la Linux Foundation, elle consiste en un ensemble de projets open source soutenus par des contributions continues grâce à une vaste et dynamique communauté de programmeurs.

Les membres fondateurs de la communauté CNCF comprennent des entreprises comme Google, IBM, Red Hat, Docker, Huawei, Intel, Cisco et d'autres. Aujourd'hui, la CNCF est soutenue par plus de 450 adhérents. Sa mission est de favoriser et de soutenir des projets open source et indépendants des fournisseurs autour du cloud natif.

Le projet le plus connu de la CNCF est peut-être Kubernetes. Le projet a été proposé à la Linux Foundation par Google en tant que technologie de départ et a depuis fait ses preuves en automatisant le déploiement, la mise à l'échelle et la gestion d'applications basées sur la technologie des conteneurs.

Apprendre le cloud natif

Il existe de nombreuses ressources pour vous aider à comprendre les bases de l’architecture et des technologies cloud natives. Vous pourriez commencer par ceux-ci :

  • Glossaire cloud natif : Le glossaire cloud natif, un projet dirigé par le sous-comité sur la valeur commerciale du CNCF, est une référence pour les termes courants lorsqu'on parle d'applications cloud natives. Il a été conçu pour aider à expliquer les concepts cloud natifs dans un langage clair et simple, en particulier pour ceux qui n'ont aucune connaissance technique préalable.

[ Plus de ressources : Glossaire Kubernetes ]

Communautés cloud natives

En dehors des projets CNCF, d'autres communautés et initiatives cloud natives visent à soutenir et à maintenir ces projets basés sur le cloud. Ils comprennent:

  • Groupes d'intérêt spécial (SIG) et groupes de travail (WG) : les SIG sont formés autour de différents éléments cloud natifs dans la formation et le développement. Ces groupes se réunissent chaque semaine et discutent de l'activité communautaire. Vous pouvez également créer un nouveau SIG.
     
  • Groupes communautaires cloud natifs : il existe de nombreux groupes de rencontre axés sur l'expansion de la communauté cloud native à l'échelle mondiale. Beaucoup organisent des réunions régulières auxquelles vous pouvez participer.
     
  • Réseau CNCF TAG : TAG (pour Technical Advisory Group) a pour mission de permettre le développement, le déploiement et l'exploitation à grande échelle et réussis de systèmes de réseau résilients et intelligents dans des environnements cloud natifs.

Des formations gratuites

Certaines formations sont disponibles auprès de la Linux Foundation pour donner aux débutants des connaissances préliminaires sur les technologies cloud. Certains de ces cours comprennent :

  • Introduction à Kubernetes (LFS158)
  • Introduction aux technologies d'infrastructure cloud (LFS151)

Certifications payantes

Il existe également des programmes de certification payants de la CNCF qui testent et améliorent vos connaissances des technologies cloud natives de zéro à expert. Ces certifications se sont avérées être un excellent ajout à la carrière des praticiens.

  • Kubernetes and Cloud-Native Associate (KCNA) : la certification KCNA prépare les candidats à travailler avec des technologies cloud natives et à poursuivre d'autres certifications CNCF telles que CKA, CKAD et CKS (voir ci-dessous).
     
  • Développeur d'applications Kubernetes certifié (CKAD) : Un développeur d'applications certifié Kubernetes peut concevoir, créer, configurer et exposer des applications cloud natives pour Kubernetes, définir des ressources d'application et utiliser des primitives de base pour créer, surveiller, et dépanner les applications et outils évolutifs dans Kubernetes.
     
  • Administrateur Kubernetes certifié (CKA) : un administrateur Kubernetes certifié a démontré sa capacité à effectuer l'installation, la configuration et la gestion de base des clusters Kubernetes de production. Ils comprennent des concepts critiques tels que la mise en réseau Kubernetes, le stockage, la sécurité, la maintenance, la journalisation et la surveillance, le cycle de vie des applications, le dépannage et les primitives d'API. Un CKA peut également établir des cas d'utilisation principaux pour les utilisateurs finaux.
     
  • Spécialiste certifié de la sécurité Kubernetes (CKS) : l'obtention d'un CKS démontre la possession des capacités requises pour sécuriser les applications basées sur des conteneurs et les plates-formes Kubernetes pendant la création, le déploiement et l'exécution. Un CKS est qualifié pour effectuer ces tâches dans un cadre professionnel.
     
  • Développeur certifié Cloud Foundry (CFCD)  : la certification CFCD est idéale pour les candidats qui souhaitent valider leurs compétences à l'aide de la plateforme Cloud Foundry pour déployer et gérer des applications.
     
  • Praticien certifié FinOps (FOCP)  :  Un FOCP apportera une solide compréhension du FinOps, un cadre opérationnel combinant la technologie, la finance et les affaires pour atteindre les objectifs commerciaux et financiers grâce à la transformation du cloud. Le praticien prend en charge et gère le cycle de vie FinOps et gère le coût et l'utilisation des ressources cloud dans une organisation.

Tous ces éléments peuvent être trouvés dans le catalogue de formation et de certification de la Linux Foundation.

Commencez votre parcours cloud natif en trois étapes

Maintenant que vous disposez de toutes ces informations, vous pouvez choisir la direction que vous souhaitez prendre. Si vous êtes submergé par les options, procédez étape par étape :

  1. Comprendre les bases : en raison de la nature complexe de la plupart des technologies cloud natives, toute personne novice dans cet écosystème doit avoir une connaissance préliminaire des concepts de base. Une connaissance de base de la conteneurisation, de l'orchestration, du cloud/de l'infrastructure et de l'architecture monolithique et microservices est un bon début.
     
  2. Identifiez une communauté ou un projet cloud natif : il existe aujourd'hui plus de 300 communautés cloud natives. Il est beaucoup plus facile de pénétrer dans la communauté cloud native via ces groupes établis. Alors que certaines de ces communautés sont des initiatives visant à soutenir des projets cloud natifs, d'autres ont des projets offrant des services cloud natifs. Vous pouvez commencer votre voyage en participant à l’une de ces communautés. Recherchez les groupes et les projets qui correspondent à vos intérêts, puis suivez les étapes d'intégration et familiarisez-vous avec les projets qui les sous-tendent.
     
  3. Trouvez une niche au sein de la communauté : Étant donné que la plupart des communautés cloud natives sont open source, les diverses compétences de la communauté s'avèrent utiles. Explorez les différentes opportunités qui correspondent à vos compétences et intérêts, qu'il s'agisse du frontend, du backend, des relations avec les développeurs (DevRel), des opérations, de la documentation, de la gestion de programme ou des relations avec la communauté. Il est plus facile de contribuer à des projets cloud-native avec une niche bien définie en fonction de vos compétences et expériences.

Vous disposez désormais d’une compréhension de base de l’écosystème cloud-native, tant d’un point de vue technologique que communautaire. Vous pouvez dès maintenant approfondir vos connaissances et vous impliquer. Et une fois que vous l’aurez fait, n’oubliez pas de partager votre parcours avec les autres dans l’esprit de l’open source !

Articles connexes: