Lecții învățate de la Google, Amazon și Apple
Downtime-ul suferit recent de serviciile online Apple a atras din nou atenția media asupra soluțiilor de tip public cloud și a impactului pe care problemele tehnice ale acestora îl are pentru milioane de useri. În ultimele luni, stabilitatea soluțiilor cloud oferite de giganți precum Google, Apple, Amazon Web Services și Azure a fost tot mai riguros analizată de comunitatea tech globală, cu detractori și susținători ai modelului de public cloud antrenați într-un dialog intens pe subiect.
Cel mai recent eveniment de acest tip a avut loc joia trecută, când o serie întreagă de servicii internet Apple au fost inaccesibile o bună perioadă de timp utilizatorilor din diverse părți ale lumii. Astfel, clienți Apple din SUA și Europa au descoperit în 2 iunie că nu își puteau accesa conturile de iCloud, iTunes, AppStore sau Apple TV. Cu ceva timp înainte, în aprilie, platforma Cloud Google suferise și ea o perioadă de downtime, problemele recurente de networking ale acesteia rezultând atunci într-o întrerupere a conexiunii cu platforma Google Compute Engine și în downtime global. Chiar mai devreme, în martie, downtime-ul suferit de site-ul Amazon (găzduit în cloud-ul public Amazon Web Services) a generat pierderi estimate la 3.75 milioane dolari pentru Amazon și vânzătorii din rețeaua sa.
Dificultățile giganților mondiali cloud în a oferi stabilitate și întreruperile – din ce în ce mai frecvente – din ultimele luni au readus în discuție opțiunea de tip Public Cloud și utilitatea acesteia într-un context de business. Câtă încredere oferă o soluție de acest tip? La ce grad de stabilitate și nivel de uptime ar trebui să se aștepte compania care optează pentru o astfel de soluție? Și, dacă nici liderii pieței nu livrează la parametrii optimi, cum decizi furnizorul pentru o astfel de soluție?
Focusul recent pe limitările soluțiilor de public cloud scoate din nou la lumină importanța modului în care arhitectura acestor soluții de infrastructură este gândită. Consensul experților din industrie este că DA, cloud-ul public este în continuare una din cele mai bune alternative pentru business-uri. Atât din punct de vedere al performanței și flexibilității cât și din punct de vedere al costurilor, cloud-ul rămâne în continuare una dintre cele mai eficiente opțiuni pentru o companie. Marele DAR însă, asupra căruia liderii în domeniu atrag recurent atenția, este legat de design-ul cloud-ului. DA, cloud-ul public este cea mai eficientă opțiune pentru o companie, DAR doar atunci când arhitectura cloud-ului este dezvoltată să fie robustă. În caz contrar, dacă arhitectura de la bază implică un design ”fragil”, performanța cloud-ului va depinde foarte mult felul în care este dezvoltată aplicația/site-ul găzduit și de sinergia acestuia/-eia cu infrastructura cloud.
Problema pentru un business owner, pus în fața situației de a alege o soluție de tip cloud, se pune atunci în felul următor – să opteze pentru o infrastructură cloud asumată ”fragilă”, compensând prin designul aplicației și apelând la sisteme distribuite pe mașini sau să aleagă din prima o arhitectură cloud ”robustă”, care poate veni la un cost inițial mai mare? Desigur, prima opțiune va fi întotdeauna mai atractivă, presupunând din start o investiție mai mică. Cât de mulți antreprenori, însă, iau în calcul în această etapă a procesului de decizie costurile pe care alegerea lor le va genera pe parcurs? Dacă te recunoști în această dilemă și iei în calcul Scenariul 1, întreabă-te doar:
- Îi voi găsi ușor pe acești developeri super-calificați care să îmi scrie o aplicație distribuită?
- Ce costuri vor genera acești developeri, asumați cei mai buni din domeniu?
- Cu cât va fi mai lung procesul de development, dacă programarea va trebui să compenseze limitările infrastructurii cloud?
Lucrând de mult timp cu soluții cloud – mai exact din 2012 când am dezvoltat și lansat primul cloud public din România – am întâlnit numeroși clienți care se confruntă cu această alegere. De fiecare dată răspunsul nostru a fost vehement în direcția infrastructurii robuste, dezvoltate pentru eficiența costurilor pe termen lung. Iată de ce:
Ce înseamnă o arhitectură cloud ”robustă”?
Unul din cele mai importante aspecte pe care ar trebui să le ai în vedere este investiția făcută de furnizor în infrastructură. Cere-i detalii despre componentele hardware. Dincolo de componentelor arhitecturii cloud, te-ar mai putea interesa tipul de storage folosit. Pe ce generație de servere va rula soluția ta. Sau dacă există sau nu redundanță la nivel de hardware.
O infrastructură cu adevărat robustă va fi astfel construită încât, atunci când pică un nod cu 50 de servere, de exemplu, să dispună de suficiente resurse (CPU, RAM) astfel încât serverele în cauză să pornească de pe celelalte noduri. Setup-ul cloudului va permite migrarea automată și rapidă a mașinilor. Un astfel de setup implică multă expertiză, experiență anterioară extensivă cu arhitecturi cloud. Implică munca unei întregi echipe de seniori în domeniu, proces care vine la costuri ridicate. Cu cât furnizorul investește de la început în designul soluției, focusându-se pe prevenirea incidentelor hardware și având ca obiectiv principal High-Availability, cu atât premisele unei alegeri eficiente și performante sunt mai bune.
Dincolo de infrastructura folosită, un cloud robust este un cloud permanent monitorizat, în care aceeși expertiză folosită în setupul inițial este ulterior aplicată într-un proces de mentenanță și administrare continuă. Gândește-te la echipa de ingineri care monitorizează un cloud ca la echipa de tehnicieni folosită de un pilot de Formula 1 și bolidul său. În cazul incidentelor, planificate sau nu, echipa de tehnicieni are la dispoziție un timp foarte scurt pentru pregătirea monopostului pentru victorie. În timpul curselor, aceeași echipă de ingineri trebuie să monitorizeze permanent sute de parametrii de performanță, luând acțiuni rapide și eficiente atunci când situația o cere.
În dezvoltarea noului nostru produs de cloud, stabilitatea infrastructurii și expertiza din spatele arhitecturii au fost principalele noastre provocări. EasyCloud a fost dezvoltat cu obiectivul de a fi robust și de a oferi High Availabity. Printre specificațiile incluse în designul produsului se numără și:
- Storage SSD cu redundanță la nivelulul rețelei și la nivelul controalerelor
- Storage SAS, cu redundanță completă
- Conexiuni la internet și circuite de alimentare redundante și separate
- Administrarea capacității sistemului pentru a atinge redundanță de tip n+1
- Arhitectură de stocare distribuită, cu funcții de paritate a datelor pentru a minimiza pierderile în caz de defecțiuni hardware
- Soluții IDS și IDP pentru a preveni accesul neautorizat
- Instrumente de accelerare web pentru a îmbunătăți performanța și eficiența
- Mediu datacenter de ultimă generație și hardware performant, special conceput pentru uzul în datacenter.
Mai mult, EasyCloud beneficiază de administrarea echipei noastre de sysadmini, specialiști systems L2 și L3 cu o experiență vastă în designul de arhitecturi de găzduire.
Soluțiile de tip public cloud rămân printre cele mai performante și eficiente opțiuni pentru businessurile pentru care prezența online și stabilitatea acesteia sunt vitale. Downtime-urile pe care media le dramatizează frecvent în ultima perioadă nu este problema celor care își aleg de la început un produs cloud dezvoltat pe baza expertizei tehnice și conceput să aibă o infrastructură robustă.
Descoperă astăzi performanța din spatele EasyCloud. Cere acum un test-drive în premieră cu cel mai performant și stabil cloud dezvoltat de Easyhost.