la manière Google

de Gmail à YouTube pour rechercher, tout chez Google fonctionne dans des conteneurs. La conteneurisation permet à nos équipes de développement de se déplacer rapidement, de déployer des logiciels efficacement et d’opérer à une échelle sans précédent. Chaque semaine, nous commençons plus de plusieurs milliards de conteneurs., Nous avons beaucoup appris sur l’exécution de charges de travail conteneurisées en production au cours de la dernière décennie, et nous avons partagé ces connaissances avec la communauté en cours de route: depuis les premiers jours de la contribution de cgroups au noyau Linux, jusqu’à la prise de conceptions à partir de nos outils internes et leur open sourcing en tant que projet Kubernetes. Nous avons intégré cette expertise à Google Cloud Platform afin que les développeurs et les entreprises de toute taille puissent facilement exploiter les dernières innovations en matière de conteneurs.

Conteneurs 101: Ce sont des conteneurs?,

Les conteneurs offrent un mécanisme d’emballage logique dans lequel les applications peuvent être abstraites de l’environnement dans lequel elles s’exécutent réellement. Ce découplage permet aux applications basées sur des conteneurs d’être déployées facilement et de manière cohérente, que l’environnement cible soit un centre de données privé, le cloud public ou même l’ordinateur portable personnel d’un développeur., La conteneurisation permet une séparation nette des préoccupations, car les développeurs se concentrent sur la logique et les dépendances de leur application, tandis que les équipes d’exploitation informatique peuvent se concentrer sur le déploiement et la gestion sans se soucier des détails de l’application, tels que les versions logicielles et les configurations spécifiques à l’application.

pour ceux provenant d’environnements virtualisés, les conteneurs sont souvent comparés aux machines virtuelles (VM)., Vous connaissez peut-être déjà les machines virtuelles: un système d’exploitation invité tel que Linux ou Windows s’exécute sur un système d’exploitation hôte avec un accès virtualisé au matériel sous-jacent. Comme les machines virtuelles, les conteneurs vous permettent d’empaqueter votre application avec des bibliothèques et d’autres dépendances, fournissant des environnements isolés pour exécuter vos services logiciels. Comme vous le verrez ci-dessous, les similitudes se terminent ici, car les conteneurs offrent une unité beaucoup plus légère pour les développeurs et les équipes D’opérations informatiques, avec une myriade d’avantages.,

les Machines virtuelles contiennent les unités suivantes, empilées les unes sur les autres pour la visualisation: App, Bin/Libs, système D’exploitation invité, hyperviseur, système D’exploitation hôte, Infrastructure. Les conteneurs contiennent les unités suivantes, empilées les unes sur les autres pour la visualisation: App, Bin/Libs, Container Runtime, Host Operating System, Infrastructure.
Pourquoi les Conteneurs?,

Au lieu de virtualiser la pile matérielle comme avec l’approche des machines virtuelles, les conteneurs virtualisent au niveau du système d’exploitation, avec plusieurs conteneurs s’exécutant directement sur le noyau du système d’exploitation. Cela signifie que les conteneurs sont beaucoup plus légers: ils partagent le noyau du système d’exploitation, démarrent beaucoup plus rapidement et utilisent une fraction de la mémoire par rapport au démarrage d’un système d’exploitation entier.

Il existe de nombreux formats de conteneurs disponibles. Docker est un format de conteneur open source populaire pris en charge par Google Cloud Platform et Google Kubernetes Engine.

Pourquoi Sandbox de toute façon?,

Les conteneurs siloent les applications les unes des autres, sauf si vous les connectez explicitement. Cela signifie que vous n’avez pas à vous soucier des dépendances conflictuelles ou des conflits de ressources — vous définissez des limites de ressources explicites pour chaque service. Surtout, il s’agit d’une couche de sécurité supplémentaire car vos applications ne s’exécutent pas directement sur le système d’exploitation hôte.

environnement cohérent

Les conteneurs permettent aux développeurs de créer des environnements prévisibles isolés des autres applications., Les conteneurs peuvent également inclure des dépendances logicielles nécessaires à l’application, telles que des versions spécifiques des temps d’exécution du langage de programmation et d’autres bibliothèques logicielles. Du point de vue du développeur, tout cela est garanti pour être cohérent, peu importe où l’application est finalement déployée. Tout cela se traduit par une productivité: les développeurs et les équipes IT Ops passent moins de temps à déboguer et à diagnostiquer les différences dans les environnements, et plus de temps à envoyer de nouvelles fonctionnalités aux utilisateurs., Et cela signifie moins de bugs puisque les développeurs peuvent maintenant faire des hypothèses dans les environnements de développement et de test, ils peuvent être sûrs de tenir vrai en production.

exécuter N’importe où

Les conteneurs peuvent fonctionner pratiquement n’importe où, facilitant grandement le développement et le déploiement: sur les systèmes D’exploitation Linux, Windows et Mac; sur les machines virtuelles ou le bare metal; sur la machine d’un développeur ou dans les centres de données sur site; et bien La popularité généralisée du format D’image Docker pour les conteneurs contribue davantage à la portabilité., Où que vous souhaitiez exécuter votre logiciel, vous pouvez utiliser des conteneurs.

Isolation

Les conteneurs virtualisent les ressources CPU, Mémoire, stockage et réseau au niveau du système d’exploitation, offrant aux développeurs une vue en bac à sable du système d’exploitation logiquement isolé des autres applications.,onnement

case case Application de Sandboxing case case faible Taille sur le Disque case Faible Surcharge case
De Code pour les Applications

les Conteneurs vous permettent de package de votre application et de ses dépendances dans un succincte manifeste que peut être la version contrôlée, ce qui facilite la réplication de votre application à travers les développeurs de votre équipe et de machines dans votre cluster.,

tout comme la façon dont les bibliothèques logicielles empaquettent des bits de code ensemble, permettant aux développeurs d’abstraire la logique comme l’authentification utilisateur et la gestion de session, les conteneurs permettent à votre application dans son ensemble d’être empaquetée, éliminant ainsi le système d’exploitation, la machine et même le code lui-même. Combiné à une architecture basée sur les services, l’ensemble de l’unité sur laquelle les développeurs sont invités à raisonner devient beaucoup plus petit, ce qui conduit à une plus grande agilité et productivité. Tout cela facilite le développement, les tests, le déploiement et la gestion globale de vos applications.,

Architecture monolithique à base de services

Les conteneurs fonctionnent mieux pour les architectures à base de services. Contrairement aux architectures monolithiques, où chaque élément de l’application est entrelacé — des e / s au traitement des données en passant par le rendu — les architectures basées sur les services les séparent en composants distincts. La séparation et la division du travail permettent à vos services de continuer à fonctionner même si d’autres échouent, ce qui rend votre application dans son ensemble plus fiable.,

La Componentisation vous permet également de développer plus rapidement et de manière plus fiable; les bases de code plus petites sont plus faciles à maintenir et comme les services sont séparés, il est facile de tester des entrées spécifiques pour les sorties.

Les conteneurs sont parfaits pour les applications basées sur les services, car vous pouvez vérifier l’état de chaque conteneur, limiter chaque service à des ressources spécifiques et les Démarrer et les arrêter indépendamment les uns des autres.

et puisque les conteneurs abstraient le code, les conteneurs vous permettent de traiter des services distincts comme des boîtes noires, ce qui diminue encore l’espace dont un développeur doit se préoccuper., Lorsque les développeurs travaillent sur des services qui dépendent d’un autre, ils peuvent facilement démarrer un conteneur pour ce service spécifique sans avoir à perdre de temps à configurer l’environnement et le dépannage corrects au préalable.

découvrez les trois principaux moyens par lesquels vous pouvez exécuter vos contenants sur Google Cloud!

Google Kubernetes Engine pour une solution d’orchestration de conteneurs, Cloud Run pour une approche entièrement sans serveur et Compute Engine pour utiliser simplement des Machines virtuelles.,

Kubernetes: production-Grade Container Orchestration

Nous avons eu tellement de succès avec notre système de gestion de cluster interne Borg que nous avons pris ce que nous avons appris et l’avons mis dans le projet open source Kubernetes. Maintenant, vous et d’autres entreprises pouvez bénéficier de nos décennies d’expérience., Également connu sous le nom de « k8s”, Kubernetes fournit une orchestration automatisée de conteneurs-gestion de vos machines et services pour vous-améliorant votre fiabilité et réduisant le temps et les ressources que vous devez consacrer au DevOps, sans parler du soulagement du stress lié à ces tâches.

Kubernetes facilite tout ce qui est associé au déploiement et à la gestion de votre application. Kubernetes automatise les déploiements et les rollbacks, surveillant la santé de vos services pour éviter les mauvais déploiements avant que les choses ne tournent mal., Il exécute également en continu des vérifications de l’état de vos services, redémarre les conteneurs qui échouent ou sont bloqués, et ne fait la publicité des services aux clients que lorsqu’il a confirmé qu’ils ont démarré avec succès. De plus, Kubernetes mettra automatiquement à l’échelle vos services en fonction de leur utilisation, ce qui garantit que vous n’exécutez que ce dont vous avez besoin, lorsque vous en avez besoin. Comme les conteneurs, Kubernetes vous permet de gérer votre cluster de manière déclarative, ce qui permet de contrôler la version de votre configuration et de la répliquer facilement.,

Kubernetes Features
  • check automated rollouts and roll back
  • check Service health monitoring
  • check automatic scaling of services
  • check Declarative management
  • check Deploy anywhere, including hybrid deployments

peut-être le plus important, Kubernetes est conçu pour être utilisé n’importe où, vous permettant d’orchestrer des déploiements sur site vers des clouds publics vers des déploiements hybrides entre les deux., Cela permet à votre infrastructure d’atteindre vos utilisateurs là où ils se trouvent, à vos applications d’avoir une plus grande disponibilité et à votre entreprise d’équilibrer vos préoccupations en matière de sécurité et de coûts, le tout adapté à vos besoins spécifiques.

Votre Cluster sur Google

bien sûr, Kubernetes fonctionne mieux sur Google Cloud Platform. Google Kubernetes Engine est la solution Kubernetes gérée de premier plan qui vous permet de configurer rapidement et de préparer la production.,

Kubernetes Engine est entièrement géré par les ingénieurs de fiabilité de Google, ceux qui connaissent le mieux les conteneurs, garantissant ainsi que votre cluster est hautement disponible et à jour. Il s’intègre parfaitement à tous les services GCP, tels que la surveillance, les diagnostics et la journalisation de Stackdriver, la gestion des identités et des accès et L’infrastructure réseau de pointe de Google.

caractéristiques du moteur Kubernetes
  • vérifier Kubernetes Open-source géré
  • vérifier 99.,5% SLA et haute disponibilité avec des déploiements multizones intégrés
  • Vérifiez L’intégration transparente des autres services GCP
  • vérifiez le meilleur prix Par performance de L’industrie
  • Vérifiez Flexible& interopérable avec vos clusters sur site ou d’autres fournisseurs de cloud
  • Vérifiez l’infrastructure gérée Google Cloud Platform vous offre un spectre complet pour l’exécution de vos conteneurs., De l’environnement entièrement géré avec Google Cloud Run à la gestion des clusters avec Kubernetes Engine, en passant par l’Infrastructure roll-it-yourself sur Google Compute Engine, vous pouvez trouver la solution idéale pour exécuter des conteneurs sur Google Cloud Platform.
    la solution complète de conteneur

    cela ne s’arrête pas là. Google Cloud Platform fournit les outils dont vous avez besoin pour utiliser les conteneurs, du développement à la production., Cloud Build et Container Registry fournissent le stockage et la gestion des images Docker, soutenus par les normes de sécurité élevées de Google et un réseau de classe mondiale. Le système D’exploitation optimisé pour les conteneurs de Google fournit un système d’exploitation léger et hautement sécurisé fourni avec les runtimes Docker et Kubernetes préinstallés. Toute la gestion de vos conteneurs peut se faire sur GCP.

Articles

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *