Jani K. Savolainen, Founder & CTO, SQL Governor & DB Pro Services Oy.

SQL Server -ympäristöissä kustannuksia ei yleensä synny pelkästään liian suuresta palvelinmäärästä. Yhtä merkittävä ongelma on ylikapasiteetti.

SQL Server -ympäristöissä kustannuksia ei yleensä synny pelkästään liian suuresta palvelinmäärästä. Yhtä merkittävä ongelma on ylikapasiteetti. CPU-ytimiä, muistia ja tallennusresursseja mitoitetaan varmuuden vuoksi enemmän kuin todellinen työkuorma edellyttää. Tämä näkyy suoraan infrastruktuuri- ja erityisesti SQL Server -lisensointikustannuksissa. Toisaalta taas alikapasitointi vaarantaa tuotantoympäristön palvelutason ja saatavuuden, joskaan tämä ilmiö ei ole aivan yhtä yleinen, kuin ylikapasitointi.

SQL Governor lähestyy ongelmaa yhdistämällä samaan ratkaisuun ennakoivan SQL Server -monitoroinnin, suorituskykyanalyysin ja kapasiteettioptimoinnin. Pitkän aikavälin mittausdata mahdollistaa sen, että kapasiteettipäätökset voidaan tehdä todellisten työkuormien, huippukuormien ja kehitystrendien perusteella yksittäisten hetkellisten mittausten sijaan.

Keskeinen erottautumistekijä on se, että SQL Governorin kapasiteettisuunnitteluun, konsolidointiin sekä työkuormaprofiilien ennakoivaan hälyttämiseen liittyvät menetelmät ovat kansainvälisesti patentoituja. Tämä kuvastaa sitä, että kyse ei ole pelkästään perinteisestä monitorointidatan visualisoinnista, vaan kehittyneisiin analytiikka- ja ennustemenetelmiin perustuvasta teknologiasta.

Right-sizing ja konsolidointi ilman arvailua

Yksi merkittävimmistä kustannussäästöjen lähteistä on SQL Server -ympäristön right-sizing. SQL Governor analysoi CPU-, muisti- ja tallennuskapasiteetin tarvetta niin palvelin-, instanssi- kuin tietokantatasolla.

Kapasiteettisuunnittelussa järjestelmä hyödyntää historiallista aikasarjadataa, Spec.org:ista johdettuja suorituskykybenchmark -tietoja sekä kehittyneitä analytiikkamenetelmiä optimaalisen kohdeympäristön mitoittamiseen. Samalla voidaan mallintaa konsolidointia, eli mitkä työkuormat voidaan sijoittaa samoille palvelimille tai instansseille ilman, että kapasiteettirajat tai palvelutasot vaarantuvat lyhyellä tai pitkällä aikavälillä.

Juuri tähän liittyvät SQL Governorin patentoituihin menetelmiin perustuvat kapasiteetti- ja konsolidointianalyysit, joiden tavoitteena on tehdä työkuormien sijoittelusta ja ympäristön mitoituksesta mahdollisimman kustannustehokasta, systemaattista ja datalähtöistä, unohtamatta liiketoiminnan vaatimuksia ja mahdollisia teknisiä rajoitteita.

DBA:n näkökulmasta hyöty on selkeä. Esimerkiksi päätös 32-ytimisen palvelimen korvaamisesta 16 ytimen palvelimella ei perustu keskimääräiseen CPU-kuormaan tai Excel-arvioon, vaan lukuisiin eri muuttujiin, kuten eri prosessorityyppien performanssivertailuun, työkuormien pidemmän aikavälin käyttäytymiseen ja todellisiin kuormituspiikkeihin, sekä systemaattiseen arvioon potentiaalisista teknisistä rajoitteista ja mahdollisuuksista suunniteltua topologiaa vastaan.

IT-palvelupäällikölle sama asia näkyy euroina. Vähemmän palvelimia, CPU-ytimiä ja tarpeettomasti varattua kapasiteettia tarkoittaa pienempää infrastruktuuri- ja lisensointikustannusta tinkimättä alustan saatavuudesta ja suorituskyvystä.

Monitoroinnista ennakoivaan monitorointiin

Perinteinen monitorointi kertoo tehokkaasti, mitä ympäristössä tapahtuu juuri nyt. Kustannustehokkaassa operoinnissa pitäisi kuitenkin tietää myös, mitä seuraavaksi tulee tapahtumaan.

SQL Governor muodostaa työkuormille perustasoja ja hyödyntää kapasiteettiennusteita, ennakoivia hälytyksiä sekä poikkeamien tunnistamista. Näin esimerkiksi CPU:n, levytilan, tietokantakyselyiden suoritussuunnitelmien tai muun resurssin lähestyvä kapasiteettiraja voidaan tunnistaa ennen kuin siitä syntyy käyttäjille näkyvä häiriö.

Myös prediktiiviset hälytysmekanismit kuuluvat SQL Governorin kansainvälisesti patentoituun metodologiaan. Tavoitteena ei ole vain reagoida jo tapahtuneeseen poikkeamaan, vaan tunnistaa ilmiö ja sen kehityssuunta riittävän aikaisin, jotta DBA tai palvelutiimi voi toimia ennen palvelutason heikkenemistä.

Tämä muuttaa myös kapasiteetin hankintamallia. Resursseja ei tarvitse lisätä ”varmuuden vuoksi”, vaan investointeja voidaan ajoittaa todellisen ennustetun tarpeen mukaan.

Prediktiivinen suorituskykyoptimointi vähentää myös kapasiteetin tarvetta

Kaikki kapasiteettiongelmat eivät ratkea lisäämällä kapasiteettia.

Jos CPU -kuorman aiheuttaa huonosti suunniteltu SQL-lause, puuttuva indeksi tai muuttunut suoritussuunnitelma, uuden palvelimen tai lisäytimien hankkiminen vain peittää varsinaisen ongelman. SQL Governor yhdistää kapasiteettitiedon SQL-lausetason analytiikkaan, plan cacheen, wait-statistiikkaan ja suorituskykydiagnostiikkaan, jolloin voidaan erottaa toisistaan todellinen kapasiteettitarve ja optimoitavissa oleva suorituskykyongelma.

Parhaimmillaan suorituskyky- ja kapasiteettioptimointi muodostavat positiivisen kierteen. Tehokkaammat SQL-työkuormat tarvitsevat vähemmän laskentakapasiteettia, mikä puolestaan mahdollistaa aggressiivisemman right-sizingin ja konsolidoinnin.

Kapasiteettia kannattaa johtaa jatkuvana prosessina

SQL Server FinOps ei ole kertaluonteinen konsolidointiprojekti. Workloadit, liiketoiminnan vaatimukset ja infrastruktuuri muuttuvat jatkuvasti.

Siksi tehokkain toimintamalli yhdistää jatkuvan monitoroinnin, ennustamisen, performanssioptimoinnin ja säännöllisen right-sizingin. SQL Governorin patentoitujen kapasiteetti-, konsolidointi- ja ennakointimenetelmien tarkoituksena on tuoda tähän prosessiin systematiikkaa ja automatisoitua analytiikkaa. Tällöin DBA saa teknisen näkyvyyden ympäristön käyttäytymiseen ja IT-palvelupäällikkö pystyy perustelemaan kapasiteetti- ja lisenssointipäätökset mitatulla datalla.

Lopputulos on yksinkertainen. SQL Server -ympäristössä ei tarvitse maksaa kapasiteetista, jota ei käytetä, eikä kapasiteettia tarvitse ostaa ratkaisemaan ongelmaa, joka olisi korjattavissa optimoinnilla.