Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Is-sħab huma bħal kaxxa maġika - tistaqsi dak li għandek bżonn, u r-riżorsi jidhru biss mix-xejn. Magni virtwali, databases, netwerk - dan kollu jappartjeni lilek biss. Hemm kerrejja oħra tas-sħab, imma fl-Univers tiegħek int l-uniku ħakkiem. Int ċert li dejjem tirċievi r-riżorsi meħtieġa, ma tqis lil ħadd u tiddetermina b'mod indipendenti kif se jkun in-netwerk. Kif taħdem din il-maġija li tagħmel is-sħaba talloka b'mod elastiku r-riżorsi u tiżola kompletament lill-kerrejja minn xulxin?

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Is-sħaba tal-AWS hija sistema mega-super kumplessa li ilha tevolvi b'mod evoluttiv mill-2006. Parti minn dan l-iżvilupp seħħet Vasily Pantyukhin - Amazon Web Services Perit. Bħala perit, jagħti ħarsa minn ġewwa mhux biss lejn ir-riżultat finali, iżda wkoll lejn l-isfidi li AWS tegħleb. Iktar ma jkun kbir il-fehim ta 'kif taħdem is-sistema, akbar tkun il-fiduċja. Għalhekk, Vasily se jaqsam is-sigrieti tas-servizzi tal-cloud AWS. Hawn taħt hemm id-disinn ta 'servers AWS fiżiċi, iskalabbiltà ta' database elastika, database tad-dwana Amazon u metodi biex tiżdied il-prestazzjoni ta 'magni virtwali filwaqt li fl-istess ħin jitnaqqas il-prezz tagħhom. L-għarfien tal-approċċi arkitettoniċi tal-Amazon jgħinek tuża s-servizzi tal-AWS b'mod aktar effettiv u jista' jagħtik ideat ġodda biex tibni s-soluzzjonijiet tiegħek stess.

Dwar il-kelliem: Vasily Pantyukhin (Tiġieġa) beda bħala admin Unix f'kumpaniji .ru, ħadem fuq ħardwer kbir Sun Microsystem għal 6 snin, u ppriedka dinja ċċentrata fuq id-dejta f'EMC għal 11-il sena. Naturalment evolviet fi sħab privati, u fl-2017 marret għal dawk pubbliċi. Issa huwa jipprovdi pariri tekniċi biex jgħin jgħix u jiżviluppa fis-sħab tal-AWS.

Ċaħda ta 'responsabbiltà: kollox hawn taħt huwa l-opinjoni personali ta' Vasily u jista 'ma jikkoinċidix mal-pożizzjoni ta' Amazon Web Services. Reġistrazzjoni tal-vidjo Ir-rapport li fuqu huwa bbażat l-artiklu huwa disponibbli fuq il-kanal YouTube tagħna.

Għaliex qed nitkellem dwar l-apparat Amazon?

L-ewwel karozza tiegħi kellha trasmissjoni manwali. Kien kbir minħabba s-sentiment li stajt insuq il-karozza u jkolli kontroll sħiħ fuqha. Għoġobni wkoll li għall-inqas fhimt bejn wieħed u ieħor il-prinċipju tat-tħaddim tiegħu. Naturalment, immaġinajt li l-istruttura tal-kaxxa hija pjuttost primittiva - xi ħaġa bħal gearbox fuq rota.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Kollox kien kbir, ħlief għal ħaġa waħda - mwaħħla fil-konġestjonijiet tat-traffiku. Jidher li qed bilqiegħda u ma tagħmel xejn, imma qed tbiddel il-gerijiet kontinwament, tagħfas il-klaċċ, il-gass, il-brejk - tassew jagħmillek għajjien. Il-problema tal-konġestjoni tat-traffiku ġiet solvuta parzjalment meta l-familja kisbet karozza awtomatika. Waqt is-sewqan, kelli ħin biex naħseb dwar xi ħaġa u nisma’ awdjo-ktieb.

F’ħajti deher misteru ieħor, għax waqaft kompletament nifhem kif taħdem il-karozza tiegħi. Karozza moderna hija apparat kumpless. Il-karozza tadatta simultanjament għal għexieren ta 'parametri differenti: tagħfas il-gass, brejk, stil ta' sewqan, kwalità tat-triq. Ma nifhimx aktar kif taħdem.

Meta bdejt naħdem fuq is-sħaba tal-Amazon, kien ukoll misteru għalija. Biss dan il-misteru huwa ordni ta 'kobor akbar, għaliex hemm sewwieq wieħed fil-karozza, u fl-AWS hemm miljuni minnhom. L-utenti kollha simultanjament imexxu, agħfas il-gass u l-brejk. Hija tal-għaġeb li jmorru fejn iridu – huwa miraklu għalija! Is-sistema tadatta awtomatikament, tiskala u taġġusta elastikament għal kull utent sabiex jidhirlu li hu waħdu f'dan l-Univers.

Il-maġija spiċċat xi ftit meta wara ġejt naħdem bħala perit fl-Amazon. Rajt liema problemi niffaċċjaw, kif insolvuhom, u kif niżviluppaw is-servizzi. B'fehim dejjem akbar ta 'kif taħdem is-sistema, tidher aktar fiduċja fis-servizz. Allura nixtieq naqsam stampa ta 'dak li hemm taħt il-barnuża tal-sħaba AWS.

X'għandna nitkellmu

Għażilt approċċ diversifikat - għażilt 4 servizzi interessanti li ta' min jitkellem dwarhom.

Ottimizzazzjoni tas-server. Sħab effimeru b'inkarnazzjoni fiżika: ċentri tad-dejta fiżiċi fejn hemm servers fiżiċi li jdawru, jisħnu u jteptep bid-dwal.

Funzjonijiet serverless (Lambda) huwa probabbilment l-aktar servizz skalabbli fil-cloud.

Skalar tad-database. Jien ngħidlek dwar kif nibnu d-databases skalabbli tagħna stess.

Skala tan-netwerk. L-aħħar parti li fiha se niftaħ l-apparat tan-netwerk tagħna. Din hija ħaġa sabiħa - kull utent tas-sħab jemmen li huwa waħdu fis-sħab u ma jara l-ebda kerrejja oħra.

Nota. Dan l-artikolu ser jiddiskuti l-ottimizzazzjoni tas-server u l-iskala tad-database. Se nikkunsidraw l-iskala tan-netwerk fl-artiklu li jmiss. Fejn huma l-funzjonijiet serverless? Ġiet ippubblikata traskrizzjoni separata dwarhom "Żgħir, iżda intelliġenti. Unboxing Firecracker mikrovirtual" Jitkellem dwar diversi metodi ta' skalar differenti, u tiddiskuti fid-dettall is-soluzzjoni Firecracker - simbjożi tal-aqwa kwalitajiet ta' magna virtwali u kontenituri.

Servers

Is-sħaba hija effimera. Iżda din l-effimeralità għad għandha inkarnazzjoni fiżika - servers. Inizjalment, l-arkitettura tagħhom kienet klassika. Chipset x86 standard, karti tan-netwerk, Linux, hypervisor Xen li fuqu tħaddmu magni virtwali.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Fl-2012, din l-arkitettura laħqet il-kompiti tagħha pjuttost tajjeb. Xen huwa hypervisor kbir, iżda għandu żvantaġġ ewlieni wieħed. Huwa ltqajna biżżejjed overhead għoli għall-emulazzjoni tal-apparat. Hekk kif karti tan-netwerk jew drives SSD ġodda aktar mgħaġġla jsiru disponibbli, dan l-overhead isir għoli wisq. Kif tittratta din il-problema? Iddeċidejna li naħdmu fuq żewġ fronti f'daqqa - jottimizza kemm il-ħardwer kif ukoll l-hypervisor. Il-kompitu huwa serju ħafna.

L-ottimizzazzjoni tal-ħardwer u l-hypervisor

Li tagħmel kollox f'daqqa u tagħmel tajjeb mhux se taħdem. X'kienet "tajjeb" inizjalment ma kienx ċar ukoll.

Iddeċidejna li nieħdu approċċ evoluzzjonarju - nibdlu element importanti wieħed tal-arkitettura u nitfgħuh fil-produzzjoni.

Aħna nimxu fuq kull rake, nisimgħu l-ilmenti u s-suġġerimenti. Imbagħad nibdlu komponent ieħor. Allura, f'żidiet żgħar, aħna nibdlu radikalment l-arkitettura kollha bbażata fuq feedback mill-utenti u l-appoġġ.

It-trasformazzjoni bdiet fl-2013 bl-aktar ħaġa kumplessa - in-netwerk. IN С3 każijiet, karta speċjali Network Accelerator ġiet miżjuda mal-karta tan-netwerk standard. Kien imqabbad litteralment b'kejbil loopback qasir fuq il-pannell ta 'quddiem. Mhuwiex sabiħ, iżda mhux viżibbli fis-sħaba. Iżda l-interazzjoni diretta mal-ħardwer tejbet il-jitter u l-fluss tan-netwerk b'mod fundamentali.

Sussegwentement iddeċidejna li ntejbu l-aċċess għall-imblukkar tal-ħażna tad-dejta EBS - Elastic Block Storage. Hija taħlita ta 'netwerk u ħażna. Id-diffikultà hija li filwaqt li l-karti tan-Netwerk Accelerator kienu jeżistu fis-suq, ma kien hemm l-ebda għażla li sempliċement tixtri hardware tal-Aċċeleratur tal-Ħżin. Allura aħna daru għal startup Annapurna Labs, li żviluppaw ċipep ASIC speċjali għalina. Huma ppermettew li volumi EBS remoti jiġu mmuntati bħala apparat NVMe.

F'każijiet C4 solvejna żewġ problemi. L-ewwel hija li implimentajna pedament għall-futur ta 'teknoloġija NVMe promettenti, iżda ġdida f'dak iż-żmien. It-tieni nett, ħatt il-proċessur ċentrali b'mod sinifikanti billi ttrasferixxiet l-ipproċessar tat-talbiet lill-EBS għal karta ġdida. Irriżulta tajjeb, għalhekk issa Annapurna Labs hija parti mill-Amazon.

Sa Novembru 2017, indunajna li kien wasal iż-żmien li nibdlu l-hypervisor innifsu.

L-hypervisor il-ġdid ġie żviluppat ibbażat fuq moduli tal-kernel KVM modifikati.

Għamilha possibbli li tnaqqas b'mod fundamentali l-overhead tal-emulazzjoni tal-apparat u taħdem direttament ma 'ASICs ġodda. Każijiet С5 kienu l-ewwel magni virtwali b'hypervisor ġdid jaħdem taħt il-barnuża. Semmewh Nitro.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u databaseEvoluzzjoni ta' każijiet fuq il-kalendarju.

It-tipi ġodda kollha ta 'magni virtwali li dehru minn Novembru 2017 jaħdmu fuq dan l-hypervisor. L-istanzi tal-Bare Metal m'għandhomx hypervisor, iżda jissejħu wkoll Nitro, peress li jużaw karti Nitro speċjalizzati.

Matul is-sentejn li ġejjin, in-numru ta 'tipi ta' każijiet Nitro qabeż ftit tużżana: A1, C5, M5, T3 u oħrajn.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database
Tipi ta' istanzi.

Kif jaħdmu l-magni moderni Nitro

Huma għandhom tliet komponenti ewlenin: l-hypervisor Nitro (diskuss hawn fuq), iċ-ċippa tas-sigurtà u l-karti Nitro.

Ċippa tas-sigurtà integrat direttament fil-motherboard. Jikkontrolla ħafna funzjonijiet importanti, bħall-kontroll tat-tagħbija tal-OS ospitanti.

Karti nitro - Hemm erba 'tipi minnhom. Kollha kemm huma żviluppati minn Annapurna Labs u huma bbażati fuq ASICs komuni. Xi wħud mill-firmware tagħhom huwa wkoll komuni.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database
Erba 'tipi ta' karti Nitro.

Waħda mill-karti hija mfassla biex taħdem magħha netwerkVPC. Dan huwa dak li huwa viżibbli fil-magni virtwali bħala karta tan-netwerk ENA - Adapter tan-Netwerk Elastiku. Jikkapsula wkoll it-traffiku meta jittrasmettih permezz ta 'netwerk fiżiku (se nitkellmu dwar dan fit-tieni parti tal-artikolu), jikkontrolla l-firewall tal-Gruppi ta' Sigurtà, u huwa responsabbli għar-rotot u affarijiet oħra tan-netwerk.

Il-kards Agħżel jaħdmu bil-ħażna tal-blokki EBS u diski li huma mibnija fis-server. Jidhru lill-magna virtwali mistieden bħala adapters NVMe. Huma wkoll responsabbli għall-encryption tad-data u l-monitoraġġ tad-disk.

Is-sistema ta 'karti Nitro, hypervisor u ċippa tas-sigurtà hija integrata f'netwerk SDN jew Netwerk Definit minn Software. Responsabbli għall-ġestjoni ta' dan in-netwerk (Pjan ta' Kontroll) karta tal-kontrollur.

Naturalment, inkomplu niżviluppaw ASICs ġodda. Pereżempju, fl-aħħar tal-2018 ħarġu ċ-ċippa Inferentia, li tippermettilek taħdem b'mod aktar effiċjenti mal-kompiti tat-tagħlim tal-magni.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database
Ċippa tal-Proċessur tat-Tagħlim tal-Magni Inferentia.

Database Skalabbli

Database tradizzjonali għandha struttura f'saffi. Biex tissimplifika bil-kbir, il-livelli li ġejjin huma distinti.

  • SQL — il-klijenti u dawk li jibagħtu t-talbiet jaħdmu fuqha.
  • Dispożizzjonijiet transazzjonijiet - kollox huwa ċar hawn, ACID u dak kollu.
  • caching, li hija pprovduta minn buffer pools.
  • Logging — jipprovdi xogħol b'redo logs. Fil-MySQL jissejħu Bin Logs, f'PosgreSQL - Write Ahead Logs (WAL).
  • Ħażna – reġistrazzjoni diretta fuq disk.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database
Struttura tad-database f'saffi.

Hemm modi differenti biex tiskala databases: sharding, arkitettura Shared Nothing, diski kondiviżi.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Madankollu, dawn il-metodi kollha jżommu l-istess struttura ta 'database monolitika. Dan jillimita b'mod sinifikanti l-iskala. Biex insolvu din il-problema, żviluppajna d-database tagħna stess - Amazon Aurora. Huwa kompatibbli ma 'MySQL u PostgreSQL.

Amazon Aurora

L-idea arkitettonika ewlenija hija li tissepara l-livelli tal-ħażna u tal-qtugħ mid-database prinċipali.

B'ħarsa 'l quddiem, jien ngħid li għamilna wkoll il-livell ta' caching indipendenti. L-arkitettura ma tibqax monolith, u niksbu gradi addizzjonali ta 'libertà fl-iskala ta' blokki individwali.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database
Il-livelli tal-illoggjar u l-ħażna huma separati mid-database.

DBMS tradizzjonali jikteb data għal sistema ta 'ħażna fil-forma ta' blokki. Fl-Amazon Aurora, ħloqna ħażna intelliġenti li tista 'titkellem lingwa redo-logs. Ġewwa, il-ħażna ddawwar zkuk fi blokki tad-dejta, tissorvelja l-integrità tagħhom u awtomatikament tagħmel backup.

Dan l-approċċ jippermettilek li timplimenta affarijiet interessanti bħal dawn klonazzjoni. Taħdem fundamentalment aktar malajr u aktar ekonomikament minħabba l-fatt li ma teħtieġx li tinħoloq kopja sħiħa tad-dejta kollha.

Is-saff tal-ħażna huwa implimentat bħala sistema distribwita. Tikkonsisti f'numru kbir ħafna ta' servers fiżiċi. Kull redo log jiġi pproċessat u salvat simultanjament sitt għoqod. Dan jiżgura l-protezzjoni tad-dejta u l-ibbilanċjar tat-tagħbija.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

L-iskala tal-qari jista' jinkiseb bl-użu ta' repliki xierqa. Il-ħażna mqassma telimina l-ħtieġa għal sinkronizzazzjoni bejn l-istanza tad-database prinċipali, li permezz tagħha niktbu d-dejta, u r-repliki li jifdal. Data aġġornata hija garantita li tkun disponibbli għar-repliki kollha.

L-unika problema hija caching data antika fuq repliki moqrija. Iżda din il-problema qed tissolva trasferiment tar-redo logs kollha għal repliki fuq in-netwerk intern. Jekk ir-reġistru jinsab fil-cache, huwa mmarkat bħala mhux korrett u miktub fuqu. Jekk ma jkunx fil-cache, huwa sempliċement mormi.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Irranġajna l-ħażna.

Kif tiskala l-livelli tad-DBMS

Hawnhekk, l-iskala orizzontali hija ħafna aktar diffiċli. Mela ejja mmorru fit-triq imsawta skalar vertikali klassiku.

Ejja nassumu li għandna applikazzjoni li tikkomunika mad-DBMS permezz ta 'node prinċipali.

Meta nkabbru vertikalment, nallokaw node ġdid li se jkollu aktar proċessuri u memorja.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Sussegwentement, naqilbu l-applikazzjoni min-nodu kaptan l-antik għal dak il-ġdid. Jqumu problemi.

  • Dan se jirrikjedi waqfien sinifikanti tal-applikazzjoni.
  • In-node prinċipali l-ġdid se jkollu cold cache. Il-prestazzjoni tad-database tkun massima biss wara li l-cache tissaħħan.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Kif tittejjeb is-sitwazzjoni? Stabbilixxi prokura bejn l-applikazzjoni u n-nodu prinċipali.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Dan x’se jagħtina? Issa l-applikazzjonijiet kollha m'għandhomx għalfejn jiġu ridiretti manwalment lejn in-nodu l-ġdid. Is-swiċċ jista 'jsir taħt prokura u huwa fundamentalment aktar mgħaġġel.

Jidher li l-problema ġiet solvuta. Imma le, għadna nbatu mill-ħtieġa li nsaħħnu l-cache. Barra minn hekk, dehret problema ġdida - issa l-prokura hija punt potenzjali ta 'falliment.

Soluzzjoni finali bl-Amazon Aurora serverless

Kif solvejna dawn il-problemi?

Ħallat prokura. Din mhix eżempju separat, iżda flotta sħiħa mqassma ta' prokuri li permezz tagħhom l-applikazzjonijiet jgħaqqdu mad-database. F'każ ta 'falliment, kwalunkwe nodi jista' jiġi sostitwit kważi istantanjament.

Miżjud ġabra ta 'nodi sħun ta' daqsijiet varji. Għalhekk, jekk ikun meħtieġ li jiġi allokat node ġdid ta 'daqs akbar jew iżgħar, huwa immedjatament disponibbli. M'hemmx għalfejn tistenna biex titgħabba.

Il-proċess kollu tal-iskala huwa kkontrollat ​​minn sistema ta 'monitoraġġ speċjali. Il-monitoraġġ jimmonitorja kontinwament l-istat tan-node prinċipali attwali. Jekk jiskopri, pereżempju, li t-tagħbija tal-proċessur laħqet valur kritiku, tinnotifika lill-grupp ta 'istanzi sħan dwar il-ħtieġa li jiġi allokat node ġdid.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database
Prokuri mqassma, każijiet sħun u monitoraġġ.

Node bil-qawwa meħtieġa hija disponibbli. Il-buffer pools jiġu kkupjati lilha, u s-sistema tibda tistenna għal mument sikur biex taqleb.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Normalment il-mument tal-bidla jasal pjuttost malajr. Imbagħad il-komunikazzjoni bejn il-prokura u n-nodu kaptan l-antik tiġi sospiża, is-sessjonijiet kollha jinqalbu għan-nodu l-ġdid.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Ix-xogħol mad-database jerġa' jibda.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Il-graff turi li s-sospensjoni hija tassew qasira ħafna. Il-grafika blu turi t-tagħbija, u l-passi ħomor juru l-mumenti tal-iskala. Dips għal żmien qasir fil-grafika blu huma preċiżament dak id-dewmien qasir.

Kif l-AWS isajjar is-servizzi elastiċi tagħha. Skala servers u database

Mill-mod, Amazon Aurora tippermettilek tiffranka kompletament il-flus u itfi d-database meta ma tkunx qed tintuża, pereżempju, fi tmiem il-ġimgħa. Wara li twaqqaf it-tagħbija, id-DB inaqqas gradwalment il-qawwa tiegħu u jintefa għal xi żmien. Meta t-tagħbija terġa 'lura, terġa' titla' bla xkiel.

Fil-parti li jmiss tal-istorja dwar l-apparat tal-Amazon, ser nitkellmu dwar l-iskala tan-netwerk. Abbona posta u oqgħod attentat biex ma titlifx l-artiklu.

Fuq HighLoad ++ Vasily Pantyukhin se jagħti rapport "Houston, għandna problema. Disinn ta 'sistemi għall-falliment, mudelli ta' żvilupp għal servizzi interni tal-cloud tal-Amazon" Liema mudelli ta 'disinn għal sistemi distribwiti jintużaw mill-iżviluppaturi tal-Amazon, x'inhuma r-raġunijiet għall-fallimenti tas-servizz, x'inhi l-arkitettura bbażata fuq iċ-Ċelluli, Xogħol Kostanti, Shuffle Sharding - se jkun interessanti. Inqas minn xahar sal-konferenza - ibbukkja l-biljetti tiegħek. Ottubru 24 żieda fil-prezz finali.

Sors: www.habr.com

Żid kumment