Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Makore akafanana nebhokisi remashiripiti - iwe unobvunza zvaunoda, uye zviwanikwa zvinongoonekwa pasina kwazvino. Virtual michina, dhatabhesi, network - zvese izvi ndezvenyu chete. Kune mamwe maroja emakore, asi muUniverse yako ndiwe wega mutongi. Iwe une chokwadi chekuti iwe unogara uchigamuchira izvo zvinodiwa zviwanikwa, hautore chero munhu muaccount uye iwe wakazvimirira sarudza kuti network ichave yakaita sei. Mashiripiti aya anoshanda sei anoita kuti gore rigovane zviwanikwa uye riparadzanise zvachose maroja kubva kune mumwe nemumwe?

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Iyo AWS gore ndeye mega-super yakaoma sisitimu yave kubuda nekushanduka kubva 2006. Chikamu chechiitiko ichi chakaitika Vasily Pantyukhin - Amazon Web Services Architect. Semugadziri wezvivakwa, anowana kutarisa kwemukati kwete chete pamhedzisiro, asiwo pamatambudziko anokunda AWS. Kunyanya kunzwisiswa kwemashandiro anoita system, kunowedzera kuvimba. Naizvozvo, Vasily achagovera zvakavanzika zveAWS gore masevhisi. Pazasi pane dhizaini yemaseva eAWS emuviri, elastic dhatabhesi scalability, tsika Amazon dhatabhesi uye nzira dzekuwedzera mashandiro emuchina chaiwo panguva imwe chete ichidzikisa mutengo wavo. Ruzivo rwemaitiro eAmazon ekuvaka anokubatsira kushandisa masevhisi eAWS zvakanyanya uye anogona kukupa mazano matsva ekuvaka yako mhinduro.

Pamusoro pemukurukuri: Vasily Pantyukhin (Hen) akatanga ari Unix admin kumakambani e.ru, akashanda pane yakakura Sun Microsystem hardware kwemakore 6, uye akaparidza nyika yedata-centric paEMC kwemakore gumi nerimwe. Izvo zvakasikwa zvakashanduka kuita makore ega, uye muna 11 yakatamira kune yeruzhinji. Iye zvino anopa zano rehunyanzvi kubatsira kurarama nekusimudzira mugore reAWS.

Disclaimer: zvese zviri pasi apa maonero aVasily uye anogona kusapindirana nechinzvimbo cheAmazon Web Services. Kurekodha vhidhiyo Chirevo chakavakirwa chinyorwa chinowanikwa pane yedu YouTube chiteshi.

Sei ndiri kutaura nezve Amazon mudziyo?

Mota yangu yekutanga yaive nemanual transmission. Zvakanga zvakanaka nekuda kwekunzwa kuti ndaigona kutyaira mota uye kuva nekutonga kwakakwana pamusoro payo. Ndakafarirawo kuti ini ndainyatsonzwisisa nheyo yekushanda kwayo. Sezvineiwo, ndaifungidzira chimiro chebhokisi kuve chekare - chimwe chinhu chakaita segiya bhokisi pabhasikoro.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Zvese zvaive zvakanaka, kunze kwechinhu chimwe chete - kunamatira mumigwagwa. Zvinoita sekunge wakagara uye hapana chauri kuita, asi iwe unogara uchichinja magiya, uchidzvanya clutch, gasi, brake - zvinokunetesa. Dambudziko remumigwagwa rakapedzwa zvishoma apo mhuri yakawana mota otomatiki. Ndichiri kutyaira, ndaiva nenguva yekufunga nezvechimwe chinhu uye kuteerera kune audiobook.

Chimwe chakavanzika chakaonekwa muhupenyu hwangu, nekuti ndakamira zvachose kunzwisisa kuti mota yangu inoshanda sei. Motokari yemazuva ano chinhu chakaoma. Iyo mota inochinjika panguva imwe chete kune akawanda akasiyana paramita: kudzvanya gasi, mabhureki, maitiro ekutyaira, mhando yemugwagwa. Handichanzwisisa kuti zvinofamba sei.

Pandakatanga kushanda pagore reAmazon, chaivewo chakavanzika kwandiri. Chete chakavanzika ichi chirongwa chehukuru hukuru, nekuti kune mutyairi mumwechete mumotokari, uye muAWS kune mamirioni avo. Vese vashandisi panguva imwe chete vanotungamira, dzvanya gasi uye bhureki. Zvinoshamisa kuti vanoenda kwavanoda - chishamiso kwandiri! Iyo sisitimu inongoerekana yachinja, zviyero uye elastically inogadzirisa kune mumwe nemumwe mushandisi kuitira kuti zviratidzike kwaari kuti ari ega mune ino Chadenga.

Mashiripiti akapera zvishoma pandakazouya kuzoshanda semugadziri wekuvaka paAmazon. Ndakaona matambudziko atinosangana nawo, magadzirisiro atinoaita, uye magadzirirwo atinoita masevhisi. Nekuwedzera kunzwisisa kwemashandiro anoita sisitimu, kuvimba kwakawanda mubasa kunooneka. Saka ini ndoda kugovera mufananidzo wezviri pasi pehodhi yeAWS gore.

Tichataura nezvei

Ndakasarudza nzira yakasiyana-siyana - ndakasarudza 4 masevhisi anonakidza akakodzera kutaura nezvawo.

Server optimization. Ephemeral clouds ine embodiment yemuviri: physical data centers uko kune maseva emuviri anofembera, anopisa uye anobwaira nemwenje.

Serverless mabasa (Lambda) ingangove iyo yakanyanya scalable sevhisi mugore.

Database scaling. Ini ndichakuudza nezve magadzirirwo atinoita edu ega scalable dhatabhesi.

Network kuyera. Chikamu chekupedzisira chandichavhura mudziyo wetiweki yedu. Ichi chinhu chinoshamisa - wese mushandisi wegore anotenda kuti ari ega mugore uye haaone mamwe maroja zvachose.

Cherechedza. Ichi chinyorwa chichakurukura server optimization uye database scaling. Tichatarisa kuyera kwenetiweki muchinyorwa chinotevera. Aripi serverless mabasa? Chimwe chinyorwa chakasiyana chakabudiswa pamusoro pavo "Mudiki, asi akangwara. Unboxing Firecracker microvirtual" Iyo inotaura nezve akati wandei akasiyana nzira dzekuyera, uye inokurukura zvakadzama mhinduro yeFirecracker - symbiosis yemhando yepamusoro yemuchina chaiwo uye midziyo.

Maseva

Gore riri ephemeral. Asi ephemerality ichi ichine chimiro chemuviri - maseva. Pakutanga, mavakirwo avo aive echinyakare. Yakajairwa x86 chipset, makadhi etiweki, Linux, Xen hypervisor paiitwa machina chaiwo.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Muna 2012, chivakwa ichi chakasangana nemabasa ayo zvakanaka. Xen yakakura hypervisor, asi ine imwe hombe dhiraivha. Ane zvakakwana kumusoro kwepamusoro kwekutevedzera mudziyo. Sezvitsva, zvinokurumidza makadhi etiweki kana maSSD madhiraivha anowanikwa, ichi chepamusoro chinova chakanyanya kukwirira. Nzira yekugadzirisa sei dambudziko iri? Takasarudza kushanda pamativi maviri kamwechete - gadzirisa zvese zviri zviviri Hardware uye hypervisor. Basa racho rakakura chaizvo.

Kugadzirisa Hardware uye hypervisor

Kuita zvese kamwechete uye kuzviita nemazvo hazvishande. Chii "chakanaka" chakanga chisina kujeka pakutanga.

Isu takasarudza kutora nzira yekushanduka-shanduka - isu tinoshandura chinhu chimwe chakakosha chekuvaka uye nekuchikanda mukugadzira.

Isu tinotsika pane yega yega, teerera zvichemo uye mazano. Zvadaro tinoshandura chimwe chikamu. Saka, mune zvidiki zvidiki, isu tinoshandura zvakanyanya dhizaini yese zvichienderana nemhinduro kubva kune vashandisi nerutsigiro.

Kushandurwa kwakatanga muna 2013 nechinhu chakaoma zvikuru - network. IN S3 zviitiko, yakakosha Network Accelerator kadhi yakawedzerwa kune yakajairwa network kadhi. Yakanga yakabatana chaizvo netambo pfupi ye loopback pane yepamberi. Haina kunaka, asi haioneki mugore. Asi kupindirana kwakananga nehardware kwakagadziridzwa jitter uye network throughput.

Tevere takafunga kuvandudza kuwanikwa kwekuvhara data kuchengetedza EBS - Elastic Block Storage. Iko kusanganiswa kwetiweki uye kuchengetedza. Chinonetsa ndechekuti nepo Network Accelerator makadhi aripo pamusika, pakanga pasina sarudzo yekungotenga Storage Accelerator hardware. Saka takatendeukira kune yekutanga Annapurna Labs, uyo akatigadzirira machipisi anokosha eASIC. Vakabvumira kure kure EBS mavhoriyamu kuti aiswe seNVMe zvishandiso.

Muzviitiko C4 takagadzirisa matambudziko maviri. Chekutanga ndechekuti takaisa hwaro hweramangwana rekuvimbisa, asi nyowani panguva iyoyo, tekinoroji yeNVMe. Kechipiri, isu takaburitsa zvakanyanya iyo yepakati processor nekuendesa kugadziridzwa kwezvikumbiro kuEBS kune kadhi nyowani. Zvakaitika zvakanaka, saka ikozvino Annapurna Labs chikamu cheAmazon.

Pakazosvika Mbudzi 2017, takaona kuti yaive nguva yekuchinja iyo hypervisor pachayo.

Iyo hypervisor nyowani yakagadzirwa zvichibva pane yakagadziridzwa KVM kernel modules.

Izvo zvakaita kuti zvikwanise kudzikisira zvakanyanya pamusoro pekutevedzera kwemudziyo uye kushanda zvakananga nemaASIC matsva. Instances S5 aive ekutanga machina emagetsi aine hypervisor nyowani inomhanya pasi pehodhi. Takamutumidza zita Nitro.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye databaseKuchinja kwezviitiko pane nguva yakatarwa.

Ese marudzi matsva emakina chaiwo akaonekwa kubva munaNovember 2017 anomhanya pane iyi hypervisor. Bare Metal zviitiko hazvina hypervisor, asi vanonziwo Nitro, sezvo vachishandisa makadhi eNitro akasarudzika.

Mumakore maviri akatevera, nhamba yemhando dzezviitiko zveNitro zvakapfuura gumi nemaviri: A1, C5, M5, T3 nevamwe.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database
Mhando dzemienzaniso.

Michina yemazuva ano yeNitro inoshanda sei

Vane zvinhu zvitatu zvakakosha: iyo Nitro hypervisor (yakurukurwa pamusoro), iyo yekuchengetedza chip uye makadhi eNitro.

Chengetedzo chip yakabatanidzwa zvakananga mubhodhi reamai. Iyo inodzora akawanda akakosha mabasa, akadai sekudzora kurodha kweiyo host OS.

Nitro makadhi - Kune marudzi mana azvo. Ese anogadzirwa neAnnapurna Labs uye anobva pane zvakajairika ASICs. Zvimwe zve firmware yavo zvakajairika zvakare.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database
Mhando ina dzemakadhi eNitro.

Imwe yemakadhi akagadzirirwa kushanda nawo networkVPC. Izvi ndizvo zvinoonekwa mumashini chaiwo setiweki kadhi ENA - Elastic Network Adapter. Iyo zvakare inovhara traffic paunenge uchiifambisa kuburikidza netiweki yemuviri (tichataura nezvazvo muchikamu chechipiri chechinyorwa), inodzora Security Groups firewall, uye ine basa rekufambisa uye zvimwe zvinhu zvetiweki.

Sarudza makadhi anoshanda neblock storage EBS uye madhisiki akavakirwa museva. Ivo vanoonekwa kune muenzi chaiwo muchina se NVMe adapters. Ivo zvakare vane basa rekunyorera data uye dhisiki yekutarisa.

Iyo sisitimu yemakadhi eNitro, hypervisor uye chengetedzo chip inosanganiswa mune SDN network kana Software Defined Network. Ine basa rekutonga iyi network (Control Plane) controller kadhi.

Ehe, isu tinoenderera mberi nekugadzira maASIC matsva. Semuenzaniso, pakupera kwe2018 vakaburitsa Inferentia chip, iyo inokutendera kuti ushande zvakanyanya nemashini ekudzidza mabasa.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database
Inferentia Machine Kudzidza processor chip.

Scalable Database

Dhatabhesi yechinyakare ine dhizaini yakarongeka. Kurerutsa zvakanyanya, mazinga anotevera anosiyaniswa.

  • SQL - mutengi uye vanokumbira vanotumira vanoshanda pairi.
  • Zvigadziro kutengeserana - zvese zvakajeka pano, ACID uye zvese izvo.
  • caching, iyo inopiwa nemadziva e-buffer.
  • Kutema miti - inopa basa ne redo matanda. MuMySQL vanonzi Bin Logs, muPosgreSQL - Nyora Pamberi Logs (WAL).
  • Kuchengetedza - yakananga kurekodha kune dhisiki.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database
Layered database chimiro.

Pane nzira dzakasiyana dzekuyera dhatabhesi: sharding, Yakagovaniswa Hapana chivakwa, akagovaniswa madhisiki.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Nekudaro, nzira dzese idzi dzinochengetedza imwechete monolithic dhatabhesi chimiro. Izvi zvinoderedza zvakanyanya kuyera. Kugadzirisa dambudziko iri, takagadzira yedu dhatabhesi - Amazon Aurora. Inoenderana neMySQL uye PostgreSQL.

Amazon Aurora

Pfungwa huru yekuvaka ndeyekuparadzanisa mazinga ekuchengetera nematanda kubva kune huru dhatabhesi.

Ndichitarisa kumberi, ndichati isu takaitawo kuti caching level yakazvimirira. Iyo dhizaini inomira kuita monolith, uye isu tinowana mamwe madhigirii erusununguko mukuyera mabhuroko ega.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database
Iyo yekutema matanda uye mazinga ekuchengetedza akasiyana kubva kune database.

Yechinyakare DBMS inonyora data kune yekuchengetera sisitimu nenzira yemabhuraki. KuAmazon Aurora, isu takagadzira smart chengetedzo inokwanisa kutaura mutauro redo-logs. Mukati, chengetedzo inoshandura matanda kuita mabhuraki edata, inotarisisa kutendeseka kwavo uye inodzosera otomatiki.

Iyi nzira inokubvumira kuti uite zvinhu zvinonakidza zvakadai se cloning. Inoshanda zvakanyanya nekukurumidza uye zvakanyanya hupfumi nekuda kwekuti haidi kugadzira kopi yakazara yedata rese.

Iyo yekuchengetedza layer inoshandiswa seyakagoverwa system. Iyo ine nhamba huru kwazvo yemaseva emuviri. Imwe neimwe redo log inogadziriswa uye inochengetwa panguva imwe chete mapfundo matanhatu. Izvi zvinovimbisa kuchengetedzwa kwedata uye kuyera kuyera.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Kuverenga kuyera kunogona kuwanikwa uchishandisa zvakakodzera replicas. Kuchengetedzwa kwakagoverwa kunobvisa kudiwa kwekuyananisa pakati peiyo huru dhatabhesi muenzaniso, iyo yatinonyora data, uye yakasara replicas. Kusvika-data data inovimbiswa kuwanikwa kune ese makopi.

Dambudziko chete ndere caching yekare data pane kuverenga replicas. Asi dambudziko iri riri kugadziriswa kutamiswa kwezvese redo matanda kudzokorora pane network yemukati. Kana iyo log iri mu cache, inomakwa seisina kururama uye yakanyorwa pamusoro. Kana isiri mu cache, inongoraswa.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Takaronga chengetedzo.

Maitiro ekuyera DBMS tiers

Pano, kuyera kuenzana kwakaoma zvakanyanya. Saka ngatidzikei munzira yakarohwa classic vertical scaling.

Ngatifungei kuti isu tine application inotaurirana neDBMS kuburikidza ne master node.

Pakuyera wakatwasuka, isu tinogovera node nyowani inova neakawanda ma processor uye ndangariro.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Tevere, isu tinoshandura iyo application kubva kune yekare master node kuenda kune itsva. Matambudziko anomuka.

  • Izvi zvinoda zvakakosha application downtime.
  • Iyo itsva master node ichava nechando cache. Kuita kweDatabase kuchave kwakanyanya chete mushure mekunge cache yadziya.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Nzira yekuvandudza sei mamiriro acho ezvinhu? Misa proxy pakati pekushandisa uye master node.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Izvi zvichatipei? Ikozvino maapplication ese haafanire kudzoserwa nemaoko kune itsva node. Iyo switch inogona kuitwa pasi pe proxy uye inokurumidza kukurumidza.

Zvinoita sekuti dambudziko ragadziriswa. Asi kwete, isu tichiri kutambura nekudiwa kwekudziya cache. Mukuwedzera, dambudziko idzva ravepo - ikozvino proxy ndiyo inogona kukanganisa.

Yekupedzisira mhinduro neAmazon Aurora serverless

Takagadzirisa sei matambudziko aya?

Kusiya mumiriri. Uyu hausi wakaparadzana muenzaniso, asi boka rose rakaparadzirwa reproxies kuburikidza iyo maapplication anobatana kune dhatabhesi. Muchiitiko chekukundikana, chero ipi zvayo node inogona kuchinjwa kanenge pakarepo.

Yakawedzera dziva remazino anodziya ehukuru hwakasiyana. Nokudaro, kana zvakakosha kugovera node itsva yehukuru kana diki, inowanikwa pakarepo. Hapana chikonzero chekumirira kuti itakure.

Iyo yese yekuyera maitiro inodzorwa neyakakosha yekutarisa system. Monitoring inogara ichitarisa mamiriro ezvino master node. Kana ikaona, semuenzaniso, kuti processor yasvika pakukosha kwakakosha, inozivisa dziva rezviitiko zvinodziya nezve kukosha kwekugovera node nyowani.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database
Yakagoverwa proxies, inodziya zviitiko uye yekutarisa.

Node ine simba rinodiwa inowanikwa. Madziva eBuffer anoteedzerwa kwairi, uye sisitimu inotanga kumirira nguva yakachengeteka kuti ichinje.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Kazhinji nguva yekuchinja inouya nekukurumidza. Ipapo kutaurirana pakati peiyo proxy neyekare master node inomiswa, ese masesheni anochinjirwa kune itsva node.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Shanda nedatabase inotangazve.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Girafu inoratidza kuti kumiswa ipfupi chaizvo. Girafu yebhuruu inoratidza mutoro, uye matanho matsvuku anoratidza nguva dzekuyera. Kunyura kwenguva pfupi mugirafu yebhuruu ndiko kunonoka kupfupi ikoko.

Iyo AWS inobika sei ayo elastic masevhisi. Kuyera maseva uye database

Nenzira, Amazon Aurora inokubvumira kuchengetedza zvachose mari uye kudzima dhatabhesi kana isiri kushandiswa, semuenzaniso, pakupera kwevhiki. Mushure mokumisa mutoro, DB zvishoma nezvishoma inoderedza simba rayo uye inodzima kwenguva yakati. Kana mutoro wacho uchidzoka, uchasimuka zvakanaka zvakare.

Muchikamu chinotevera chenyaya nezveAmazon mudziyo, isu tichataura nezve network kuyera. Nyorera tsamba wogara wakatarisa kuti usarasikirwe nechinyorwa.

pamusoro YakakwiraLoad ++ Vasily Pantyukhin achapa mushumo "Houston, tine dambudziko. Dhizaini yemasisitimu ekutadza, maitiro ekuvandudza emukati meAmazon Cloud services" Ndeapi dhizaini mapatani eakagoverwa masisitimu anoshandiswa nevagadziri veAmazon, ndezvipi zvikonzero zvekutadza kwebasa, chii chinonzi Cell-based architecture, Constant Work, Shuffle Sharding - ichave inonakidza. Pasati papera mwedzi kusvika musangano waitwa - bhuku matikiti ako. Gumiguru 24 yekupedzisira mutengo wekuwedzera.

Source: www.habr.com

Voeg