Programmēšana

Azure Cosmos DB paliek bez servera

Azure’s Cosmos DB ir viens no platformas pamatiem, kas nodrošina daudzus tās galvenos pakalpojumus. Tā ir izstrādāta jau no paša sākuma kā izplatīta datu bāze, un tā ievieš dažādu konsekvences modeļu kopumu, kas ļauj jums mainīt savu lietojumprogrammu veiktspēju un latentumu. Tad ir pieejami dažādi modeļi darbam ar datiem, sākot no pazīstamiem NoSQL un SQL API, atbalstot Mongo DB API, līdz Gremlin diagrammu vaicājumu meklētājprogrammai.

Cosmos DB ir pietiekami daudz, lai atbalstītu visbiežāk lietotos mākoņu izstrādes scenārijus, nodrošinot jums konsekventu datu platformu, kas var koplietot datus globālā mērogā. Microsoft to bieži raksturo kā “planētas mēroga datubāzi”, piemērotu aprakstu.

Bez servera alternatīva nodrošinātajai caurlaidei

Neskatoties uz visām priekšrocībām, Cosmos DB patiešām ir dažas ēnas puses; ne mazāk tās izmaksas. Neskatoties uz to, ka pastāv salīdzinoši ierobežota bezmaksas opcija, tās mēroga vadīšana var būt dārga, un jums tas jāņem vērā, veidojot ap to lietojumprogrammas. Budžeta plānošana Cosmos DB pieprasījumu vienībām ir sarežģīts process, kuru pirmo reizi ir grūti panākt, it īpaši, ja jūs veicat mērogošanu manuāli vai automātiski.

Microsoft jau kādu laiku ir palaidis priekšskatījumu bez servera opcijai Cosmos DB, pamatojoties uz tās galveno SQL API. Tā ir interesanta alternatīva tradicionāli nodrošinātajai opcijai. Tas iekasē maksu tikai tad, kad izpilda pieprasījumu, un aptur jūsu gadījumu, ja nekas nenotiek. Datu bāzes darbībās būs papildu latentums, jo, kad tas ir apturēts, jūsu instancei ir jāpastiprina. Protams, par krātuvi ir jāmaksā, taču tas pats attiecas uz jebkuru Azure datu bāzi. Sākotnējais izmēģinājums tagad ir paplašināts, iekļaujot visus Cosmos DB API, un to vispārējā pieejamība nav pārāk tālu nākotnē.

Pievienojot bez servera opciju Cosmos DB, ir daudz jēgas daudzu veidu slodzēm, kurās saņemat pieprasījumus nelielā skaitā un partijās. Nelielai slodzei ar neregulāru operāciju modeli uz patēriņa balstītu cenu noteikšanas modeli ir daudz jēgas - un tas ilgtermiņā var ietaupīt ievērojamu naudas summu, jo nav saistību ar nodrošināto caurlaidi.

Izmaksas ir zemas: jūs maksājat 0,282 USD par pieprasījumu bez servera vienību par miljonu DPU norēķinu ciklā. Ja jums nepieciešams uzticamāks serveris, varat iestatīt pieejamības zonu, lai gan tas palielina izmaksas par 1,25x. Tas joprojām ir saprātīgs darījums, un tas, ko zaudējat paredzamībā, iegūst zemākas izmaksas. Glabāšanas izmaksas paliek nemainīgas gan manuālai, gan automātiskai nodrošināšanai.

Darba sākšana ar bez servera Cosmos DB

Pārlēkt ir pietiekami viegli. Tāpat kā parastam Cosmos DB kontam, jums tas būs jāpiešķir abonementam un jāpievieno bez servera eksemplārs resursu grupai. Pēc tam izvēlieties API, kuru plānojat izmantot vaicājumiem, un, kad tiek lūgts izvēlēties jaudas režīmu, izvēlieties bez servera, nevis nodrošināto caurlaidi. Visbeidzot saistiet to ar reģionu, atceroties, ka bez servera var izmantot tikai vienā Azure reģionā; ģeogrāfiskās atlaišanas iespējas nav. Arī jūs to nevarēsit izmantot ar bezmaksas līmeni.

Kad darbojas jūsu servera instance, varat izmantot tās API, lai ielādētu datus un veiktu vaicājumus. Tāpat kā parasto Cosmos DB gadījumu, jūs varat izveidot JavaScript funkcijas un aktivizētājus, kas darbojas datu bāzē, kā arī izmantot daudzos dažādus API vaicājumu pārvaldībai.

Drīzumā bez servera Cosmos DB vajadzētu pāriet no priekšskatījuma, un tas atbalsta atbalstu visām savām API, pat nesenajai Cassandra API. Tā kā tas ir publisks priekšskatījums, varat to iestatīt un izpētīt tā darbību tieši no Azure portāla. Lai gan priekšskatījumā ARM vai cita infrastruktūra kā koda izvietošanas rīki netiek atbalstīti, tomēr tam vajadzētu būt pēc tam, kad pakalpojums ir vispārēji pieejams. Jūs nevarat automatizēt konfigurāciju un izvietošanu, tāpēc pašlaik to nevarēsit izmantot kā daļu no CI / CD (nepārtraukta integrācija / nepārtraukta piegāde) cauruļvada, jo izvietošanai būs jābūt manuālai.

Celtniecības kods ar bez servera Cosmos DB

Vienā vietā, kurā jums vajadzētu iegūt lielu vērtību no servera nesaturoša Cosmos DB, ir paralēli Azure Functions. Abas vide bez servera labi darbojas kopā un ir ideāli piemērotas strauju, maza apjoma, notikumu virzītām lietojumprogrammām. Bez servera Cosmos DB var ātri palielināt no nulles līdz 5000 pieprasījumu vienībām sekundē, tādēļ, ja rakstāt kodu, kas izmanto Funkcijas, lai izsekotu kļūdu apstākļus vai citus brīdinājumus, tā ir iespēja ātri apkopot un saglabāt datus.

Korporācija Microsoft iesaka to izmantot kā daļu no izstrādes vides, kur jūs apkopojat datus par pieprasījumiem, kas nepieciešami jūsu pilna mēroga lietojumprogrammai. Tā kā pieprasījumu vienību nodrošināšana ir melna māksla, bez serveriem ieviesta ieviešana, kas darbojas ar visu jūsu datu bāzē esošo kodu, ir noderīgs izstrādes rīks. Varat iestatīt darbības vidi, palaist testus, uzņemt izmantoto pieprasījumu skaitu un pēc tam izmantot šos datus ražošanas izvietošanas nodrošināšanai.

Izpratne par bez servera ierobežojumiem

Bez servera Cosmos DB konta lietošanai ir ierobežojumi. Varbūt vissvarīgākais ir tas, ka jūs nesaņemat piekļuvi vairāku reģionu izvietošanai, jo bez servera konti darbojas tikai vienā reģionā. Tas ir ierobežojums, kas ir jēga: Daudzreģionu Cosmos DB ieviešanai starpreģionu replikācijai un konsekvencei nepieciešami vairāki gadījumi, kas darbojas vienlaikus. Ja bez servera gadījumi darbojas tikai tad, kad tie apstrādā pieprasījumus, nav garantijas, ka cits reģions būs tiešsaistē, lai apstrādātu replikāciju. Rezultātā tiek veiktas izmaiņas Cosmos DB servisa līmeņa objektā bez servera gadījumiem, paredzot, ka rakstīšanas laiks ir 30 ms vai mazāks un lasīšanas laiks ir 10 ms vai mazāk.

Otrs atslēgas ierobežojums ir ne vairāk kā 5000 pieprasījuma vienību sekundē. Atkal tam vajadzētu būt pietiekamam lielākajai daļai vienkāršu vai izstrādes ieviešanas gadījumu, taču tas prasa, lai jūs sekotu savām lietojumprogrammām un būtu gatavs pāriet uz nodrošināto Cosmos DB gadījumu, ja regulāri pārsniedzat savas robežas. Tajā pašā laikā katrā konteinerā bez servera var saglabāt tikai 50 GB datu un indeksu. Microsoft nodrošina rīkus Azure portālā, lai palīdzētu uzraudzīt darbības, kā arī Azure Monitor.

Pievienojot bez servera opciju Cosmos DB, tiek atbildēts uz daudziem jautājumiem par izmaksām. Zema lietojuma scenārijiem, kur jums nav nepieciešams globāls pārklājums, tam vajadzētu būt jūsu pirmajai izvēlei. Pārejiet uz nodrošināto caurlaidspējas gadījumu izmantošanu tikai tad, kad spējat saprast savas lietojumprogrammas pieprasījuma modeli un attiecīgi var plānot budžetu.