de Google manier

van Gmail naar YouTube om te zoeken, alles bij Google draait in containers. Containerisatie stelt onze ontwikkelingsteams in staat snel te werken, software efficiënt te implementeren en op ongekende schaal te werken. Elke week beginnen we met miljarden containers., We hebben veel geleerd over het uitvoeren van containerized workloads in productie in de afgelopen tien jaar, en we hebben deze kennis gedeeld met de gemeenschap langs de weg: van de vroege dagen van het bijdragen van cgroups aan de Linux kernel, tot het nemen van ontwerpen van onze interne tools en open sourcing ze als het Kubernetes project. We hebben deze expertise verpakt in Google Cloud Platform, zodat ontwikkelaars en bedrijven van elke grootte gemakkelijk kunnen profiteren van de nieuwste containerinnovatie.

Containers 101: Wat zijn containers?,

Containers bieden een logisch verpakkingsmechanisme waarin toepassingen kunnen worden geabstraheerd uit de omgeving waarin ze daadwerkelijk worden uitgevoerd. Door deze ontkoppeling kunnen op containers gebaseerde applicaties eenvoudig en consistent worden ingezet, ongeacht of de doelomgeving een privédatacenter, de openbare cloud of zelfs de persoonlijke laptop van een ontwikkelaar is., Containerization zorgt voor een schone scheiding van zorgen, als ontwikkelaars zich richten op hun applicatielogica en afhankelijkheden, terwijl IT-operations teams zich kunnen concentreren op de implementatie en het beheer zonder zich bezig te houden met applicatiedetails zoals specifieke softwareversies en configuraties die specifiek zijn voor de app.

voor degenen die uit gevirtualiseerde omgevingen komen, worden containers vaak vergeleken met virtuele machines (VM ‘ s)., Je bent misschien al bekend met VMs: een gastbesturingssysteem zoals Linux of Windows draait bovenop een hostbesturingssysteem met gevirtualiseerde toegang tot de onderliggende hardware. Net als virtuele machines, containers kunt u uw toepassing samen te verpakken met bibliotheken en andere afhankelijkheden, het verstrekken van geïsoleerde omgevingen voor het uitvoeren van uw software services. Zoals u hieronder zult zien echter, de overeenkomsten eindigen hier als containers bieden een veel meer lichtgewicht eenheid voor ontwikkelaars en it Ops teams om mee te werken, het dragen van een groot aantal voordelen.,

virtuele Machines bevatten de volgende eenheden, bovenop elkaar gestapeld voor visualisatie: App, Bin/Libs, Guest OS, Hypervisor, host-besturingssysteem, Infrastructuur. Containers bevatten de volgende eenheden, gestapeld op elkaar voor visualisatie: App, Bin / Libs, Container Runtime, host-besturingssysteem, Infrastructuur.

waarom Containers?,

in plaats van de hardware stack te virtualiseren zoals bij de benadering van virtuele machines, virtualiseren containers op het niveau van het besturingssysteem, waarbij meerdere containers direct boven op de OS kernel draaien. Dit betekent dat containers veel lichter zijn: ze delen de OS-kernel, starten veel sneller en gebruiken een fractie van het geheugen in vergelijking met het opstarten van een volledig besturingssysteem.

Er zijn veel containerformaten beschikbaar. Docker is een populaire, open-source container formaat dat wordt ondersteund op Google Cloud Platform en door Google Kubernetes Engine.

waarom Sandbox toch?,

Containers silotoepassingen van elkaar tenzij u ze expliciet verbindt. Dat betekent dat u zich geen zorgen hoeft te maken over conflicterende afhankelijkheden of broncontent — u stelt expliciete bronlimieten in voor elke service. Belangrijk is dat het een extra beveiligingslaag is, omdat uw toepassingen niet direct op het hostbesturingssysteem draaien.

consistente omgeving

Containers geven ontwikkelaars de mogelijkheid om voorspelbare omgevingen te creëren die geïsoleerd zijn van andere toepassingen., Containers kunnen ook software afhankelijkheden die nodig zijn door de toepassing, zoals specifieke versies van de programmeertaal runtimes en andere software bibliotheken bevatten. Vanuit het perspectief van de ontwikkelaar, Dit alles is gegarandeerd consistent te zijn, ongeacht waar de applicatie uiteindelijk wordt ingezet. Dit alles vertaalt zich naar productiviteit: ontwikkelaars en it Ops-teams besteden minder tijd aan het debuggen en diagnosticeren van verschillen in omgevingen, en meer tijd voor het verzenden van nieuwe functionaliteit voor gebruikers., En het betekent minder bugs omdat ontwikkelaars nu aannames kunnen maken in dev-en testomgevingen waar ze zeker van kunnen zijn dat ze waar zullen zijn in de productie.

Run Anywhere

Containers kunnen vrijwel overal draaien, wat de ontwikkeling en implementatie aanzienlijk vergemakkelijkt: op Linux, Windows en Mac-besturingssystemen; op virtuele machines of bare metal; op een ontwikkelaarsmachine of in datacenters op locatie; en natuurlijk in de public cloud. De wijdverspreide populariteit van het Docker-afbeeldingsformaat voor containers verder helpt met draagbaarheid., Waar u uw software ook wilt draaien, U kunt containers gebruiken.

isolatie

Containers virtualiseren CPU, geheugen, opslag en netwerkbronnen op OS-niveau, waardoor ontwikkelaars een sandboxed weergave van het OS krijgen die logisch geïsoleerd is van andere toepassingen.,ironment

check check Toepassing Sandboxing check check Klein Formaat op Schijf check Lage Overhead check
Van Code aan Toepassingen

Containers waarmee u uw toepassing en de afhankelijkheden samen in een beknopte manifest dat kan worden uitvoering gecontroleerd, zorgt voor gemakkelijke replicatie van uw toepassing in developers in je team en computers in de cluster.,

net zoals softwarebibliotheken stukjes code samenvoegen, waardoor ontwikkelaars logica zoals gebruikersauthenticatie en sessiebeheer kunnen abstraheren, kunnen containers uw toepassing als geheel verpakken, waarbij het besturingssysteem, de machine en zelfs de code zelf worden abstraheerd. In combinatie met een service-based architectuur, wordt de gehele eenheid die ontwikkelaars wordt gevraagd om te redeneren over veel kleiner, wat leidt tot een grotere flexibiliteit en productiviteit. Dit alles vergemakkelijkt de ontwikkeling, het testen, de implementatie en het algehele beheer van uw applicaties.,

monolithische naar Service – gebaseerde architectuur

Containers werken het beste voor service – gebaseerde architecturen. In tegenstelling tot monolithische architecturen, waar elk stuk van de applicatie is verweven — van IO tot gegevensverwerking tot rendering — op service gebaseerde architecturen scheiden deze in afzonderlijke componenten. Scheiding en verdeling van de arbeid kunt uw diensten blijven draaien, zelfs als anderen falen, het houden van uw toepassing als geheel betrouwbaarder.,

Componentization stelt u ook in staat om sneller en betrouwbaarder te ontwikkelen; kleinere codebases zijn gemakkelijker te onderhouden en omdat de services gescheiden zijn, is het gemakkelijk om specifieke ingangen voor uitgangen te testen.

Containers zijn perfect voor service-gebaseerde toepassingen omdat u elke container kunt controleren, elke service kunt beperken tot specifieke bronnen en ze onafhankelijk van elkaar kunt starten en stoppen.

en omdat containers de code weg abstraheren, staan containers u toe om afzonderlijke diensten als zwarte vakken te behandelen, waardoor de ruimte die een ontwikkelaar nodig heeft verder wordt verminderd., Wanneer ontwikkelaars werken aan services die afhankelijk zijn van een andere, kunnen ze gemakkelijk een container voor die specifieke service opstarten zonder tijd te verspillen met het instellen van de juiste omgeving en het oplossen van problemen vooraf.

ontdek de drie beste manieren waarop u uw containers op Google Cloud kunt draaien!

Google Kubernetes Engine voor een container orkestratie oplossing, Cloud Run voor een volledig serverloze aanpak en Compute Engine om gewoon virtuele Machines te gebruiken.,

Kubernetes: productie-Grade Container Orchestration

We hebben zoveel succes gehad met ons interne cluster management systeem Borg dat we hebben genomen wat we hebben geleerd en het in het open source project Kubernetes. Nu kunnen u en andere bedrijven profiteren van onze tientallen jaren ervaring., Ook bekend als “k8s,” Kubernetes biedt geautomatiseerde container orkestratie-beheer van uw machines en diensten voor u-het verbeteren van uw betrouwbaarheid en het verminderen van de tijd en middelen die u nodig hebt om te besteden aan DevOps, niet te vergeten verlichting van de stress verbonden aan deze taken noemen.

Kubernetes maakt alles wat is gekoppeld aan het implementeren en beheren van uw toepassing eenvoudiger. Kubernetes automatiseert roll-outs en rollbacks, het toezicht op de gezondheid van uw diensten om slechte roll-outs te voorkomen voordat dingen slecht gaan., Het voert ook continu gezondheidscontroles uit op basis van uw services, herstart containers die falen of zijn gestopt, en alleen advertentieservices aan klanten wanneer het heeft bevestigd dat ze met succes zijn gestart. Bovendien, Kubernetes zal automatisch schaal uw diensten omhoog of omlaag op basis van het gebruik, ervoor te zorgen dat je alleen draait wat je nodig hebt, wanneer je het nodig hebt. Net als containers, Kubernetes kunt u declaratief beheren van uw cluster, waardoor uw setup worden Versie Gecontroleerd en gemakkelijk gerepliceerd.,

Kubernetes Features
  • geautomatiseerde roll-outs en roll-backs controleren
  • Servicestatus controleren
  • automatisch schalen van services controleren
  • declaratief Beheer controleren
  • overal Deploy controleren, inclusief hybride implementaties

misschien wel het belangrijkste, Kubernetes is gebouwd om overal te worden gebruikt, zodat u on-site implementaties kunt orkestreren naar openbare clouds naar hybride implementaties tussendoor., Dit stelt uw infrastructuur in staat om uw gebruikers te bereiken waar ze zich bevinden, uw applicaties om een hogere beschikbaarheid te hebben en uw bedrijf om uw veiligheid en kosten te balanceren, allemaal afgestemd op uw specifieke behoeften.

uw Cluster op Google

natuurlijk draait Kubernetes het beste op Google Cloud Platform. Google Kubernetes Engine is de premier beheerde Kubernetes oplossing die krijgt u snel instellen en productie-klaar.,

Kubernetes Engine wordt volledig beheerd door Google reliability engineers, degenen die containers het beste kennen, zodat uw cluster zeer beschikbaar en up-to-date is. Het integreert naadloos met alle GCP-services, zoals Stackdriver monitoring, diagnostiek en logging; Identiteits-en toegangsbeheer; en Google ‘ s best-in-class netwerkinfrastructuur.

Kubernetes Engine Features
  • Controleer beheerde open-source Kubernetes
  • check 99.,5% SLA, en hoge beschikbaarheid met geïntegreerde multi-zone implementaties
  • Controleer naadloze integratie van andere GCP-services
  • controleer toonaangevende prijs per prestatie
  • controleer flexibele & interoperabel met uw on-premise clusters of andere cloudproviders
  • controleer Google-grade managed-infrastructure

maar we geven u graag opties. Google Cloud Platform biedt u een volledig spectrum voor het uitvoeren van uw containers., Van volledig beheerde omgeving met Google Cloud Run tot Clusterbeheer met Kubernetes Engine tot roll-it-yourself infrastructuur op wereldklasse prijs-naar-prestatie Google Compute Engine, u kunt uw ideale oplossing vinden voor het uitvoeren van containers op Google Cloud Platform.

De complete Container oplossing

Het stopt hier niet. Google Cloud Platform biedt de tools die u nodig hebt om containers te gebruiken van ontwikkeling tot productie., Cloud Build en Container Registry bieden Docker image storage en management, ondersteund door zowel Google ‘ s hoge beveiligingsstandaarden en wereldklasse netwerk. Google ‘ s Container-geoptimaliseerde OS biedt een lichtgewicht, zeer veilig besturingssysteem dat wordt geleverd met de Docker en Kubernetes runtimes vooraf geïnstalleerd. Al uw containerbeheer kan plaatsvinden op GCP.

Articles

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *