Dit document helpt u bij het plannen, ontwerpen en implementeren van de migratie van uw containers naar Google Cloud. Als het verkeerd wordt gedaan, kan het verplaatsen van uw workloads van de ene omgeving naar de andere een uitdagende taak zijn, dus plan en voer uw migratie zorgvuldig uit Dit document maakt deel uit van een meerdelige serie over migreren naar Google Cloud. Als u geïnteresseerd bent in een overzicht van de serie, raadpleegt u Migratie naar Google Cloud: uw migratiepad kiezen Dit document maakt deel uit van een serie waarin het migreren van containers naar Google Cloud wordt besproken: - Containers migreren naar Google Cloud: Aan de slag (dit document) - Containers migreren naar Google Cloud: Kubernetes migreren naar Google Kubernetes Engine (GKE) - Containers migreren naar Google Cloud: Migreren naar een nieuwe GKE-omgeving - Containers migreren naar Google Cloud: migreren naar een multi-cluster GKE-omgeving met Multi Cluster Service Discovery en Multi Cluster Ingress - Containers migreren naar Google Cloud: Migreren van OpenShift naar Anthos Dit document is nuttig voor een breed scala aan scenario's, of u nu begint met containers die on-premises draaien, in een privé-hostingomgeving of bij een andere cloudprovider, en of u nu het migreren van uw volledige werklast naar Google Cloud of het onderhouden van een deel van uw werklast on-premises of in een private hostingomgeving Dit document is ook handig als u de mogelijkheid om te migreren evalueert en wilt onderzoeken hoe dit eruit zou kunnen zien en welke opties u heeft. Er zijn verschillende omgevingen voor een container om workloads uit te voeren die beschikbaar zijn op Google Cloud. Het kiezen van de ene optie boven de andere hangt af van verschillende factoren, en geen enkele optie is inherent beter dan de andere. Elke omgeving heeft zijn eigen sterke en zwakke punten. Ga als volgt te werk om een ​​omgeving te kiezen: - Stel een reeks criteria op om de containeromgevingen te evalueren om werklasten uit te voeren - Beoordeel elke omgeving aan de hand van de evaluatiecriteria - Kies de omgeving die het beste bij u past U hoeft niet voor al uw workloads dezelfde omgeving te kiezen. Als u verschillende soorten of klassen workloads hebt, kunt u voor elk van die typen of klassen verschillende omgevingen kiezen ## Ontwerpen van de migratie naar Google Cloud Om uw containers van uw bronomgeving naar Google Cloud te migreren, raden we u aan het raamwerk te volgen dat wordt beschreven in de serie Migratie naar Google Cloud. Het volgende diagram illustreert het pad van uw migratietraject Het raamwerk geïllustreerd in het voorgaande diagram heeft vier fasen: Schatten. In deze fase beoordeelt u uw bronomgeving, beoordeelt u de workloads die u wilt migreren naar Google Cloud en beoordeelt u welke omgeving elke workload kan ondersteunen. Plan. In deze fase creëert u de basisinfrastructuur voor uw workloads, zoals het inrichten van de resourcehiërarchie en het instellen van netwerktoegang. Aanwenden. In deze fase migreer je de containers van de bronomgeving naar Google Cloud. Optimaliseren. In deze fase begint u te profiteren van de cloudtechnologieën en -mogelijkheden ## Criteria vaststellen om de containeromgevingen te evalueren om werklasten uit te voeren Om de criteria vast te stellen voor het evalueren van de opties voor de containeromgeving om workloads uit te voeren, moet u rekening houden met de belangrijkste functies die u in deze omgevingen nodig hebt. Om informatie te verzamelen over welke functies u het meest nodig heeft, beoordeelt u uw werklast. Zie Migratie naar Google Cloud: uw workloads beoordelen en ontdekken voor meer informatie over het beoordelen van uw workloads. Deze evaluatiecriteria en de volgorde waarin ze worden vermeld, is een voorbeeld. U dient uw werklast te beoordelen om een ​​lijst samen te stellen met de criteria die belangrijk zijn voor u en uw werklast, en deze te ordenen op belangrijkheid. Na het beoordelen van uw werklast kunt u bijvoorbeeld de volgende evaluatiecriteria overwegen, gerangschikt in volgorde van belangrijkheid: Uitvoering. Voegt de omgeving overhead toe die de prestaties van uw workloads kan verminderen? Schaalbaarheid. Welke schaalbaarheidsfuncties biedt de omgeving? Zijn ze voldoende voor de schaalbaarheidsvereisten van uw workloads, zowel wat betreft reactietijden als schaalbaarheidslogica? Mate van controle en flexibiliteit. Hoeveel controle wil je over de omgeving? Kunt u de omgeving aanpassen aan uw behoeften? Betrouwbaarheid. Welke garanties biedt het milieu? Zijn ze voldoende voor uw werklast? Is het betrouwbaar genoeg om effectieve strategieën voor hoge beschikbaarheid en noodherstel te implementeren? Beheerslast. Hoeveel moeite moet u doen om het milieu te beheren? Moet u uw teams trainen om de nodige vaardigheden te verwerven of kunt u hun bestaande kennis gebruiken? Vereisten om de service te gebruiken. Zijn er vereisten, technische contracten of interfaces waaraan uw workloads moeten voldoen? Moet u veel moeite doen om uw werklast compatibel te maken met de omgeving? Data persistentie. Ondersteunt de containeromgeving om workloads uit te voeren gegevenspersistentie? Is deze persistentie compatibel met de vereisten van uw workloads, inclusief prestaties, betrouwbaarheid en wettelijke voorschriften? Prijsmodel en kosten. Kun je het milieu op een kosteneffectieve manier gebruiken? Krijgt u een goed rendement op uw investering door over te stappen naar een containeromgeving om workloads uit te voeren? Toekomstbestendig. Biedt de omgeving upgradepaden die u kunt gebruiken om uw workloads te ontwikkelen? Integratie met andere diensten. Kan de omgeving worden geïntegreerd met andere Google Cloud-services en met services van andere cloudproviders? Vergrendelen. Sluit de omgeving u op aan bepaalde technologieën, paradigma's of interfaces? Belemmert de omgeving de overdraagbaarheid van uw workloads? Veiligheid. Voldoet de omgeving aan uw beveiligings- en privacyeisen? ## De containeromgeving beoordelen om werklasten uit te voeren Op Google Cloud heeft u verschillende opties voor het uitvoeren van containers. Om de beste optie voor uw werkbelasting te kiezen, beoordeelt u deze eerst aan de hand van de evaluatiecriteria die u eerder hebt vastgesteld. Voor elke omgeving kent u deze een score toe op elk evaluatiecriterium op basis van een willekeurige, geordende schaal. U kunt bijvoorbeeld elke omgeving een score toekennen op een schaal van 1 tot 10 voor elk evaluatiecriterium Om containers op Google Cloud uit te voeren, raden we de volgende opties aan, die worden gepresenteerd in oplopende volgorde van hoeveel controle u heeft over de onderliggende infrastructuur: - Cloud Run en Cloud Run voor Anthos - Google Kubernetes Engine (GKE) en Anthos-clusters - Compute-engine Mogelijk kunt u scores toekennen aan sommige criteria door de productdocumentatie te lezen. U kunt Cloud Run bijvoorbeeld al evalueren op de prestaties, schaalbaarheid, mate van controle en flexibiliteit, integratie met andere diensten. Als u echter scores wilt toekennen aan andere criteria, moet u mogelijk meer diepgaande benchmarks en simulaties ontwerpen en uitvoeren. Het kan bijvoorbeeld nodig zijn om de prestaties van verschillende containerruntimes te benchmarken om te beoordelen of deze aanzienlijke overhead toevoegen aan uw workloads Cloud Run en Cloud Run voor Anthos Cloud Run is een beheerd platform voor het uitvoeren van gecontaineriseerde, stateless workloads die zijn gebouwd op Knative. Door Cloud Run beheerde gecontaineriseerde workloads kunnen op het volgende worden uitgevoerd: - Als u Cloud Run kiest, worden uw productietaken uitgevoerd op door Google beheerde infrastructuur - Als u Cloud Run for Anthos kiest, worden uw productietaken uitgevoerd op GKE, dit kan op Google Cloud, op locatie of op andere cloudproviders zijn Gebruik de volgende lijst om Cloud Run en Cloud Run for Anthos te evalueren op basis van de criteria die u eerder hebt opgesteld: Uitvoering.Cloud Run en Cloud Run for Anthos gebruiken Docker-containers, die vergelijkbare prestaties hebben als niet-gecontaineriseerde workloads, dus de containers voegen geen aanzienlijke prestatieoverhead toe.Schaalbaarheid.Cloud Run schaalt automatisch de instanties van uw workloads en laat u uw applicatie opschalen naar nul instanties.Deze mogelijkheid is handig als uw workloads niet de hele tijd instances nodig hebben.Om de opstarttijd van de instantie te minimaliseren, optimaliseert u de initialisatie van uw werklast.Mate van controle en flexibiliteit.Cloud Run en Cloud Run for Anthos zijn geschikt voor workloads die volledige controle vereisen over de containeromgeving waarin uw workloads worden uitgevoerd, maar u hoeft die omgeving niet aan te passen.Betrouwbaarheid.Cloud Run en Cloud Run voor Anthos kunnen worden geïntegreerd met Cloud Monitoring, Cloud Logging, Cloud Audit Logs en Error Reporting, zodat u dekking heeft voor prestatiebewaking en toegang tot container-, verzoek-, fout- en auditlogboeken.Beheerslast.Cloud Run en Cloud Run voor Anthos beheren de omgeving zodat u zich kunt concentreren op uw workloads, in plaats van moeite te besteden aan het inrichten, configureren en onderhouden van de onderliggende infrastructuur.Vereisten om de service te gebruiken.Uw workloads moeten voldoen aan een containerruntimecontract, dus als u geen extra moeite kunt doen om ze compatibel te maken met Cloud Run, raden we u aan een van de andere opties te kiezen.Zie Bekende problemen met Cloud Run voor meer informatie over Cloud Run-beperkingen.Gegevenspersistentie.Cloud Run en Cloud Run for Anthos zijn ontworpen om stateless containers uit te voeren.Als uw werkbelasting vereisten voor gegevenspersistentie heeft, moet u een ander systeem voor gegevenspersistentie inrichten en configureren.Als u een container-runtime-omgeving nodig heeft voor stateful workloads, raden we u aan een andere optie te kiezen.Prijsmodel en kosten.Cloud Run brengt kosten in rekening voor de computerresources die uw workloads gebruiken.Cloud Run for Anthos is inbegrepen bij het Anthos-abonnement.Toekomstbestendig.Met Cloud Run kunt u rollbacks, geleidelijke implementaties en verkeersmigratie uitvoeren.U kunt deze functies gebruiken voor uw implementatiepijplijnen.Integratie met andere diensten.Cloud Run kan verbinding maken met een Virtual Private Cloud (VPC)-netwerk dat toegang geeft tot Compute Engine VM's en andere resources met interne IP-adressen.Vergrendelen.Cloud Run is gebouwd op Knative.Als u moeite doet om uw workloads compatibel te maken met Knative, kunt u uw gecontaineriseerde workloads uitvoeren in Cloud Run-, GKE-, Anthos-clusters op VMware of een andere Knative-compatibele runtime-omgeving zonder verdere aanpassingen.Beveiliging.Workloads die op Cloud Run worden uitgevoerd, worden in een sandbox geplaatst met behulp van gVisor.Cloud Run for Anthos gebruikt geen container-sandbox, maar gebruikt de standaard Kubernetes-containerisolatiefuncties.U kunt uw Cloud Run-resources beschermen door de toegang te beheren met Identity and Access Management (IAM) en een service-identiteit te configurerenZie voor meer informatie Een Cloud Run-platform kiezenGKE- en Anthos-clustersGKE- en Anthos-clusters zijn door Google beheerde services die een containeromgeving bieden om productietaken uit te voeren.Zowel GKE- als Anthos-clusters voeren uw gecontaineriseerde workloads uit in Kubernetes-clusters.Met GKE draaien clusters op Google Cloud en met Anthos-clusters kunnen clusters draaien op Google Cloud, op locatie of in andere openbare cloudomgevingenGebruik de volgende lijst om evalueer GKE- en Anthos-clusters op basis van de criteria die u eerder heeft opgesteld:Prestaties.GKE- en Anthos-clusters gebruiken Docker-containers, die vergelijkbare prestaties leveren als niet-gecontaineriseerde workloads, zodat de containers geen aanzienlijke prestatieoverhead toevoegen.Schaalbaarheid.GKE- en Anthos-clusters bevatten nauwkeurig afgestemde schalingslogica die u kunt aanpassen aan uw eigen behoeften.U kunt uw workloads en uw GKE- en Anthos-clusters zowel verticaal als horizontaal schalen.Als u geen complexe schaallogica nodig hebt, raden we u aan een andere optie te kiezen, omdat u anders mogelijk veel moeite moet doen om effectieve schaalbaarheidsmechanismen te configureren.Mate van controle en flexibiliteit.U kunt GKE- en Anthos-clusters naar wens inrichten en configureren.U kunt elk aspect van de clusterknooppunten personaliseren, inclusief opslag, netwerken en beveiliging.Google beheert het besturingsvlak voor u, dus als u de configuratie van het besturingsvlak moet aanpassen, raden we u aan een andere optie te kiezen.Betrouwbaarheid.GKE- en Anthos-clusters kunnen worden geïntegreerd met Cloud Monitoring en Cloud Logging, zodat u volledige dekking heeft voor prestatiebewaking en toegang tot container-, verzoek-, fout- en auditlogboeken.U kunt de betrouwbaarheid van uw omgeving vergroten met regionale GKE-clusters en Anthos-clusters met hoge beschikbaarheid.Beheerslast.Met GKE hoeft u het controlevlak van uw clusters niet te beheren, en met Anthos-clusters kunt u alle Kubernetes-clusters beheren met dezelfde toolchain en processen.Deze functie vermindert aanzienlijk de inspanning die u moet besteden aan het beheer van de omgeving, maar u moet een deel van de onderliggende infrastructuur beheren.Met GKE kunt u bijvoorbeeld clusterknooppunten beheren.De meeste beheeractiviteiten kunnen worden geautomatiseerd, maar het is nog steeds iets waarmee u rekening moet houden bij het plannen van de inspanning die nodig is om de omgeving te onderhouden.Als u een volledig beheerde containeromgeving nodig heeft om workloads uit te voeren, raden we u aan een andere optie te kiezen.Vereisten om de service te gebruiken.Om uw workloads op GKE- of Anthos-clusters te implementeren, moet u ze in containers plaatsen.Gegevenspersistentie.GKE en Anthos kunnen stateful applicaties en permanente schijfopslag uitvoeren.Prijsmodel en kosten.GKE brengt clusterbeheerkosten in rekening voor de resources die uw clusterknooppunten gebruiken.Anthos-clusters zijn inbegrepen in het Anthos-abonnement.Toekomstbestendig.GKE- en Anthos-clusters hebben beide de functies om complexe implementatieprocessen aan te kunnen.Integratie met andere diensten.De productietaken die op GKE- en Anthos-clusters zijn geïmplementeerd, kunnen toegang krijgen tot andere Google Cloud-services als u de benodigde connectiviteits-, authenticatie- en autorisatiesystemen instelt.Vergrendelen.Nadat u uw workloads hebt gecontaineriseerd om ze uit te voeren op GKE- of Anthos-clusters, kunt u ze met kleine aanpassingen naar andere omgevingen porteren.Kubernetes is een draagbaar platform en u zit niet vast aan een leveranciersomgeving.Beveiliging.GKE biedt vele manieren om uw knooppunten, besturingsvlak en workloads te beschermen:Zie GKE-beveiligingsoverzicht voor meer informatieVoor meer informatie over migreren naar GKE en Anthos-clusters, zie Containers migreren naar Google Cloud: Kubernetes migreren naar GKE en Containers migreren naar Google Cloud: migreren van OpenShift naar AnthosCompute EngineMet Compute Engine kunt u VM's uitvoeren op Google-infrastructuurHoewel het mogelijk is om containers uit te voeren op Compute Engine VM's, raden we u aan een van de andere containeromgevingen te kiezen om productietaken uit te voeren die in dit document worden beschreven.De moeite die u moet besteden om een ​​zelfbeheerde omgeving op Compute Engine te laten werken, weegt veel zwaarder dan de voordelen die u ervoor terugkrijgtAls u er echter voor kiest om containers op Compute Engine VM's, gebruik de volgende lijst om Compute Engine te evalueren op basis van de criteria die u eerder heeft opgesteld: Uitvoering. Compute Engine VM's hebben geen vooraf geïnstalleerde containerruntime, dus kies degene die het beste aan uw vereisten voldoet. Schaalbaarheid. Compute Engine gebruikt beheerde instantiegroepen om VM-instanties automatisch te schalen. Wanneer u de mechanismen voor automatisch schalen van een beheerde instantiegroep configureert, definieert u de signalen voor automatisch schalen die Compute Engine gebruikt om de beheerde instantiegroep in of uit te schalen. Mate van controle en flexibiliteit. U kunt elk aspect van de inrichting en configuratie van elke Compute Engine-VM aanpassen, zolang u zich houdt aan de Compute Engine-resourcequota. Betrouwbaarheid. U kunt Compute Engine VM's monitoren met Cloud Monitoring, Cloud Logging en Cloud Audit Logs, zodat u volledige dekking heeft voor prestatiemonitoring en logboeken. Compute Engine maakt ook gebruik van beheerde instantiegroepen, statuscontrole van instanties en automatisch herstel. Beheerslast. Reken-VM's zijn zelfbeheerd, dus plan een aanzienlijke operationele inspanning om de omgeving effectief te beheren. Vereisten om de service te gebruiken. Zolang uw productietaken worden uitgevoerd op een van de ondersteunde besturingssystemen, kunt u ze uitvoeren op Compute Engine VM's. Zie Bekende problemen met Compute Engine voor meer informatie over Compute Engine-beperkingen. Data persistentie. Compute Engine heeft verschillende opties voor gegevenspersistentie, zoals zonale persistente schijven, regionale persistente schijven en lokale solid-state schijven. Prijsmodel en kosten. Compute Engine brengt kosten in rekening voor de resources die uw productietaken nodig hebben. Toekomstbestendig. U kunt elke tool voor integratie, implementatie, provisioning of configuratiebeheer installeren op Compute Engine VM's voor uw implementatieprocessen. Integratie met andere diensten. De workloads die op Compute Engine zijn geïmplementeerd, kunnen toegang krijgen tot andere Google Cloud-services als u de benodigde connectiviteits-, authenticatie- en autorisatiesystemen instelt. Vergrendelen. Door Compute Engine te gebruiken, zit u niet vast aan een eigen product of service. U kunt uw eigen besturingssysteemimages bouwen, zodat uw inrichtings- en configuratieprocessen geautomatiseerd en draagbaar zijn. Veiligheid. Compute Engine helpt de beveiliging van uw omgeving te verbeteren: - Mechanismen voor toegangscontrole - Afgeschermde VM's om de integriteit van uw VM's te verifiëren - Nodes voor één huurder hebben exclusieve toegang tot fysieke nodes Zie Google Cloud beveiligen voor meer informatie ## De juiste optie kiezen voor uw doelomgeving In de vorige paragrafen hebt u een waarde toegekend aan elk criterium voor elk product. Om de totale score van elke containeromgeving voor het uitvoeren van workloads te berekenen, voegt u alle beoordelingen voor die omgeving toe op basis van de criteria. Als een omgeving bijvoorbeeld 10 scoort op het prestatiecriterium en 6 op het schaalbaarheidscriterium, is de totale score van die omgeving 16 U kunt ook verschillende gewichten toekennen aan de score voor elk criterium, zodat u het belang kunt weergeven dat elk criterium heeft voor uw evaluatie. Als prestatie bijvoorbeeld belangrijker is dan schaalbaarheid in uw evaluatie, kunt u vermenigvuldigers definiëren om dat weer te geven: een vermenigvuldiger van 1,0 voor prestaties en een vermenigvuldiger van 0,7 voor schaalbaarheid. Deze vermenigvuldigers gebruik je vervolgens om de totaalscore van een optie te berekenen Nadat u de totale score hebt berekend van elke omgeving die u hebt geëvalueerd, ordent u de omgevingen op basis van hun totale score, in aflopende volgorde. Kies vervolgens de optie met de hoogste score als uw favoriete omgeving Er zijn meerdere manieren om deze gegevens weer te geven. U kunt bijvoorbeeld de resultaten visualiseren met een diagram dat geschikt is om multivariate gegevens weer te geven, zoals een radardiagram. ## Wat is het volgende - Migratie naar Google Cloud: Aan de slag - Containers migreren naar Google Cloud: Kubernetes migreren naar GKE - Containers migreren naar Google Cloud: Migreren van OpenShift naar Anthos - Ontdek referentie-architecturen, diagrammen, tutorials en best practices over Google Cloud. Neem een ​​kijkje in ons Cloud Architecture Center.