Azure
Azure SQL Database jew SQL Server fuq VM? X'tgħallimt
It-tnejn jaħdmu SQL Server. Id-differenza hija min jagħmel il-patch, min jieħu l-backup, u kemm kontroll verament teħtieġ. Għall-API tiegħi, li nagħti dan kollu lil Azure kienet id-deċiżjoni ovvja.
Meta ddeployjajt is-Sports Betting API fuq Azure, kelli bżonn database warajha, u kien hemm żewġ għażliet ovvji: Azure SQL Database, is-servizz managed, jew virtual machine b'SQL Server installat fuqha. It-tnejn jaħdmu SQL Server. Id-differenza hija f'kollox madwar id-database, mhux id-database innifsu.
X'jfisser verament l-għażla tal-VM
VM b'SQL Server fuqha hija magna li nippossjedi jien. Nagħżel id-daqs, ninstalla SQL Server, nikkonfigurah, u jimxi eżatt bħal SQL Server fuq kwalunkwe magna oħra, għax dak li hu.
Dan ifisser ukoll li kollox dwar dik il-magna hu tiegħi biex nieħu ħsiebu. Aġġornamenti tas-sistema operattiva, patches ta' SQL Server, backups, konfigurazzjoni ta' high availability, u li nassigura li d-disk ma jimtliex. Jekk toħroġ security patch, l-applikazzjoni tagħha hija xogħol tiegħi, u d-downtime tiegħi.
Il-vantaġġ huwa kontroll totali. Aċċess sħiħ għall-istanza, kwalunkwe feature ta' SQL Server, kwalunkwe konfigurazzjoni, SQL Server Agent jobs, is-sistema tal-fajls, queries bejn diversi databases. Jekk neħtieġ xi ħaġa speċifika fil-livell tal-istanza, hija hemm.
X'tirrinunzja u x'tirbaħ lura Azure SQL Database
Azure SQL Database hija d-database bħala servizz. Ma niħux magna, niħu database, u Azure jieħu ħsieb is-sistema operattiva, il-patching, u l-backups awtomatizzati.
It-tradeoff huwa li xi affarijiet m'għadhomx tiegħi. M'hemmx SQL Server Agent bl-istess forma, ebda aċċess għas-sistema tal-fajls, ebda konfigurazzjoni fil-livell tal-istanza, u affarijiet bħal queries bejn diversi databases jaħdmu differenti jew lanqas biss jaħdmu. Huwa SQL Server, iżda verżjoni limitata tiegħu.
Għaliex għażilt il-verżjoni managed
Għall-API tiegħi d-deċiżjoni kienet sempliċi, u ma kinitx verament dwar il-features. Kienet dwar fuq xiex verament ridt nonfoq il-ħin.
Qed nibni API. M'iniex DBA, u ma rridx insir il-persuna responsabbli għall-patching ta' database server fuq proġett ta' studju. Kull siegħa mqatta' tinżamm VM hija siegħa mhux mqatta' fuq dak li verament qed nipprova nitgħallem. Azure SQL Database ifisser li d-database hija connection string u xejn iktar.
Il-backups kienu importanti wkoll. Backups awtomatizzati li ma jkollix għalfejn nikkonfigura jiswew ħafna meta mqabbla mal-alternattiva, li hija li niena nissettja skeda ta' backup u mbagħad niskopri iktar tard jekk verament ħadmitx.
Peress li l-applikazzjoni kollha taħdem fuq Azure Container Apps u hija kkonfigurata kompletament permezz ta' environment variables, id-database bħala endpoint managed taqbel eżatt ma' din il-forma. Xejn fl-app ma jaf jew jimpurtah x'hemm fin-naħa l-oħra tal-connection string.
Meta nagħżel il-VM minflok
Hemm raġunijiet reali, sempliċiment ma applikawx għalija.
Jekk applikazzjoni teħtieġ feature ta' SQL Server li s-servizz managed ma jappoġġax, dan jiddeċiedi kollox. Applikazzjonijiet legacy kultant jiddependu fuq imġiba fil-livell tal-istanza, linked servers, agent jobs speċifiċi, jew queries bejn diversi databases li jassumu li kollox jgħix f'istanza waħda.
Il-migrazzjoni ta' database eżistenti on-premises tista' wkoll tkun eħfef fuq VM, għax hija l-istess ambjent li kienet diġà taħdem fih. Li tiġi ttrasferita kif inhi u ma tinbidel xejn hija inqas riskjuża milli tadattaha għall-limiti ta' servizz managed.
U jekk tim diġà għandu DBAs li jafu kif iridu SQL Server ikkonfigurat, li tirrinunzja dak il-kontroll mhix iffrankar, hija telfa.
Ir-regola ġenerali li ħadt minn dan
Managed huwa d-default sakemm ma jkunx hemm raġuni speċifika għala ma jaħdimx. Il-mistoqsija mhix liema waħda hija l-aktar kapaċi, għax il-VM hija ovvjament l-aktar kapaċi. Hija jekk neħtieġx dik il-kapaċità żejda biżżejjed biex nieħu fuqi t-tħaddim ta' server għaliha.
Għall-biċċa l-kbira tal-applikazzjonijiet ġodda, u definittivament għal kull ma qed nibni bħalissa, it-tweġiba hija le. Nippreferi jkolli inqas affarijiet li huma tiegħi biex inżomm jaħdmu.