Ipinakikilala ng artikulong ito ang mga opsyon sa Google Cloud sa mga organisasyong nagsasagawa ng panloob na pagtatasa ng paglipat ng two-tier na web application sa cloud ## Mga uri ng application Ang mga two-tier na web application ay binubuo ng isang web server na nagpapatakbo ng isang application, at isang database upang mag-imbak ng data ng application. Ang pagpapatakbo ng Linux, Apache, MySQL, at PHPâÃÂàna karaniwang tinutukoy bilang LAMP stack, ay isang karaniwang halimbawa ng two-tier na web application. Ang mga pagkakaiba-iba sa pamamahagi ng Linux, software ng web server, database, o programming language ay nakakaapekto sa mga teknikal na detalye ng anumang paglipat, ngunit ang pangkalahatang-ideya at mga hakbang sa paglilipat ay pare-pareho ## Mga yugto ng paglipat Nagaganap ang mga cloud migration sa sumusunod na apat na yugto Pagtatasa Tukuyin ang lahat ng katangian ng iyong workload, ilista ang mga mapagkukunang kailangan upang patakbuhin ang iyong workload sa cloud, at tawagan ang lahat ng pangunahing dependency at koneksyon sa iba pang workload. Gamit ang kumpletong listahan ng mga katangian, maaari ka nang magsimulang magplano kung anong mga application at workload ang dapat ilipat, at sa anong pagkakasunud-sunod Sa mga modernong negosyo, maraming iba't ibang uri ng mga application, mula sa mga customer-facing app, sa back office app, sa mga tool ng developer, hanggang sa mga pang-eksperimentong application. Ang paglipat ng lahat ng mga application na ito sa parehong oras at sa parehong paraan ay magiging mapanganib at hindi epektibo Ang isang halimbawa ay ang pag-uri-uriin ang mga application sa sumusunod na tatlong malawak na bucket: - Mga application na madaling ilipat. Ang mga ito ay may mas kaunting mga dependency, mas bago, nakasulat sa loob kaya walang pagsasaalang-alang sa paglilisensya, at mas mapagparaya sa pag-scale at pagsuporta sa mga pattern ng disenyo ng ulap - Mga application na mahirap ilipat. Mas maraming dependency ang mga ito, hindi gaanong mapagparaya sa pag-scale, mahirap patakbuhin sa mga serbisyo ng cloud, o may mga kumplikadong kinakailangan sa lisensya - Mga application na hindi maaaring ilipat. Ang ilang application na maaaring hindi mahusay na mga kandidato upang lumipat ay tumatakbo sa espesyal o mas lumang hardware, may mga kinakailangan sa negosyo o regulasyon na kinakailangan para sa kanila na manatili sa iyong data center, o may mga kumplikadong kinakailangan sa lisensya na wala. Âwag silang payagan na lumipat sa cloud Ito ay ilan lamang sa mga halimbawa ng mga paraan upang pagbukud-bukurin ang mga application. Malamang na ang iyong mga application ay may mas maraming mga salik sa pagpapasya na maaari mong gamitin upang lumikha ng isang prioritization matrix ng lahat ng mga application. Mula sa ranggo na iyon, maaari mong piliin ang iyong unang application na lilipat, at simulan ang pagpaplano ng iyong pundasyon ng Google Cloud Pundasyon Arkitekto at magplano ng mga partikular na detalye para i-deploy ang bagong cloud environment. Kabilang dito ang: - Ang cloud architecture at modelo ng seguridad upang magbigay ng pundasyon ng imprastraktura para sa iyong mga workload Mga mapagkukunan ng network upang payagan ang ligtas at maaasahang komunikasyon sa pagitan ng mga application. Nangangailangan ito ng malawak na pagpaplano para sa Identity and Access Management (IAM), disenyo ng Virtual Private Cloud (VPC), at mga paraan ng external na pag-access Ang end-state na teknolohiya at mga tool kung saan tatakbo ang iyong mga workload Accounting para sa pamamahala ng dependency, mga timeline, at mga paraan ng paglipat ng data Migration Ilipat ang data at i-deploy ang mga serbisyo, imprastraktura, at code sa iyong patutunguhan. Dapat kang gumamit ng automation at tooling upang suportahan ang mga operasyong ito Pag-optimize Patunayan kung ang mga desisyon at pagpapalagay na ginawa mo sa mga yugto ng pagtatasa at pundasyon ay tumutugma sa katotohanan pagkatapos ng yugto ng paglipat. Tinutukoy mo ang anumang mga pagbabago na maaaring kailanganin mo. Pag-isipan kung paano i-explore ang iba pang mga cloud-native na opsyon, gaya ng paglipat mula sa imprastraktura bilang isang serbisyo (IaaS) patungo sa platform bilang isang serbisyo (PaaS), o pagsasamantala sa mga pinamamahalaang alok ng serbisyo. Depende sa kinalabasan ng yugto ng pag-optimize, maaari mong simulan muli ang cycle upang tugunan ang mga pagbabago o pagbabago. Palaging magsimula muli sa yugto ng pagtatasa at gamitin ang iyong karanasan upang maging mas mahusay sa bawat pag-ulit ## Mga uri ng migrasyon Ang tatlong pinakakaraniwang diskarte sa paglipat para sa paglipat ng mga application sa cloud ay inilalarawan sa mga sumusunod na seksyon Iangat at ilipat Gamitin *lift at shift* kapag gusto mong ilipat ang mga application habang nagbabago bilang kaunti hangga't maaari sa kung paano gumagana ang mga ito. Ito ay pinakamahusay na gumagana para sa mga application na iyon ay maaaring tumakbo nang hindi binago sa loob ng cloud, kapag mabilis na gumagalaw ang application ay a priyoridad, o kapag ang negosyo ay may kaunting gana o nangangailangan ng pagbabago. Ito ang paglipat ay nangangailangan ng mas maraming trabaho mula sa mga tauhan ng imprastraktura at pagpapatakbo hanggang suportahan ang mga pangunahing pagbabago kung saan tatakbo ang serbisyo, at mas kaunting trabaho mula sa mga developer dahil napakaliit, kung mayroon man, kailangang baguhin ang code Halimbawa, kung ang parehong mga tier ng iyong web application ay naka-host sa mga VM, maaari mong i-migrate ang mga ito kung ano-ano sa pamamagitan ng paggamit ng Migrate to Virtual Machines. Kapag nasa cloud ang mga VM na iyon, maaari mong isaalang-alang ang pag-upgrade sa mas cloud native compute platform para sa mga karagdagang benepisyo. Pagbutihin at ilipat Gamitin *pagbutihin at ilipat* kapag gusto mong i-modernize ang iyong aplikasyon sa proseso ng paglipat nito sa ulap. Ito ay karaniwang ginagamit kapag ang application ay hindi suportado sa cloud kung paano, o kapag ang mga pangunahing update sa software o ang hardware ay nasasakupan na at nakaplano na. Ang paglipat na ito ay nangangailangan ng imprastraktura, mga operasyon, at mga developer na magtulungan upang mapabuti ang paggana ng application sa cloud, at pinapayagan ang application na samantalahin cloud-native na benepisyo tulad ng higit na portability, scalability, at reliability Ang isa pang pagkakaiba-iba ng diskarte na ito ay upang mapabuti at ilipat sa isang galaw. Kung ang parehong mga tier ng iyong web application ay naka-host sa mga VM, maaari mong gamitin ang Migrate to Containers upang awtomatikong ilipat at i-convert ang mga VM na iyon sa mga container na tumatakbo sa Google Kubernetes Engine (GKE) I-rip at palitan Gamitin *rip and replace* kapag gusto mong bumuo ng bagong solusyon sa cloud, at ilubog ang kasalukuyang bersyon ng iyong solusyon sa nasasakupan. Ito ay karaniwang ginagamit kapag nalalapat ang mga sumusunod na kondisyon: - Ang umiiral na application ay hindi nagkakahalaga ng pagpapanatili sa cloud, teknikal o pinansyal - Ang paglilisensya sa software sa cloud ay nagbabawal o hindi praktikal - Ang application ay tumitigil sa pagtugon sa mga pangangailangan ng negosyo sa kabuuan Dahil ang rip and replace ay nangangailangan ng muling pagsulat ng isang application mula sa simula, hindi ito saklaw sa gabay sa paglilipat na ito ## Yugto ng pagtatasa Bago magsimula ang anumang paglipat, kailangan mong magkaroon ng masusing pag-unawa sa iyong panimulang punto Ang anumang hindi nasasagot na mga tanong ay nagdudulot ng panganib sa tagumpay ng paglipat. Ang paggugol ng oras sa yugto ng pagtatasa ay nakakatulong upang matiyak ang maayos at hindi maayos na yugto ng paglipat. Gumugol ng maraming oras hangga't maaari upang makakuha ng mas maraming nauugnay na impormasyon hangga't maaari bilang suporta sa iyong paglipat Stack ng software ng application Makipagtulungan sa iyong mga imprastraktura, pagpapatakbo, at development team para matukoy ang mga sumusunod na detalye: - Operating system: Eksaktong pamamahagi, bersyon, mga patch, naka-install na mga pakete - Web server: Eksaktong software package, numero ng bersyon, mga pakete o iba pang pagbabago ng software, at lahat ng configuration file at panuntunan para sa web server software - Database: Eksaktong pangalan ng software, bersyon, schema, diskarte sa pagtitiklop, at iskedyul ng backup - Mga runtime na kapaligiran: Mga eksaktong bersyon, ng lahat ng backend at frontend na kapaligiran Mga mapagkukunan ng hardware ng system Para sa web server at mga tier ng database, sagutin ang mga sumusunod na tanong: - Ilang server ang tumatakbo ngayon? - Ano ang kabuuang alokasyon ng mga CPU, kabilang ang henerasyon, uri ng arkitektura, at bilis? - Ano ang RAM at disk space na inilalaan sa bawat server? Ginagamit ba ang mga HDD o SSD? RAID? # - Ano ang kasalukuyang paggamit, average na paggamit, at ang pinakamataas na paggamit ng CPU, RAM at espasyo sa disk?Tingnan ang iyong average at peak sa konteksto ng iyong partikular na paggamit sa negosyo.Halimbawa, maaaring kailanganin ng isang kumpanyang sumusuporta sa Olympics na lumingon sa likod ng dalawang taon upang makita kung ano ang hitsura ng totoong peak, habang ang ibang mga application ay maaaring magkaroon ng mas matatag na rate ng pagtakbo.Tingnan ang pinakakaraniwang timeline ng use case para sa average, at ang iyong pinakamabigat na timeline ng paggamit para sa peak.Maghanap din ng mga pattern ng cyclical na paggamit, gaya ng weekend, gabi, at araw ng trabaho- Para sa database, anong diskarte sa pag-backup, pagtitiklop, o sharding ang ginagamit, at paano na nakakaapekto sa mga kinakailangan sa espasyo sa disk at ang bilang ng mga kinakailangang server?Mga mapagkukunan ng networkSuriin ang arkitektura ng network na nagpapahintulot sa iyong application na gumana.Tiyaking mayroon kang tumpak at napapanahon na lohikal at pisikal na mga diagram ng topology ng network ng imprastraktura na sumusuporta sa iyong aplikasyon.Dapat na malinaw na binabalangkas ng mga diagram ang lahat ng koneksyon, dependency, at mga serbisyo sa networkSagutin ang mga sumusunod na tanong:- Paano ina-access ng mga customer ang iyong aplikasyon?Sa pamamagitan ng isang web browser?Direkta sa pamamagitan ng isang IP address?Sa pamamagitan ng isang mobile app?Gumagamit ng virtual private network connection?- Mayroon ka bang listahan ng lahat ng naaangkop na SSL/TLS certificate at encryption key?- Saan naka-host ang lahat ng naaangkop na SSL/TLS certificate?Kailan sila mag-e-expire?Paano ka magre-renew ng mga sertipiko?Paano ka makakakuha ng mga bagong sertipiko?May access ka ba sa lahat ng kasalukuyang certificate?- Mayroon ka bang listahan ng lahat ng naaangkop na domain na sumusuporta sa application?- Saan naka-host ang mga domain na ito?Kailan sila mag-e-expire?Paano mo ire-renew ang mga ito?Mayroon ka bang access sa mga account na kumokontrol sa pagpaparehistro?- Saan naka-host at kinokontrol ang iyong DNS?- Mayroon ka bang access sa lahat ng system at tool na kumokontrol sa DNS?Ano ang kasalukuyang CNAME hanggang IP mapping para sa bawat domain, at mayroon ka bang backup?- Ano ang iyong mga setting ng DNS time-to-live (TTL)?- Saan nababagay sa arkitektura ang iyong mga firewall at iba pang network access at control device?Anong mga panuntunan ang ipinatupad ngayon upang payagan o tanggihan ang trapiko?Sino ang may pananagutan, at ano ang pamamaraan para sa pagbabago o pag-update ng mga panuntunang iyon?- Gumagamit ka ba ng anumang panlabas na serbisyo sa network?Halimbawa, isang content delivery network (CDN) provider, o isang distributed denial of service (DDoS) protection service?## Foundation phaseNag-aalok ang Google Cloud ng maraming opsyon para sa pagpapatakbo ng mga compute at database workload para sa mga multi-tier na application tulad ng LAMP.Ipinapakilala ng seksyong ito ang mga opsyong iyon at ipinapaliwanag kung bakit maaari mong piliin ang isa sa isa paCompute-centric na opsyonCompute EngineCompute Engine ay isang IaaS alok na nagbibigay-daan sa iyong magpatakbo ng virtual machine (VM) sa Google Cloud.Maaari kang mag-install ng mga web framework, software ng server, mga database, at anumang iba pang software na sinusuportahan ng iyong operating system. #Kung nagpapatakbo ka ng sarili mong LAMP application sa bare metal, sa isang VM, sa isang data center, o sa isa pang cloud provider, ang opsyong ito ay maaaring malapit, kung hindi man eksakto, na kopyahin ang iyong kasalukuyang server.Nag-aalok ang opsyong ito ng pinakamalaking kontrol sa configuration ng operating system at mga setting ng software ng web server.Compute Engine ay nagbibigay-daan para sa malalim na kontrol sa mga uri ng makina, mga pangkat ng instance, mga opsyon sa imbakan, mga balanse ng pag-load, at marami pang ibang detalye.Sumangguni sa kumpletong dokumentasyon ng Compute Engine para sa higit pang Quickstart, Tutorial, at higit paAng direktang paglipat ng iyong application sa Compute Engine ay ang pinakakaraniwang lift-and-shift na paglipat.Para sa patnubay sa pagmamapa ng mga nasa nasasakupang mapagkukunan sa Compute Engine, tingnan ang Pinakamahuhusay na kagawian para sa paglilipat ng mga virtual machine sa Compute EngineCloud Deployment ManagerAng Google Cloud Marketplace din nag-aalok ng simpleng pag-install ng LAMP sa pamamagitan ng Deployment Manager.Maaari kang maglunsad ng server na may Debian Linux, Apache, MySQL, PHP, at phpMyAdmin na naka-install at na-configure sa isang default na setup.Makakakuha ka ng ganap na gumaganang web server at mga kredensyal para sa pag-install ng MySQL sa loob lamang ng ilang minutoGoogle Kubernetes EngineAng GKE ay isang pinamamahalaan, handa sa produksyon na kapaligiran para sa pag-deploy ng mga containerized na application.Gamit ang GKE, huminto ka sa pamamahala ng isang operating system sa pamamagitan ng paglalagay ng software sa iyong web server.Halimbawa, ang mga web server ng Apache at NGINX ay available mula sa bawat pampublikong imbakan ng lalagyan.Kung gumagamit ka ng mga container upang magpatakbo ng mga workload sa iyong kapaligiran, ang GKE ay isang mahusay na serbisyo upang mapanatili ang isang katulad na deployment at pagsubok ng workflow habang inililipat mo ang iyong LAMP workload sa Google Cloud.Kung hindi ka gumagamit ng mga container, isaalang-alang ang paggalugad sa GKE para sa mas mabilis na pag-deploy at pagbawi, higit na kahusayan sa paggamit ng mga mapagkukunan, at hindi kinakailangang pamahalaan ang pinagbabatayan na operating system at VMPara sa higit pa tungkol sa pamamahala ng application ng container sa sukat, sumangguni sa dokumentasyon ng GKE para sa mga quickstart, tutorial, konsepto, gabay sa kung paano, at iba pang mapagkukunan upang matulungan kang makapagsimulaPaglilipat ng iyong LAMP application na nasa nasasakupan sa GKE ay isang improvement-and-move migration, habang ang paglipat mula sa isang self-managed container-based na imprastraktura ay isang lif-and-shift migrationApp EngineApp Engine ay isang walang server na platform para sa pagbuo ng mataas na nasusukat na mga application. #Depende sa uri ng application na iyong pinapatakbo, maaaring alisin ng App Engine ang pangangailangang pamahalaan ang mga server, container, o deployment, na nagbibigay-daan sa iyong mga developer na tumuon sa pagsusulat ng code at babaan ang pagiging kumplikado ng pamamahala ng anumang pinagbabatayan na imprastraktura.Hindi lahat ng workload ay mahusay na kandidato para sa paglipat sa App Engine, ngunit ang mga nakakakita ng mga pagbawas sa gastos at pagiging kumplikado habang pinapataas ang bilis ng pag-scale at ang resiliency ng application sa ilalim ng loadAng App Engine ay may dalawang lasa: ang karaniwang kapaligiran ay sumasaklaw sa iba't ibang wika (kabilang ang PHP para sa aming LAMP application), at ang flexible na kapaligiran ay nagbibigay-daan para sa higit pang pag-customize ng mga runtime, performance, at imprastraktura.Galugarin ang dokumentasyon para sa iyong piniling wika para matuto paMga opsyon sa database Self-manage sa Compute Engine Maaari mong i-install ang MySQL, PostgreSQL, o anumang iba pang database na nakabase sa SQL sa isang halimbawa ng Compute Engine. Nagbibigay ito ng parehong antas ng kontrol na magkakaroon ka kapag nagpapatakbo ng MySQL sa isang workstation, sa isang server sa isang data center, o bilang isang VM sa isa pang cloud provider. Kapag pinatakbo mo ang iyong database sa isang VM, responsibilidad mong i-configure, subaybayan, at panatilihin ang failover, replication, partitioning, at mataas na availability Maaari mong ituring ang database bilang isang compute workload, isinasaalang-alang ang CPU, RAM, at disk space upang matiyak na mayroong sapat na mga mapagkukunan para sa application na tumakbo nang mapagkakatiwalaan Tulad ng paglipat ng compute workload sa Compute Engine, ang diskarte na ito ay kumakatawan sa isang lift-and-shift migration Cloud SQL Ang Cloud SQL ay isang ganap na pinamamahalaang serbisyo ng database na nag-aalis ng pag-install, pag-setup, at pagpapanatili ng iyong database sa Google Cloud. Nag-o-automate ito ng mga backup, replication, patch, at update, at hinahayaan kang tumuon sa iyong application. Maaaring gamitin ang mga database ng Cloud SQL ng mga workload na tumatakbo sa alinman sa mga serbisyo ng compute ng Google, kabilang ang Compute Engine, GKE, at App Engine. Maliban kung kailangan mo ng malalim na antas ng kontrol sa iyong MySQL database, ang Cloud SQL ay isang madaling i-set-up at ganap na itinatampok na opsyon para sa pagpapatakbo ng LAMP workload Maaaring native na tumakbo at suportahan ng Cloud SQL ang MySQL at PostgreSQL. Kung lumilipat ka mula sa isa sa mga database na iyon patungo sa Cloud SQL, isa itong lift-and-shift na paglipat. Kung nag-e-explore ka ng mga bagong paraan para sa pagkopya, diskarte sa pag-backup, o pagiging simple sa pamamahala ng iyong imprastraktura, maaaring ito ay isang pag-improve-and-move migration Iba pang mga pagpipilian sa imbakan Ang Cloud Storage ay isang scalable, ganap na pinamamahalaan, lubos na maaasahan, at cost-efficient na bagay o blob store, perpekto para sa pag-iimbak ng mga larawan, static na asset at iba pang hindi nakaayos na data. Maaaring gamitin ang Cloud Storage upang mag-host ng isang static na website ngunit hindi idinisenyo upang mag-imbak ng aktibong nilalaman ng database. Isa rin itong perpektong lokasyon para mag-imbak ng mga backup at disaster recovery object, at data na gagamitin para sa streaming Isaalang-alang ang paggamit ng Cloud Storage bilang isang lokasyon upang mag-imbak ng mga backup ng iyong database sa panahon at pagkatapos ng iyong paglipat Firestore Firestore ay isang ganap na pinamamahalaan, walang server, cloud-native na database ng dokumento ng NoSQL na pinapasimple ang pag-iimbak, pag-sync, at pag-query ng data para sa iyong mobile, web, at Internet of Things (IoT) na mga application sa pandaigdigang saklaw. Nagbibigay ang mga client library nito ng live na pag-synchronize at offline na suporta, habang ang mga feature at pagsasama ng seguridad nito sa Firebase at Google Cloud ay nagpapabilis sa pagbuo ng mga tunay na walang server na app. Kung ang iyong application ay may nilalaman na maaaring makinabang mula sa isang format na NoSQL, gaya ng mga profile ng user, mga katalogo ng produkto, o estado ng laro, dapat mong i-explore ang Firestore sa yugto ng pag-optimize ng iyong paglipat. Firebase Ang Firebase ay isang komprehensibong mobile development platform na may kasamang storage at mga opsyon sa database. Kung sinusuportahan ng iyong application ang isang mobile workload, dapat isaalang-alang ang Firebase platform sa iyong yugto ng pag-optimize Cloud Spanner Ang Spanner ay isang enterprise-grade, globally-distributed, at malakas na pare-parehong serbisyo sa database na binuo para sa cloud. Pinagsasama nito ang mga benepisyo ng relational database structures sa horizontal scalability ng non-relational database. Kung ang iyong application ay maaaring makinabang mula sa pinahusay na pamamahala, scalability, at mga transaksyon na may malakas na pagkakapare-pareho, isaalang-alang ang paglipat ng iyong database sa Spanner sa iyong yugto ng pag-optimize Nag-aalok ang Google Cloud ng maraming iba pang mga opsyon sa storage upang suportahan ang iba't ibang workload ## Yugto ng paglipat Pagkatapos mong makumpleto ang iyong pagtatasa at planuhin ang iyong paglipat, maaari mong simulan ang gawain ng paglilipat ng data, mga serbisyo, at mga mapagkukunan sa Google Cloud. Ang bawat aplikasyon ay may sariling mga pangangailangan. Ang seksyong ito ay naglalakad sa ilang mga halimbawa upang makatulong na ipakita kung ano ang kinasasangkutan ng yugtong ito Lift at shift: Compute Engine Ang unang hakbang sa pagsisimula ng iyong lift-and-shift migration sa ay magtatag ng isang katugmang multi-tier na serbisyo sa Compute Engine. Habang mayroong maraming mga diskarte sa ito; ang mga sumusunod ay ang tatlong pinakakaraniwan: - Manu-manong pag-setup. Maglunsad ng VM gamit ang operating system na gusto mo, pagkatapos ay manu-manong i-update ang mga repository, i-install at i-configure ang software, at i-provision at i-configure ang database at runtime environment sa pamamagitan ng kamay. Ang diskarteng ito ay nag-aalok ng mataas na antas ng kontrol, ngunit tumatagal ng mas maraming oras, mas madaling magkamali, at hindi gaanong nagagawa kaysa sa ibang mga pamamaraan. - Automated. Gamitin ang I-migrate sa mga VM para mag-migrate ng stack ng mga VM (sa isang tinukoy na pagkakasunud-sunod) mula sa nasa lugar patungo sa mga VM sa Compute Engine na may tamang laki, awtomatikong naka-provision, at naka-configure. - Cloud Marketplace. Maglunsad ng paunang na-configure na LAMP stack sa iyong proyekto sa Google Cloud. Siguraduhing suriin na ang ibinigay na operating system at mga bersyon ng software ay gagana sa iyong aplikasyon. I-explore ang dokumentasyon ng Cloud Marketplace para matuto pa - Awtomatikong pag-deploy. Gumawa ng mga production-ready na VM gamit ang tuluy-tuloy na integration / tuluy-tuloy na deployment na mga konsepto at iba't ibang configuration management tool (Chef, Puppet, Ansible, Salt), imprastraktura bilang mga tool sa code (Deployment Manager, Terraform), at automation frameworks (Cloud Build). Binibigyang-daan ng awtomatikong pag-deploy ang mga nasusubok, nauulit, at mga automated na pamamaraan na mag-deploy ng mga VM at software na nakakatugon sa iyong mga pangangailangan sa aplikasyon at pamamahala Pagbutihin at ilipat: GKE at Cloud SQL Upang lumipat sa isang pinamamahalaang solusyon sa container, dapat mo munang itatag ang pundasyon para sa iyong cluster at pinamamahalaang solusyon sa SQL Naglulunsad ng cluster ng GKE Ang paggawa ng cluster sa GKE at pamamahala sa cluster na iyon ang mga unang hakbang. Gamitin ang impormasyon mula sa iyong pagtatasa at mga yugto ng pundasyon upang sukatin at i-configure nang naaangkop ang iyong paunang kumpol at para ilapat ang pinakamahuhusay na kagawian sa pagpapatigas ng seguridad Mga opsyon sa paglunsad para sa Cloud SQL Gamit ang impormasyon ng database na nakuha sa iyong pagtatasa at mga yugto ng pundasyon, gumawa ng bagong instance ng Cloud SQL, at sundin ang iba pang mga gabay sa kung paano bumuo ng database para sa iyong application. Nagbibigay ang Google ng listahan ng pinakamahuhusay na kagawian sa Cloud SQL, mga gabay para sa pag-set up ng mataas na kakayahang magamit, at iba pang mga tutorial para sa pahalang na pag-scale. Galugarin ang mga opsyon para sa pagkonekta mula sa Google Kubernetes Engine patungo sa Cloud SQL at piliin ang opsyong akma para sa iyong aplikasyon at antas ng karanasan Gumaganda at gumagalaw ang serverless: App Engine at Cloud SQL Kung magpasya kang i-migrate ang iyong LAMP application sa isang walang server na framework, maaaring kailanganin mong baguhin ang iyong application upang suportahan ang App Engine. Iba-iba ang bawat aplikasyon, at maraming mga diskarte. Magsimula sa pamamagitan ng pagsusuri sa mga sumusunod: - Kumuha ng pangkalahatang-ideya ng arkitektura ng microservice sa App Engine - Maunawaan kung paano gumawa at pangalanan ang dev, pagsubok, QA, pagtatanghal ng dula, at mga kapaligiran ng produksyon na may mga microservice sa App Engine - Matutunan ang mga pinakamahusay na kagawian para sa pagdidisenyo ng mga API upang makipag-ugnayan sa pagitan ng mga microservice - Alamin ang pinakamahuhusay na kagawian para sa pagganap ng microservice Depende sa iyong pang-organisasyon at personal na karanasan at pamilyar sa pagpapatakbo ng serverless code, ang serverless na pagpapabuti at paglipat ng diskarte ay maaaring tumagal ng mas maraming oras kaysa sa mga opsyon sa lift-and-shift. Gayunpaman, ang pagdadala ng pinakamahusay na walang server sa iyo ay maaaring maging isang malaking asset sa iyong organisasyon ## Yugto ng pag-optimize Kapag tumatakbo na ang iyong application sa Google Cloud, maaari mong patunayan ang iyong mga pagpapalagay at desisyon mula sa nakaraang tatlong yugto. Maaaring magtagal ang buong paglilipat at maraming detalye ang maaaring magbago sa buong proseso. Sinasaklaw ng pag-optimize ang maraming lugar, ngunit narito ang ilang karaniwang kategorya Pag-optimize ng gastos Ang paglipat mula sa nasa lugar patungo sa cloud ay nagbabago sa paraan ng paggastos mo ng pera sa mga application, serbisyo, at imprastraktura. Maaari mong kumpletuhin ang isang pagtatasa ng isang legacy na on-premises na serbisyo at matuklasan pagkatapos ng paglipat na ang modernong hardware, mas mabilis na memorya, at mas bagong mga arkitektura ng CPU ay nagpapatakbo nito nang mas mahusay. Maaaring mangahulugan ito na ang iyong mga VM ay sobrang na-provision at nag-aaksaya ng pera Maaari kang mag-imbestiga gamit ang mga preemptible na instance ng VM sa Compute Engine. Marahil ay hindi mo kailangan ng maraming load balancer gaya ng naisip mo, o nagawa mong linisin ang iyong database sa paglipat at mayroon na ngayong puwang na hindi mo ginagamit. Ang paghahanap ng mga paraan upang makatipid ng pera at mas mababang gastos sa pagpapatakbo sa cloud ay maaaring maging isang full-time na trabaho na nagbabayad para sa sarili nito. Ang Google Cloud ay may ilang mga tool sa pamamahala ng gastos na maaaring makatulong sa iyo sa pag-unawa sa pagpepresyo sa cloud Automation Ang wastong pag-automate ng iyong pag-compute ng mga workload sa cloud ay maaaring humantong sa gastos mga benepisyo sa pagtitipid at kahusayan Deployment Manager ay isang produkto ng Google Cloud na idinisenyo upang tulungan kang lumikha at pamahalaan ang cloud mga mapagkukunan gamit ang mga simpleng template Pag-script gamit ang gcloud ay isang opsyon kung mas gusto mong magsulat ng sarili mong mga automation. Habang pinansyal Ang mga benepisyo ay kasama ng automation, ang iba pang mga pakinabang ay kinabibilangan ng mga sumusunod: - Karaniwan at nauulit na mga proseso upang mapababa ang mga rate ng error - Naa-audit na pagsubaybay para sa pagsunod at pamamahala - Nadagdagang pag-unawa sa kung paano gumagana ang iyong application, kung paano ito nasisira, at kung paano ito ayusinPinapataas ng automation ang uptime sa pamamagitan ng pagpapababa ng pag-asa sa pag-aalerto at oras ng reaksyon ng tao, pagpapababa ng teknikal na utang sa pamamagitan ng pagdodokumento ng daloy ng trabaho, at hinahayaan ang iyong mga inhinyero na mas tumutok sa pagpapanatiling-ang-ilaw-on at higit pa sa pagbuo ng mas mahuhusay na produkto, tool, at serbisyo.Ang mga konseptong ito ay nasa core ng Site Reliability Engineering (SRE).Nag-aalok ang Google Cloud ng libreng-basahin-online na libro sa Site Reliability Engineering, gayundin ng SRE Workbook na nagbibigay ng mga praktikal na halimbawa at case studyDecoupling iyong imprastraktura at codeI-decouple mo ang mga serbisyo nang maraming beses habang lumalaki ang isang application. #Ang paghihiwalay ng mga konektadong serbisyo, at ang pag-alam kung paano i-scale ang mga ito nang nakapag-iisa, nagpapabuti sa pagiging available at pagiging maaasahan ng iyong mga application.Sa pangkalahatan ay may tatlong hakbang sa prosesong ito:- Ipatupad ang imprastraktura bilang code (IaC) saanman.Sa pamamagitan ng pagpapatupad ng IaC at mga proseso ng pamamahala ng configuration, nakakakuha ka ng mga nasusubaybayan, naa-audit, at nagagawang mga bloke para sa provisioning at pagsasaayos ng iyong buong imprastraktura- I-decouple ang iyong mga kasalukuyang serbisyo sa mga microservice.Gumamit ng middleware na nakatuon sa mensahe, tulad ng Pub/Sub, upang payagan ang bawat microservice na maging sarili nitong failure domain- Simulan ang paglipat ng mga serbisyo mula sa imprastraktura bilang isang serbisyo patungo sa platform bilang isang serbisyo , o kahit na gumagana bilang isang serbisyo o walang server bilang isang serbisyo.Ang paglalakbay mula sa "monolithic code at imprastraktura"patungo sa "decoupled microservices na tumatakbo nang mahusay sa buong IaaS spectrum"ay isang mahalagang layunin na mangangailangan ng oras, pagsisikap, at dedikasyonPerformance tuningPerformance tuning ay maaaring magbunga ng makabuluhang mga tagumpay sa paggamit ng system at oras ng pagtugon.Ang bawat workload ay may iba't ibang paraan para sa performance tuning, mula sa software configuration file hanggang sa pag-tune ng mga kernel flag.Para sa mga LAMP application, ang performance tuning ay karaniwang nasa loob ng tatlong kategorya:- Pag-tune ng cloud, network, at operating system: - 5 hakbang sa mas mahusay na pagganap ng network ng Google Cloud ay makakatulong sa iyong maunawaan kung paano masulit ang Google Cloud Networking - Maaaring makatulong ang pag-optimize ng TCP para sa pagganap ng network sa Google Cloud kung mayroon kang partikular na mga kinakailangan sa latency ng TCP - Ang pag-optimize ng mga persistent disk at lokal na pagganap ng SSD ay makakatulong sa iyo na matutunan ang tungkol sa pag-arkitekto para sa mabibigat na workload ng IOPS - Ang pagpapabuti ng pagganap sa Compute Engine ay makakatulong sa pagganap ng API application kapag nakikipag-ugnayan sa iba pang mga Google Cloud API at serbisyo - Pag-tune sa web server: - Apache Performance Tuning at NGINX Performance Tuning, o isang pangkalahatang paghahanap sa Google para sa "iyong web server performance tuning"ay magdadala sa iyo sa tamang direksyon Pag-tune ng database: ## Anong susunod - Pagse-set up ng LAMP sa Compute Engine - Mag-deploy ng LAMP Stack - Matuto pa tungkol sa pagpapatakbo ng mga compute workload sa Compute Engine o GKE Ikonekta ang GKE sa Cloud SQL I-explore ang Migrate to VMs at Migrate to Container Bumuo ng lubos na nasusukat na application sa isang ganap na pinamamahalaang platform na walang server gamit ang App Engine Matuto pa tungkol sa mga opsyon sa database sa Google Cloud Galugarin ang mga reference na arkitektura, diagram, tutorial, at pinakamahusay na kagawian tungkol sa Google Cloud. Tingnan ang aming Cloud Architecture Center. Ang