Migrați site-ul dvs. WordPress pe platforma cloud
Publicat: 2020-06-05Bazat în principal pe PHP și MySQL, renumitul CMS WordPress a alimentat totul, de la bloguri personale la site-uri web cu trafic mare de peste două decenii. Cu toate acestea, de la începuturile sale și prima lansare în 2003, creatorii săi nu l-au construit având în vedere infrastructurile moderne, elastice și scalabile, bazate pe cloud. Cine ar fi putut prezice modul în care tehnologia a evoluat până acum?
Din fericire, odată cu extinderea comunității WordPress și lansarea ulterioară a versiunilor WordPress mai mature, capacitățile sale s-au extins semnificativ. În cele din urmă, avem acum scenarii în care este posibil să construim o infrastructură WordPress care să folosească în mod adecvat serverele și infrastructurile cloud.
Pe parcursul acestui blog, vom explora relația dintre WordPress și serverele cloud și când ar trebui utilizate în combinație. Din punct de vedere al contextului, ne vom asigura că vom analiza în detaliu conceptele care se referă la acest subiect. Așa că, fără alte prelungiri, să ne adâncim!
Ce este cloud-ul?
Ca o scurtă recapitulare, și în termeni profani, Cloud-ul este un mijloc omniprezent de furnizare a serviciilor și resurselor IT prin Internet, astfel încât poate fi accesat la cerere sau într-o manieră cu plata pe măsură. Deci, practic, serverele cloud acționează ca „unități de stocare” convenabile pe internet, de unde și denumirea de „nor”. Acesta ar putea fi cel mai simplist răspuns pe care l-am oferit vreodată cu privire la cloud, oricum, mergând mai departe!
Acestea fiind spuse, există numeroși furnizori de servicii Cloud, deși cei mai notați sunt Amazon Web Services (cu cea mai mare cotă de piață), urmați de Microsoft Azure și Google Cloud. Acești trei sunt ocazional denumiți „hiperscaleri”, deși există și alți furnizori publici de cloud, cum ar fi AlibabaCloud, DigitalOcean, IBM Cloud și Linode. Pentru dreptate, merită menționat faptul că unii furnizori publici de cloud oferă și servicii de găzduire standard (de exemplu, găzduire partajată WordPress), în timp ce alții nu o fac. Dar vom aprofunda în asta mai târziu.
Frumusețea cloud-ului este că nivelează în mod semnificativ condițiile de joc pentru întreprinderile mici. Acest lucru se datorează faptului că le permite accesul la resurse online de ultimă generație, care anterior erau disponibile doar pentru jucătorii mai mari. Toate fără a fi nevoie de investiții de capital uriașe care includ achiziții de hardware, înființarea de centre de date scumpe și angajarea unui departament IT de întreținere cu normă întreagă.
În cea mai mare parte, majoritatea furnizorilor de servicii cloud oferă, de asemenea, un model pay-as-you-go cu servicii gestionate, cum ar fi auto-scaling și servicii de gestionare a bazelor de date etc. Deci, acest lucru este foarte atrăgător pentru multe companii care nu intenționează sau nu pot își permite să investească într-o infrastructură IT completă. În esență, permițându-le să se concentreze asupra activității lor de bază și să lase un furnizor de cloud să se ocupe de aspectele tehnice.
Cloud-ul oferă acces la o multitudine de beneficii; cu toate acestea, beneficiile notabile sunt:
- Oferă o arhitectură omniprezentă și orientată spre servicii, disponibilă oriunde în lume.
- Oferă un calcul convenabil și flexibil
- Acesta beneficiază de diferite niveluri de servicii la cerere
- Oferă un cost total de proprietate redus
- Oferă cheltuieli generale reduse pentru tehnologia informației

Tipuri de servicii cloud
În general, furnizorii publici de cloud își oferă serviciile în trei verticale, și anume: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) și Software as a Service (SaaS). De dragul contextului, să rezumam diferențele dintre toate aceste tipuri de servicii și ce implică fiecare dintre ele, nu?
- IaaS: Infrastructure as a Service oferă utilizatorilor diferite infrastructuri cloud, cum ar fi computere virtuale, sisteme de operare, cozi, stocare, VLAN-uri, echilibrare de încărcare, printre altele. Acest tip de verticală cloud necesită cunoștințe tehnice aprofundate pentru a implementa și opera o aplicație. De exemplu, fiecare componentă necesită management tehnic pentru a iniția scalarea în sus sau în jos sau pentru a efectua echilibrarea sarcinii.
- PaaS: Pe de altă parte, modelul Platform as a Service oferă mai multe servicii gestionate. Acest lucru înseamnă practic că responsabilitatea actualizărilor software și a corecțiilor aparține în primul rând furnizorului Cloud. În plus, cu PaaS, operațiunile specifice infrastructurii orchestrate de Cloud însuși, cum ar fi scalarea, backupul, replicarea datelor, au loc în mod transparent.
- SaaS: Probabil că cel mai cunoscut dintre toate aceste verticale este modelul Software as a Service, care oferă software complet funcțional gestionat în cloud. Modelul SaaS poate cuprinde atât componente IaaS, cât și aplicații PaaS sau poate folosi oricare dintre cele două verticale separat.

În cele din urmă, în ciuda tuturor modelelor evidențiate mai sus, granițele dintre platformele Cloud devin rapid mai subțiri, pe măsură ce mai mulți furnizori folosesc mai multe servicii mixte, care pot intra fie în IaaS, fie în PaaS. De exemplu, Amazon Web Services a început cu oferte IaaS (EC2, SQS și S3), apoi au adăugat componente PaaS pe parcurs (baze de date relaționale și baze de date non-relaționale). Comparativ, Microsoft Azure extinde atât componentele PaaS (site web Azure și baza de date SQL) cât și IaaS (mașini virtuale și stocare).

Când este momentul potrivit pentru a migra pe cloud?
Cu toate acestea și fără îndoială, majoritatea aplicațiilor software pot fi găzduite pe „hiperscalare” într-un fel sau altul. Cu toate acestea, întrebarea a fost întotdeauna – este justificabil, va fi redundant, poate exagerat sau va duce la subutilizarea resurselor în unele cazuri.
Acestea fiind spuse, merită remarcat faptul că aplicațiile specifice se potrivesc foarte bine pentru Cloud din cauza nevoii lor extreme de anumite capabilități cloud. De exemplu, ar putea avea nevoie de o combinație de codificatoare, CDN-uri, baze de date relaționale sau capacitatea de a scala automat resursele. Oricum ar fi, există cazuri în care alte aplicații sunt doar transferate în Cloud de dragul și nu reușesc să-și folosească pe deplin toate resursele. Ceea ce nu este o crimă, oricum.
Ce tipuri de aplicații WordPress sunt ideale pentru migrarea în cloud?
Deoarece am stabilit că cloud-ul poate gestiona orice aplicație de calcul offsite, indiferent de capacitatea în care se află. Avertismentul nostru rămâne în continuare, deoarece am subliniat că, totuși, nu toate aplicațiile sunt potrivite pentru cloud. Deci, ce tipuri de aplicații WordPress sunt suficiente pentru cloud?

1. Aplicații cu necesități de procesare periodice și solicitante
În general, astfel de aplicații efectuează în mod obișnuit operațiuni foarte intensive de calcul, cum ar fi funcțiile de analiză a loturilor pe diferite forme de date. Astfel de funcții de analiză a loturilor pot lua diferite forme, inclusiv: conversia fișierelor dintr-un format în altul, analiza semantică a textului, clasificarea datelor, raportarea, indexarea textului, gruparea datelor sau chiar antrenamentul rețelei neuronale pentru învățarea automată etc.
Deci, deoarece aceste operațiuni tind să fie predictibile în timp în apariția lor, ajung să solicite o putere de calcul semnificativă, oferită de furnizorii de cloud la scară largă. Acest lucru se datorează faptului că furnizorii de cloud public au întotdeauna hardware de ultimă generație pentru a satisface nevoi atât de mari. Deci, în esență, pentru întreprinderile mici cu astfel de aplicații, cloud-ul le ajută să evite astfel de investiții în hardware grele și inutile (care pot fi investiții reacționale uneori)
În plus, o organizație poate alege să-și accelereze și mai mult capacitățile de procesare în loturi cu cloud – pentru a se termina mai repede, de exemplu în mai puțin de o oră, spre deosebire de 3 sau 4 ore. Acest lucru este destul de ușor de gestionat într-un mediu Cloud, deoarece administratorii pot doar să creeze mai multe unități de calcul. Întrucât, în găzduirea standard WordPress, o astfel de efectuare ar fi destul de dificilă din cauza limitărilor hardware.
2. Aplicații care au nevoie de High Availability (HA) și scalabilitate.
Avem în esență două categorii de luat în considerare. Prima categorie este aplicațiile care doresc să ofere un serviciu HA (disponibilitate ridicată) utilizatorilor finali. Apoi avem aplicații care anticipează o creștere a utilizării lor sau intenționează să-și extindă serviciile la o bază mai mare de utilizatori.
O configurare de înaltă disponibilitate înseamnă că aplicația nu are un singur punct de eșec (SPOF). Acest lucru se realizează de obicei prin adăugarea unei redundanțe la fiecare punct final, componentă sau serviciu al aplicației. În plus, această configurație presupune în mod natural că sunt necesare mai multe hardware și mecanisme pentru a obține o disponibilitate ridicată, cum ar fi procesele automate de fail-over, echilibrarea încărcăturii și monitorizarea.
A doua categorie se referă la aplicațiile care intenționează să-și mărească baza de utilizatori (și au scalabilitate flexibilă). De exemplu, ar putea planifica să-și extindă oferta de produse/servicii; sau așteptați-vă să vă extindeți ulterior pe noi piețe. Așadar, acest lucru implică necesitatea unei actualizări semnificative a cloud-ului și a unui strat de management adecvat pe deasupra pentru a-l face să funcționeze.
3. Aplicații cu vârfuri de utilizare imprevizibile
Astfel de aplicații interacționează frecvent cu utilizatorii prin magazine online, site-uri de produse, bloguri populare etc. Astfel, astfel de servicii web au de obicei o bază de utilizatori previzibilă și constantă, totuși, în unele cazuri, pot ajunge să atragă un număr foarte mare de utilizatori în mod aleatoriu. . De exemplu, vârfurile pot apărea dacă sunt menționate pe o pagină web populară sau dacă un videoclip legat de acestea devine viral. Sau poate după ce o campanie de marketing devine mai de succes decât se anticipa inițial datorită cupoanelor și codurilor promoționale.

Deci, în esență, o migrare în cloud poate fi ideală atunci când nu puteți prezice volumul potențial de trafic de intrare sau intervalul de timp exact în care va avea loc. Astfel de proprietari de site-uri web tind să anticipeze cu exactitate o creștere a traficului, dar nu știu cât va fi acesta și nici cum va fi distribuit.
Citiți mai multe: 11 moduri eficiente de a vă extinde site-ul WordPress pentru un trafic ridicat
Așadar, pentru astfel de scenarii, achiziția hardware reacțională sau de urgență nu merită costul din cauza utilizării fragmentate, care poate duce la o mulțime de hardware neutilizat sezonier. În astfel de scenarii, orice altceva decât o implementare în cloud ar fi nesăbuit.
4. Aplicații care necesită diverse medii de testare
Necunoscut de mulți, utilizatorii pot folosi Cloud-ul pentru rularea unui mediu de testare. Astfel de medii de testare pot fi permanente sau temporare atunci când trebuie efectuat un anumit set de teste, cum ar fi testarea de securitate sau testarea de încărcare
Deci, practic, hardware-ul de ultimă generație va fi necesar pentru a realiza astfel de medii de testare, iar implicarea costurilor pentru achiziția de hardware pentru a efectua teste de securitate și testare de încărcare poate fi destul de grea. Acest lucru se datorează în principal faptului că aceste teste trebuie efectuate de câteva ori pe an și necesită o configurație de producție completă pentru a-și atinge scopul. Acesta este motivul pentru care achiziționarea de hardware nou-nouț pentru astfel de testare poate ajunge ca o acțiune ineficientă sau redundantă din perspectiva costurilor. Acolo, cloud-ul devine o opțiune.
Deci, pentru a rezuma punctele noastre, principalii factori care afectează adoptarea cloud sunt: baza de utilizatori, modelul de utilizare, cerințele de toleranță la erori și cerințele de testare. Desigur, mai mulți factori justifică candidatura pentru aplicație pentru Cloud, dar acești patru factori ies în evidență în mod normal.
Utilizarea platformelor cloud cu WordPress
Majoritatea aplicațiilor WordPress utilizează găzduire standard, cu toate acestea, există o creștere a numărului de utilizatori WordPress care aleg să-și ruleze site-urile web pe platforme precum AWS cloud și Google Cloud.
Acest lucru arată că mai mulți proprietari de site-uri web sunt preocupați de modul în care să construiască un site web care să se extindă corespunzător. De exemplu, ar trebui să poată deservi un număr fluctuant de vizitatori și suficient de flexibil pentru a permite actualizarea rapidă și ușoară a conținutului, rămânând în același timp tolerant la erori. Acest ultim punct este important, deoarece oferă proprietarilor liniște că, atunci când ceva se sparge, site-ul web își va putea îndeplini funcțiile în mod adecvat.
Deci, pentru un context suplimentar, găzduirea WordPress tipică este un serviciu gestionat, în esență, un Software ca serviciu (SaaS). În timp ce migrarea către cloud public constituie realizarea unei instalări Platform as a Service (PaaS). În esență, o instalare WordPress care utilizează PaaS descarcă întreținerea infrastructurii, backup-urile, replicările și disponibilitatea furnizorului Cloud.
Gestionarea unui server cloud poate fi dificilă
Configurarea sau furnizarea mediului server nu este ușor de dedus, cu excepția cazului în care sunteți cunoscător sau expert. Aceasta presupune să știți cum să vă gestionați instanțele cloud, instituind în același timp un strat de protocoale de securitate care asigură protecția instanțelor dvs. cloud.
Dintr-o perspectivă, astfel de instalări ar putea necesita să aveți competențe cu comenzile Linux, deoarece serverele AWS implicite nu vin cu nicio interfață grafică de utilizator cu care să lucrați. Prin urmare, capacitatea de a utiliza CLI este imperativă, ceea ce poate fi o provocare pentru cei cu cunoștințe limitate pe partea serverului.
Cu toate acestea, unii furnizori de cloud oferă resurse pentru a ajuta la atenuarea problemelor legate de gestionarea serverului, pentru a vă permite să vă concentrați pe site-urile dvs. WordPress. Aceleași instrumente urmăresc cu atenție securitatea serverului dvs. pentru a vă proteja site-ul de atacuri cibernetice. Astfel de soluții pot oferi utilizatorilor posibilitatea de a integra SSL, de a crea site-uri de staging, de a realiza clonarea site-urilor web și de a gestiona job-uri cron cu doar câteva clicuri.
Planificarea unei migrari în cloud WordPress
După ce ați optat pentru migrarea aplicației dvs. WordPress în cloud, este important să determinați un plan arhitectural aplicabil, să alegeți un furnizor cloud de încredere, să vă îmbunătățiți arhitectura aplicației, să vă testați configurația și apoi să eliberați.
Determinarea planului de arhitectură vă permite să identificați în principal părțile independente și scalabile ale aplicației dvs. WordPress. În al doilea rând, atunci când alegeți un furnizor de cloud, asigurați-vă că alegeți cea mai potrivită, luând în considerare factori precum capacitățile bazei de date. De exemplu, o bază de date SQL Server poate fi potrivită pentru Azure SQL Database sau AWS RDS, în timp ce o bază de date MySQL ar putea fi potrivită și pentru AWS RDS.
De asemenea, un furnizor de cloud poate afecta arhitectura finală a aplicației dvs. În plus, atunci când testați o configurație, luați în considerare întotdeauna datele de dimensiune reală, deci, urmăriți să instituiți o clonă completă a datelor de producție, care include în principal datele bazei de date și conținutul generat de utilizatori.
Cost
Costul total inițial pentru fiecare furnizor de cloud ar trebui, de asemenea, calculat cu atenție. Deoarece majoritatea furnizorilor de cloud au calculatoare de preț online, le puteți utiliza. De asemenea, acordați atenție aspectelor precum orele de calcul, lățimea de bandă și stocarea, precum și valorile precum numărul de solicitări GET pentru accesarea anumitor ore de stocare a obiectelor și de echilibrare a încărcăturii etc.
Cele mai bune practici pentru instalările WordPress pe servere cloud
1. Asigurați-vă că utilizați o rețea de livrare de conținut (CDN)
Amintiți-vă că majoritatea aplicațiilor WordPress oferă o combinație de conținut static și dinamic. Conținutul static este reprezentat de imagini, fișiere JavaScript sau foi de stil. În timp ce conținutul dinamic este orice lucru generat pe partea serverului care folosește codul PHP WordPress. De exemplu, elemente generate din baza de date sau care sunt personalizate pentru fiecare vizualizator.
Deoarece latența rețelei este importantă pentru experiența utilizatorului final, este imperativ să utilizați CDN-urile, deoarece acestea ajută la abordarea latenței rețelei, permițându-vă să furnizați conținut în mod constant utilizatorilor din întreaga lume.
Deci, deoarece utilizatorii sunt de obicei răspândiți geografic în întreaga lume, CDN-urile ajută în esență la accelerarea distribuției conținutului cu latență scăzută și viteze mari de transfer de date pe tot globul.
Citiți mai multe: Sfaturi pentru a îmbunătăți viteza site-ului WordPress
2. Memorarea în cache a bazei de date
Memorarea în cache a bazei de date poate reduce dramatic latența și poate crește viteza aplicațiilor precum WordPress. Reușește acest lucru prin stocarea în memorie a datelor accesate frecvent pentru acces cu latență redusă, cum ar fi rezultatele interogărilor de baze de date cu I/O intensive. Deci, aceasta înseamnă că atunci când un procent mare de interogări sunt servite din cache, numărul de interogări care trebuie să ajungă la baza de date este redus. Prin urmare, rezultând un cost mai mic asociat cu rularea bazei de date.
3. Nivelul Web Stateless
În mod fundamental, o aplicație fără stat nu ține seama de interacțiunile anterioare și nu stochează informații despre sesiune. Și pentru WordPress, acest lucru implică faptul că toți utilizatorii finali primesc același răspuns, indiferent de serverul web care le-a procesat cererea.
Așadar, pentru a utiliza mai multe servere web într-o configurație de scalare automată, nivelul dvs. web trebuie să fie apatrid. Mai mult, aplicațiile fără stat se pot scala orizontal, deoarece orice solicitare poate fi deservită de oricare dintre resursele de calcul disponibile (ceea ce numim „instanțe de server web”).
Cu toate acestea, în mod implicit, WordPress stochează încărcările utilizatorilor pe sistemul de fișiere local și, prin urmare, nu este apatrid. Prin urmare, este important să mutați instalarea WordPress și toate configurațiile utilizatorului, pluginurile, temele și încărcările generate de utilizatori într-o platformă de cloud de date partajată pentru a ajuta la reducerea încărcăturii pe serverele web și pentru a face nivelul web apatrid.
Citiți mai multe: Pluginurile WordPress sunt sigure de utilizat?
Pentru a realiza acest lucru, puteți utiliza stocarea terță parte pentru stocarea sesiunilor PHP. Acesta ar putea fi fie un simplu magazin cheie-valoare, fie baza de date în sine. Toți furnizorii importanți de cloud oferă magazine cheie-valoare, cum ar fi Azure Tables sau AWS DynamoDB, și ar trebui să fie foarte disponibile și accesibile de către toate componentele aplicației care interacționează cu datele sesiunii.
Gânduri finale.
În concluzie, cloud computing a devenit cea mai răspândită formă de gestionare a datelor cu capacitatea sa de neegalat de a oferi economii de scară îmbunătățite, securitate a datelor, interoperabilitate, accesibilitate ușoară și eficiență energetică. În esență, modifică modul în care gestionăm, alocam și consumăm resursele de calcul, stocare și rețea la nivel global.
Deci, serverele WordPress și Cloud pot fi combinate în primul rând performant dacă anticipați creșteri mari de trafic, dacă aveți nevoie de disponibilitate ridicată, dacă aveți cerințe neașteptate de scalabilitate, aveți nevoi de procesare dinamică și dacă aveți nevoie de un mediu de testare unic.