Dit artikel introduceert Google Cloud-opties voor organisaties die een interne beoordeling uitvoeren van het verplaatsen van een two-tier webapplicatie naar de cloud ## Applicatietypen Two-tier webapplicaties bestaan ​​uit een webserver waarop een applicatie draait en een database om applicatiegegevens op te slaan. Het draaien van Linux, Apache, MySQL en PHPÃÂÃÂ, gewoonlijk een LAMP-stack genoemd, is een veelvoorkomend voorbeeld van een tweeledige webtoepassing. Variaties op de Linux-distributie, webserversoftware, database of programmeertaal zijn van invloed op de technische details van elke migratie, maar het migratieoverzicht en de stappen zijn consistent ## Migratiefasen Cloudmigraties vinden plaats in de volgende vier fasen Beoordeling Identificeer alle kenmerken van uw workload, maak een lijst van de resources die nodig zijn om uw workload in de cloud uit te voeren en noem alle belangrijke afhankelijkheden en verbindingen met andere workloads. Met behulp van de volledige lijst met kenmerken kunt u vervolgens plannen welke applicaties en workloads moeten worden verplaatst, en in welke volgorde In moderne ondernemingen zijn er veel verschillende soorten applicaties, van klantgerichte apps tot backoffice-apps, van ontwikkeltools tot experimentele applicaties. Het zou riskant en inefficiënt zijn om al deze applicaties tegelijkertijd en op dezelfde manier te verplaatsen Een voorbeeld zou zijn om applicaties te sorteren in de volgende drie brede buckets: - Applicaties die gemakkelijk te verplaatsen zijn. Deze hebben minder afhankelijkheden, zijn nieuwer, zijn intern geschreven en hebben dus geen licentieoverwegingen, en zijn toleranter voor schaalvergroting en ondersteuning van cloudontwerppatronen - Applicaties die moeilijk te verplaatsen zijn. Deze hebben meer afhankelijkheden, zijn minder tolerant ten opzichte van schaalvergroting, zijn moeilijk uit te voeren met cloudservices of hebben complexe licentievereisten - Applicaties die niet kunnen worden verplaatst. Sommige applicaties die mogelijk geen goede kandidaten zijn om te migreren, draaien op gespecialiseerde of oudere hardware, hebben zakelijke of wettelijke vereisten waardoor ze in uw datacenter moeten blijven, of hebben complexe licentievereisten die dat niet doen. Laat ze niet naar de cloud verhuizen Dit zijn slechts enkele voorbeelden van manieren om applicaties te sorteren. Waarschijnlijk hebben uw applicaties nog veel meer doorslaggevende factoren die u kunt gebruiken om een ​​prioriteringsmatrix van alle applicaties te maken. Vanuit die rangschikking kunt u uw eerste applicatie kiezen om te verplaatsen en beginnen met het plannen van uw Google Cloud-basis Fundering Ontwerp en plan specifieke details om de nieuwe cloudomgeving te implementeren. Deze omvatten: - De cloudarchitectuur en het beveiligingsmodel om een ​​infrastructuurbasis te bieden voor uw workloads Netwerkbronnen om veilige en betrouwbare communicatie tussen applicaties mogelijk te maken. Dit vereist een uitgebreide planning voor Identity and Access Management (IAM), Virtual Private Cloud (VPC)-ontwerp en externe toegangsmethoden De end-state technologie en tools waarop uw workloads zullen draaien Accounting voor afhankelijkheidsbeheer, tijdlijnen en methoden voor het verplaatsen van gegevens Migratie Verplaats de gegevens en implementeer services, infrastructuur en code naar uw bestemming. Gebruik automatisering en tooling om deze bewerkingen te ondersteunen optimalisatie Valideer of de beslissingen en aannames die je in de assessment- en funderingsfase hebt gemaakt, overeenkomen met de realiteit na de migratiefase. U identificeert eventuele wijzigingen die u nodig zou kunnen hebben. Overweeg hoe u andere cloud-native opties kunt verkennen, zoals de overstap van Infrastructure as a Service (IaaS) naar Platform as a Service (PaaS), of profiteren van beheerde serviceaanbiedingen. Afhankelijk van het resultaat van de optimalisatiefase, kunt u de cyclus opnieuw beginnen om wijzigingen of aanpassingen door te voeren. Begin altijd terug bij de beoordelingsfase en gebruik uw ervaring om bij elke iteratie efficiënter te worden ## Soorten migraties De drie meest voorkomende migratiestrategieën voor het verplaatsen van applicaties naar de cloud worden beschreven in de volgende secties Heffen en verschuiven Gebruiken *lift and shift* wanneer u applicaties wilt verplaatsen terwijl u van as verandert zo min mogelijk in hoe ze functioneren. Dit werkt het beste voor toepassingen die kan ongewijzigd in de cloud draaien, wanneer het snel verplaatsen van de applicatie een prioriteit, of wanneer het bedrijf weinig zin of behoefte heeft aan verandering. Deze migratie vereist meer werk van infrastructuur- en operationeel personeel ondersteuning van de fundamentele veranderingen in waar de service wordt uitgevoerd, en minder werk van ontwikkelaars aangezien er zeer weinig of geen code hoeft te worden gewijzigd Als bijvoorbeeld beide lagen van uw webtoepassing op VM's worden gehost, kunt u ze ongewijzigd migreren met behulp van Migrate to Virtual Machines. Wanneer die VM's zich in de cloud bevinden, kunt u overwegen om te upgraden naar een meer cloud-native compute-platform voor extra voordelen Verbeteren en verplaatsen Gebruiken *verbeteren en verplaatsen* wanneer u uw applicatie wilt moderniseren in de migratieproces naar de cloud. Dit wordt vaak gebruikt wanneer de applicatie wordt niet ondersteund in de cloud zoals die is, of bij grote updates in software of hardware zijn al gescoped en gepland. Deze migratie vereist infrastructuur, operaties en ontwikkelaars om samen te werken om de functie van de applicatie in de cloud, en laat de applicatie hiervan profiteren cloud-native voordelen zoals meer draagbaarheid, schaalbaarheid en betrouwbaarheid Een andere variant van deze strategie is om in één beweging te verbeteren en te bewegen. Als beide niveaus van uw webapplicatie worden gehost op VM's, kunt u Migrate to Containers gebruiken om die VM's automatisch te verplaatsen en om te zetten in containers die worden uitgevoerd op Google Kubernetes Engine (GKE). Scheur en vervang Gebruiken *rippen en vervangen* wanneer u een nieuwe oplossing in de cloud wilt bouwen, en stop de huidige versie van uw on-premises oplossing. Dit wordt vaak gebruikt wanneer de volgende voorwaarden van toepassing zijn: - De bestaande applicatie is technisch of financieel niet de moeite waard om in de cloud te onderhouden - Het licentiëren van de software in de cloud is onbetaalbaar of onpraktisch - De applicatie voldoet helemaal niet meer aan de zakelijke behoeften Omdat voor rippen en vervangen een applicatie vanaf het begin moet worden herschreven, wordt dit niet behandeld in deze migratiegids ## Beoordelingsfase Voordat een migratie kan beginnen, moet u uw uitgangspunt goed begrijpen Onbeantwoorde vragen vormen een risico voor het slagen van de migratie. Tijd besteden aan de beoordelingsfase draagt ​​bij aan een soepele en rustige migratiefase. Besteed zoveel mogelijk tijd om zoveel mogelijk relevante informatie vast te leggen ter ondersteuning van uw migratie Applicatiesoftwarestack Werk samen met uw infrastructuur-, operatie- en ontwikkelingsteams om de volgende details te identificeren: - Besturingssysteem: exacte distributie, versie, patches, geïnstalleerde pakketten - Webserver: Exact softwarepakket, versienummer, pakketten of andere softwaremodificatie, en alle configuratiebestanden en regels voor webserversoftware - Database: exacte softwarenaam, versie, schema, replicatiestrategie en back-upschema - Runtime omgevingen: Exacte versies, van alle backend en frontend omgevingen Systeemhardwarebronnen Beantwoord voor de webserver- en databaselagen de volgende vragen: - Hoeveel servers draaien er nu? - Wat is de totale toewijzing van CPU's, inclusief generatie, architectuurtype en snelheid? - Wat zijn de RAM en schijfruimte toegewezen aan elke server? Zijn er HDD's of SSD's in gebruik? INVAL? - Wat is het huidige gebruik, het gemiddelde gebruik en het piekgebruik van CPU, RAM en schijfruimte?Kijk naar je gemiddelde en piek in de context van je specifieke zakelijke gebruik.Een bedrijf dat de Olympische Spelen ondersteunt, moet bijvoorbeeld twee jaar terugkijken om te zien hoe de echte piek eruitziet, terwijl andere applicaties een meer constante snelheid kunnen hebben.Kijk naar de tijdlijn voor het meest typische gebruiksscenario voor gemiddeld, en je tijdlijn voor zwaarste gebruik voor piek.Zoek ook naar cyclische gebruikspatronen, zoals weekenden, avonden en werkdagen- Voor de database, welke strategie voor back-up, replicatie of sharding wordt gebruikt en hoe die van invloed zijn op de vereiste schijfruimte en het aantal benodigde servers?NetwerkbronnenAnalyseer de netwerkarchitectuur die ervoor zorgt dat uw toepassing functioneert.Zorg ervoor dat u beschikt over nauwkeurige en actuele logische en fysieke netwerktopologiediagrammen van de infrastructuur die uw toepassing ondersteunt.De diagrammen moeten alle verbindingen, afhankelijkheden en netwerkservices duidelijk weergevenBeantwoord de volgende vragen:- Hoe krijgen klanten toegang tot uw applicatie?Via een webbrowser?Rechtstreeks via een IP-adres?Via een mobiele app?Gebruikt u een virtuele particuliere netwerkverbinding?- Heeft u een lijst met alle toepasselijke SSL/TLS-certificaten en coderingssleutels?- Waar worden alle van toepassing zijnde SSL/TLS-certificaten gehost?Wanneer verlopen ze?Hoe verlengt u certificaten?Hoe kom je aan nieuwe certificaten?Heeft u toegang tot alle huidige certificaten?- Heeft u een lijst met alle van toepassing zijnde domeinen die de toepassing ondersteunen?- Waar worden deze domeinen gehost?Wanneer verlopen ze?Hoe verleng je ze?Heb je toegang tot de accounts die de registratie beheren?- Waar wordt uw DNS gehost en beheerd?- Heb je toegang tot alle systemen en tools die DNS beheren?Wat zijn de huidige CNAME-naar-IP-toewijzingen voor elk domein en heb je een back-up?- Wat zijn uw DNS time-to-live (TTL) instellingen?- Waar passen uw firewalls en andere apparaten voor netwerktoegang en controle in de architectuur?Welke regels zijn er nu om verkeer toe te staan ​​of te weigeren?Wie is verantwoordelijk en wat is de procedure voor het wijzigen of bijwerken van die regels?- Gebruikt u externe netwerkdiensten?Bijvoorbeeld een content delivery network (CDN) provider of een gedistribueerde denial of service (DDoS) beschermingsdienst?## BasisfaseGoogle Cloud biedt veel opties voor het uitvoeren van reken- en databaseworkloads voor meerlaagse applicaties zoals LAMP.In dit gedeelte worden die opties geïntroduceerd en wordt uitgelegd waarom u de ene boven de andere zou kunnen kiezenRekengerichte optiesCompute EngineCompute Engine is een IaaS aanbod waarmee u een virtuele machine (VM) op Google Cloud kunt uitvoeren.U kunt webframeworks, serversoftware, databases en andere software installeren die door uw besturingssysteem wordt ondersteund.Als u uw eigen LAMP-applicatie draait op bare metal, op een VM, in een datacenter of op een andere cloudprovider, kan deze optie uw bestaande server nauw, zo niet exact, repliceren.Deze optie biedt de grootste controle over de configuratie van het besturingssysteem en de instellingen van de webserversoftware.Compute Engine biedt uitgebreide controle over machinetypen, instantiegroepen, opslagopties, load balancers en tal van andere details.Raadpleeg de volledige Compute Engine-documentatie voor meer Quickstarts, Tutorials en meerUw applicatie rechtstreeks naar Compute Engine verplaatsen is de meest voorkomende lift-and-shift-migratie.Zie Best practices voor het migreren van virtuele machines naar Compute EngineCloud Deployment ManagerDe Google Cloud Marketplace ook biedt een eenvoudige LAMP-installatie via Deployment Manager.U kunt een server starten waarop Debian Linux, Apache, MySQL, PHP en phpMyAdmin al zijn geïnstalleerd en geconfigureerd in een standaardconfiguratie.U krijgt binnen enkele minuten een volledig functionerende webserver en inloggegevens voor de MySQL-installatieGoogle Kubernetes EngineGKE is een beheerde, productieklare omgeving voor het implementeren van gecontaineriseerde applicaties.Als u GKE gebruikt, stopt u met het beheren van een besturingssysteem door uw webserversoftware in containers te plaatsen.De Apache- en NGINX-webservers zijn bijvoorbeeld beschikbaar vanuit elke openbare containerrepository.Als u containers gebruikt om werklasten in uw omgeving uit te voeren, is GKE een efficiënte service om een ​​vergelijkbare implementatie- en testworkflow te behouden terwijl u uw LAMP-werklast naar Google Cloud migreert.Als u geen containers gebruikt, overweeg dan om GKE te verkennen voor snellere implementatie en herstel, efficiënter gebruik van bronnen en het niet hoeven beheren van het onderliggende besturingssysteem en VMVoor Raadpleeg de GKE-documentatie voor snelstarts, tutorials, concepten, handleidingen en andere bronnen om u op weg te helpen voor meer informatie over beheer van containerapplicaties op schaal.Uw lokale LAMP-applicatie verplaatsen naar GKE is een verbeter-en-verplaats-migratie, terwijl de overstap van een zelfbeheerde containergebaseerde infrastructuur een li-and-shift-migratie isApp EngineApp Engine is een serverloos platform voor het bouwen van zeer schaalbare applicaties.Afhankelijk van het type applicatie dat u gebruikt, kan App Engine de noodzaak wegnemen om servers, containers of implementaties te beheren, waardoor uw ontwikkelaars zich kunnen concentreren op het schrijven van code en de complexiteit van het beheer van onderliggende infrastructuur wordt verlaagd.Niet alle workloads zijn goede kandidaten om naar App Engine over te stappen, maar degenen die dat wel zijn, zien kosten- en complexiteitsreducties terwijl de schaalsnelheid en de veerkracht van de applicatie onder belasting toenemenApp Engine is er in twee smaken: de standaardomgeving omvat verschillende talen (waaronder PHP voor onze LAMP-applicatie) en de flexibele omgeving zorgt voor meer aanpassing van runtimes, prestaties en infrastructuur.Bekijk de documentatie voor de taal van uw keuze voor meer informatieDatabase-opties Zelfbeheer op Compute Engine U kunt MySQL, PostgreSQL of een andere op SQL gebaseerde database op een Compute Engine-instantie installeren. Dit biedt hetzelfde controleniveau dat u zou hebben bij het uitvoeren van MySQL op een werkstation, op een server in een datacenter of als een VM in een andere cloudprovider. Wanneer u uw database op een VM uitvoert, is het uw verantwoordelijkheid om failover, replicatie, partitionering en hoge beschikbaarheid te configureren, bewaken en onderhouden U kunt de database behandelen als een rekenwerkbelasting, rekening houdend met CPU, RAM en schijfruimte om ervoor te zorgen dat er voldoende bronnen zijn om de toepassing betrouwbaar te laten werken Net als het verplaatsen van de rekenworkload naar Compute Engine, vertegenwoordigt deze aanpak een lift-and-shift-migratie Cloud-SQL Cloud SQL is een volledig beheerde databaseservice die de installatie, configuratie en het onderhoud van uw database overdraagt ​​aan Google Cloud. Het automatiseert back-ups, replicatie, patches en updates, zodat u zich kunt concentreren op uw toepassing. Cloud SQL-databases kunnen worden gebruikt door workloads die worden uitgevoerd op alle rekenservices van Google, waaronder Compute Engine, GKE en App Engine. Tenzij u een diepgaand niveau van controle over uw MySQL-database nodig heeft, is Cloud SQL een eenvoudig in te stellen en volledig uitgeruste optie voor het uitvoeren van een LAMP-workload Cloud SQL kan MySQL en PostgreSQL native uitvoeren en ondersteunen. Als u migreert van een van die databases naar Cloud SQL, is dit een lift-and-shift-migratie. Als u op zoek bent naar nieuwe methoden voor replicatie, back-upstrategie of eenvoud bij het beheer van uw infrastructuur, kan dit een verbeter-en-verplaats-migratie zijn Andere opbergmogelijkheden Cloud Storage is een schaalbare, volledig beheerde, zeer betrouwbare en kostenefficiënte object- of blob-opslag, ideaal voor het opslaan van afbeeldingen, statische activa en andere ongestructureerde gegevens. Cloud Storage kan worden gebruikt om een ​​statische website te hosten, maar is niet ontworpen om actieve database-inhoud op te slaan. Het is ook een ideale locatie om back-up- en noodherstelobjecten en gegevens voor streaming op te slaan Overweeg om Cloud Storage te gebruiken als locatie om back-ups van uw database op te slaan tijdens en na uw migratie Brandweer Firestore is een volledig beheerde, serverloze, cloud-native NoSQL-documentdatabase die het opslaan, synchroniseren en opvragen van gegevens voor uw mobiele, web- en Internet of Things (IoT)-applicaties op wereldschaal vereenvoudigt. De clientbibliotheken bieden live synchronisatie en offline ondersteuning, terwijl de beveiligingsfuncties en integraties met Firebase en Google Cloud het bouwen van echt serverloze apps versnellen. Als uw applicatie inhoud heeft die baat zou kunnen hebben bij een NoSQL-indeling, zoals gebruikersprofielen, productcatalogi of gamestatus, moet u Firestore verkennen in de optimalisatiefase van uw migratie Vuurbasis Firebase is een uitgebreid mobiel ontwikkelingsplatform met opslag- en database-opties. Als uw applicatie een mobiele workload ondersteunt, moet het Firebase-platform worden overwogen in uw optimalisatiefase Cloud spanner Spanner is een wereldwijd gedistribueerde en sterk consistente databaseservice op ondernemingsniveau, gebouwd voor de cloud. Het combineert de voordelen van relationele databasestructuren met de horizontale schaalbaarheid van niet-relationele databases. Als uw applicatie zou kunnen profiteren van verbeterde beheerbaarheid, schaalbaarheid en transacties met sterke consistentie, overweeg dan om uw database te migreren naar Spanner in uw optimalisatiefase Google Cloud biedt vele andere opslagopties om uiteenlopende workloads te ondersteunen ## Migratiefase Nadat u uw assessment heeft voltooid en uw migratie heeft gepland, kunt u beginnen met het verplaatsen van gegevens, services en bronnen naar Google Cloud. Elke toepassing heeft zijn eigen behoeften. In dit gedeelte worden enkele voorbeelden besproken om aan te tonen wat deze fase inhoudt Lift-and-shift: Compute Engine De eerste stap om uw lift-and-shift-migratie naar te starten, is een compatibele meerlaagse service tot stand te brengen in Compute Engine. Hoewel er veel benaderingen zijn; de volgende zijn de drie meest voorkomende: - Handmatige setup. Start een VM met het gewenste besturingssysteem, werk vervolgens handmatig repository's bij, installeer en configureer de software en richt de database en runtime-omgeving handmatig in en configureer deze. Deze aanpak biedt een hoog niveau van controle, maar kost meer tijd, is meer foutgevoelig en is minder reproduceerbaar dan andere methoden - Geautomatiseerd. Gebruik Migreren naar VM's om een ​​stapel VM's (in een opgegeven volgorde) te migreren van on-premises naar automatisch ingerichte en geconfigureerde VM's van de juiste grootte in Compute Engine - Cloud Marktplaats. Start een vooraf geconfigureerde LAMP-stack in uw Google Cloud-project. Zorg ervoor dat u controleert of het geleverde besturingssysteem en de softwareversies werken met uw toepassing. Verken de Cloud Marketplace-documentatie voor meer informatie - Geautomatiseerde implementatie. Maak productieklare VM's met behulp van concepten voor continue integratie/continue implementatie en een verscheidenheid aan tools voor configuratiebeheer (Chef, Puppet, Ansible, Salt), tools voor infrastructuur als code (Deployment Manager, Terraform) en automatiseringsframeworks (Cloud Build). Geautomatiseerde implementatie maakt testbare, herhaalbare en geautomatiseerde methoden mogelijk om VM's en software te implementeren die voldoen aan uw toepassings- en beheerbehoeften Verbeteren en verplaatsen: GKE en Cloud SQLOm over te stappen naar een beheerde containeroplossing, moet u eerst de basis leggen voor uw cluster en beheerde SQL-oplossingEen GKE-cluster startenHet maken van een cluster op GKE en het beheren van dat cluster zijn de eerste stappen.Gebruik de informatie uit uw beoordelings- en basisfasen om uw initiële cluster op de juiste manier te dimensioneren en te configureren en best practices voor beveiligingsversterking toe te passenStartopties voor Cloud SQLGebruik gebruik de database-informatie die is verkregen tijdens uw assessment- en basisfase, maak een nieuwe Cloud SQL-instantie en volg andere handleidingen om de database voor uw applicatie te bouwen.Google biedt een lijst met best practices voor Cloud SQL, handleidingen voor het instellen van hoge beschikbaarheid en andere tutorials voor horizontaal schalen.Ontdek de opties voor het verbinden van Google Kubernetes Engine met Cloud SQL en kies de optie die het meest geschikt is voor uw applicatie en ervaringsniveauServerloos verbeteren en verplaatsen: App Engine en Cloud SQLAls u besluit uw LAMP-applicatie naar een serverloos framework te migreren, moet u uw applicatie mogelijk aanpassen om App Engine te ondersteunen.Elke toepassing is anders en er zijn veel strategieën.Begin met het bekijken van het volgende:- Krijg een overzicht van microservice-architectuur op App Engine- Begrijp hoe je dev, test, QA, staging maakt en een naam geeft , en productieomgevingen met microservices in App Engine- Leer de best practices voor het ontwerpen van API's om te communiceren tussen microservices- Leer de best practices voor microserviceprestatiesAfhankelijk van uw organisatorische en persoonlijke ervaring en bekendheid met het uitvoeren van serverloze code, kan de serverloze strategie voor verbeteren en verplaatsen aanzienlijk meer tijd kosten dan de lift-and-shift-opties.Het beste van serverloos naar u toe brengen kan echter een enorme aanwinst zijn voor uw organisatie## OptimalisatiefaseNadat uw applicatie draait op Google Cloud, je kunt je aannames en beslissingen uit de voorgaande drie fasen valideren.Volledige migraties kunnen lang duren en tijdens het proces kunnen veel details veranderen.Optimalisatie omvat veel gebieden, maar hier zijn een paar algemene categorieënKostenoptimalisatieDe overstap van on-premises naar de cloud verandert de manier waarop u geld uitgeeft aan applicaties , diensten en infrastructuur.U kunt een evaluatie van een verouderde on-premises service uitvoeren en na de migratie ontdekken dat moderne hardware, sneller geheugen en nieuwere CPU-architecturen deze efficiënter uitvoeren.Dit kan betekenen dat uw VM's overprovisioned zijn en geld verspillen.U kunt het gebruik van verwijderbare VM-instanties op Compute Engine onderzoeken.Misschien had u niet zoveel load balancers nodig als u dacht, of slaagde u erin uw database tijdens de verhuizing op te schonen en heeft u nu ruimte die u niet gebruikt.Manieren vinden om geld te besparen en operationele kosten te verlagen in de cloud kan een fulltime baan worden die zichzelf terugbetaalt.Google Cloud heeft een aantal tools voor kostenbeheer die u kunnen helpen bij het begrijpen van cloudprijzenAutomatiseringHet correct automatiseren van uw rekentaken in de cloud kan leiden tot kostenbesparingen en efficiëntievoordelenDeployment Manageris een Google Cloud-product dat is ontworpen om u te helpencloudbronnen te maken en te beheren met behulp van eenvoudige sjablonenScripting metgcloudis een optie als je liever je eigen automatiseringen schrijft.Hoewel automatiseringfinanciële voordelen met zich meebrengt, zijn er nog andere voordelen:- Standaard en herhaalbare processen om foutpercentages te verlagen- Controleerbare tracking voor compliance en governance- Meer inzicht in hoe uw applicatie werkt, hoe deze kapot gaat en hoe u deze kunt reparerenAutomatisering verhoogt de uptime door de afhankelijkheid van waarschuwingen en menselijke reactietijd te verminderen, verlaagt de technische schuld door de workflow te documenteren en zorgt ervoor dat uw technici zich minder hoeven te concentreren op het aanhouden van de lichten en meer op het bouwen van betere producten, tools en services.Deze concepten vormen de kern van Site Reliability Engineering (SRE).Google Cloud biedt een gratis te lezen online boek over Site Reliability Engineering, evenals een SRE-werkboek met praktische voorbeelden en casestudy'sUw infrastructuur en code ontkoppelenU koppelt services vaak los naarmate een applicatie groeit.Door verbonden services uit elkaar te halen en te weten hoe u ze onafhankelijk kunt schalen, verbetert u de beschikbaarheid en betrouwbaarheid van uw applicaties.Dit proces bestaat over het algemeen uit drie stappen:- Implementeer infrastructuur als code (IaC) overal.Door IaC- en configuratiebeheerprocessen te implementeren, verkrijgt u traceerbare, controleerbare en reproduceerbare bouwstenen voor de inrichting en configuratie van uw gehele infrastructuur- Ontkoppel uw bestaande services in microservices.Gebruik berichtgeoriënteerde middleware, zoals Pub/Sub, zodat elke microservice zijn eigen storingsdomein kan zijn- Begin met het migreren van services van Infrastructure as a Service naar Platform as a Service , of functioneert zelfs als een service of serverloos als een service.De reis van "monolithische code en infrastructuur"naar "ontkoppelde microservices die efficiënt werken over het hele IaaS-spectrum"is een waardevol doel dat tijd, moeite en toewijding zal vergenPerformance tuningHet afstemmen van prestaties kan aanzienlijke winst opleveren in systeemgebruik en responstijd.Elke werkbelasting heeft een andere methode voor het afstemmen van prestaties, van softwareconfiguratiebestanden tot het afstemmen van kernelvlaggen.Voor LAMP-toepassingen valt prestatieafstemming gewoonlijk binnen drie categorieën:- Afstemming van de cloud, het netwerk en het besturingssysteem: - 5 stappen naar betere Google Cloud-netwerkprestaties kunnen u helpen begrijpen hoe u het meeste uit Google Cloud Networking kunt halen - TCP-optimalisatie voor netwerkprestaties in Google Cloud kan helpen als u specifieke TCP-latentievereisten heeft - Door persistente schijven en lokale SSD-prestaties te optimaliseren, kunt u meer te weten komen over architectuur voor zware IOPS-workloads - Het verbeteren van de prestaties op Compute Engine kan de prestaties van API-applicaties helpen bij interactie met andere Google Cloud-API's en -services - Tuning van de webserver: - Apache Performance Tuning en NGINX Performance Tuning, of een algemene Google-zoekopdracht voor "uw webserver performance tuning"zal u in de goede richting leiden De database afstemmen: ## Wat is het volgende - LAMP instellen op Compute Engine - Implementeer een LAMP-stack - Meer informatie over het uitvoeren van rekentaken op Compute Engine of GKE Verbind GKE met Cloud SQL Verken Migreren naar VM's en Migreren naar containers Bouw een zeer schaalbare applicatie op een volledig beheerd serverloos platform met App Engine Meer informatie over database-opties op Google Cloud Verken referentie-architecturen, diagrammen, tutorials en best practices over Google Cloud. Neem een ​​kijkje in ons Cloud Architecture Center.