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

Certaines personnes pensent que l’écosystème natif du cloud a une barrière élevée à l’entrée. À première vue, cela ressemble à une hypothèse logique. Certaines des technologies utilisées dans les projets natifs du cloud 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 entrer dans l’écosystème cloud natif en tant que contributeur open source. Je couvrirai 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 familiarisé avec les bases des pratiques et des communautés natives du cloud, l’article fournit un guide en trois étapes pour démarrer.
Contents
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 elle s’adapte aux modèles de déploiement cloud des fournisseurs de services cloud (CSP).
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 décline 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 que plutôt que 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 qu’elles les utilisent.
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 compléter le cycle de vie des applications. Ces solutions permettent aux ingénieurs d’apporter 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 clouds publics, personnels et hybrides.
Architecture cloud native
L’architecture cloud est un système conçu pour utiliser les services cloud. Il tire parti de la nature distribuée, fiable, évolutive et flexible du modèle de développement cloud. La mise en réseau, 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.
Certaines technologies peuvent être considérées comme des piliers de l’architecture cloud native.
Microservices est 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’application (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 d’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 publication 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
Intégration continue et livraison continue (CI/CD) fait référence à un ensemble de pratiques qui englobent la culture, les principes de fonctionnement 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, des phases d’intégration et de test à la livraison et au déploiement. Les avantages du CI/CD incluent :
- Activation des versions fréquentes
- Logiciel d’expédition plus rapidement
- Recevoir des commentaires rapides
- Réduire le risque de libération
UN récipient est un progiciel qui contient tous les composants (binaires, bibliothèques, versions de langage de programmation, etc.) nécessaires pour s’exécuter dans n’importe quel environnement, ce qui leur permet de s’exécuter sur un ordinateur portable, dans le cloud ou dans un centre de données des locaux. Un conteneur est le support optimal pour les microservices.
Qu’est-ce que la 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 autour de son évolution. Sous-organisation de la Fondation Linux, elle se compose d’un collection de projets open source soutenu par des contributions continues grâce à une vaste et dynamique communauté de programmeurs.
Les membres fondateurs de la communauté CNCF comprennent des entreprises telles que Google, IBM, Red Hat, Docker, Huawei, Intel, Cisco et 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 indépendants des fournisseurs autour du cloud natif.
Le projet le plus connu de la CNCF est peut-être Kubernetes. Le projet a été fourni à la Fondation Linux par Google en tant que technologie de démarrage et a depuis fait ses preuves en automatisant le déploiement, la mise à l’échelle et la gestion des applications basées sur la technologie des conteneurs.
Apprendre le natif du cloud
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 : La Glossaire cloud natifun projet mené par le CNCF Business Value Subcommittee, est une référence pour les termes communs lorsqu’il s’agit d’applications cloud-native. Il a été conçu pour aider à expliquer les concepts natifs du cloud dans un langage clair et simple, en particulier pour ceux qui n’ont pas de connaissances techniques préalables.
[ More resources: Kubernetes glossary ]
Communautés natives du cloud
En dehors des projets de la CNCF, certaines autres communautés et initiatives natives du cloud visent à soutenir et à maintenir ces projets basés sur le cloud. Ils comprennent:
- Groupes d’intérêts spéciaux (GIS) et groupes de travail (WG) : Les SIG sont formés autour de différents éléments natifs du cloud dans la formation et le développement. Ces groupes se réunissent chaque semaine et discutent de l’activité communautaire. Vous pouvez également démarrer une nouveau SIG.
- Groupes communautaires cloud natifs : Il y a nombreux groupes de rencontre axé sur l’expansion de la communauté cloud-native à l’échelle mondiale. Beaucoup ont des réunions régulières auxquelles vous pouvez participer.
- Réseau CNCF TAG : La mission du réseau TAG (pour Technical Advisory Group) est de permettre le développement, le déploiement et l’exploitation généralisés et réussis de systèmes de réseau résilients et intelligents dans des environnements natifs du cloud.
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:
Certifications payantes
Il existe également des programmes de certification payants de la CNCF qui testent et améliorent vos connaissances sur les technologies cloud natives de zéro à expert. Ces certifications se sont avérées être un excellent ajout à la carrière des praticiens.
- Kubernetes et Cloud-Native Associate (KCNA) : La certification KCNA prépare les candidats à travailler avec des technologies natives du cloud 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 des applications et des outils évolutifs dans Kubernetes.
- Administrateur certifié Kubernetes (CKA) : Un administrateur Kubernetes certifié a démontré sa capacité à effectuer l’installation, la configuration et la gestion de base de clusters Kubernetes de niveau production. Ils comprennent les 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 construction, 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 Linux Foundation.
Commencez votre parcours cloud natif en trois étapes
Maintenant que vous êtes équipé de toutes ces informations, vous pouvez choisir la direction que vous souhaitez prendre. Si vous êtes submergé par les options, allez-y étape par étape :
- Comprendre les bases : En raison de la nature complexe de la plupart des technologies natives du cloud, une personne nouvelle 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 des microservices est un bon début.
- Identifiez une communauté ou un projet cloud natif :Il ya plus de 300 communautés natives du cloud qui existent aujourd’hui. Il est beaucoup plus facile de s’introduire dans la communauté native du cloud 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 qui offrent 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.
- Trouvez un créneau au sein de la communauté :Étant donné que la plupart des communautés natives du cloud sont open source, la diversité des compétences de la communauté est utile. Explorez les différentes opportunités qui correspondent à vos compétences et à vos 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 des programmes ou des relations avec la communauté. Il est plus simple de contribuer à des projets cloud-native avec un créneau bien défini selon vos compétences et vos expériences.
Vous avez maintenant une compréhension de base de l’écosystème cloud natif, tant d’un point de vue technologique que communautaire. Vous pouvez maintenant approfondir vos connaissances et vous impliquer. Et une fois que vous l’avez fait, n’oubliez pas de partager votre voyage avec d’autres dans l’esprit de l’open source !