Övervakning i datacentret: hur vi bytte ut det gamla BMS mot det nya. Del 2

Övervakning i datacentret: hur vi bytte ut det gamla BMS mot det nya. Del 2

I den första delen berÀttade vi varför vi beslutade att byta ut vÄrt gamla BMS-system i vÄra datacenter till ett nytt. Och inte bara byta, utan utveckla det frÄn grunden för att möta vÄra krav. I den andra delen berÀttar vi hur vi gjorde det.

Marknadsanalys

Med hÀnsyn till de önskemÄl som beskrivits i första delen och beslutet att avstÄ frÄn att uppgradera det befintliga systemet skrev vi en kravspecifikation för att hitta en lösning pÄ marknaden och gjorde förfrÄgningar till flera stora företag som bara sysslar med skapandet av industriella SCADA-system. 

De första svaren frÄn dem visade att marknadsledarna inom övervakningssystem frÀmst fortsatt att jobba pÄ fysiska servrar, Àven om migreringen till molnet i denna sektor redan hade inletts. NÀr det gÀller reservdelning av virtuella maskiner - denna alternativ stödde ingen. Dessutom fanns det en kÀnsla av att ingen av de framstÄende utvecklarna pÄ marknaden ens visade förstÄelse för behovet av reservdelning: "molnet gÄr ju inte ner" var det vanligaste svaret. Faktiskt erbjöds vi att placera övervakningen av datacentret i ett moln som fysiskt befann sig i samma datacenter.

HÀr mÄste vi göra en liten avstickare om processen att vÀlja entreprenör. Priset spelar sjÀlvklart en roll, men under varje anbud för genomförandet av ett komplext projekt, i dialogen med leverantörerna, börjar man kÀnna vem av kandidaterna som Àr mer intresserad och kapabel att genomföra det. 

Detta mÀrks sÀrskilt tydligt i komplexa projekt. 

Baserat pÄ arten av förtydligande frÄgor till kravspecifikationen kan man dela upp entreprenörerna i tvÄ grupper: de som Àr intresserade av att bara sÀlja (man mÀrker den standardiserade pressen frÄn försÀljningschefen) och de som Àr intresserade av att utveckla produkten genom att lyssna pÄ kunden, förstÄ deras behov, och göra konstruktiva Àndringar i kravspecifikationen redan innan det slutliga valet (Àven om det innebÀr en verklig risk att förbÀttra nÄgon annans kravspecifikation och förlora anbudet), och till slut de som helt enkelt Àr beredda att anta en professionell utmaning och skapa en bra produkt.

Allt detta fick oss att rikta vÄr uppmÀrksamhet mot en relativt liten lokal utvecklare - företagsgruppen "Sanline", som omedelbart svarade pÄ de flesta av vÄra krav och var beredda att möta alla behov gÀllande det nya BMS. 

Risker

Medan de stora aktörerna försökte förstÄ vad vi ville och förde ett lÄngsamt samtal med inblandning av specialister pÄ presale-nivÄ, bokade en lokal utvecklare ett möte pÄ vÄrt kontor med sin tekniska grupp. Under detta möte visade entreprenören Äterigen sin vilja att delta i projektet och - viktigt - förklarade hur det önskade systemet skulle genomföras.    

Innan mötet identifierade vi tvÄ risker med att arbeta med ett team som inte har resurser frÄn ett stort nationellt eller internationellt företag:

  1. Specialisterna kan ha överskattat sina möjligheter och misslyckas, till exempel genom att anvÀnda komplex programvara eller designa orealistiska algoritmer för reservlösningar.
  2. Efter genomförandet av projektet kan projektteamet upplösas och dÀrmed kan produktstödet sÀttas i fara.

För att minimera dessa risker bjöd vi in vÄra egna utvecklingsspecialister till mötet. AnstÀllda frÄn den potentiella entreprenören blev noggrant tillfrÄgade om hur systemet Àr uppbyggt, hur reservlösningar ska genomföras och andra frÄgor dÀr vi, som driftavdelning, inte var tillrÀckligt insatta.

Uttalandet var positivt: arkitekturen för den redan existerande BMS-plattformen Àr modern, enkel och pÄlitlig, kan utvecklas vidare, och den föreslagna reserv- och synkroniseringsschemat Àr logiskt och fungerar. 

Den första risken hanterades. Den andra eliminierades, efter att ha fÄtt bekrÀftelse frÄn entreprenören om beredskap att överlÀmna kÀllkoden till systemet och dokumentationen, samt genom att vÀlja programmeringssprÄket Python, som vÄra specialister Àr vÀl bekanta med. Detta garanterade oss möjligheten att stötta systemet med vÄra egna resurser utan nÄgra svÄrigheter och utan lÄng trÀningsperiod för anstÀllda i hÀndelse av att utvecklarföretaget lÀmnar marknaden.

En extra fördel med plattformen var att den var implementerad i Docker-containrar: i denna miljö fungerar kÀrna, webbgrÀnssnitt och produktens databas. Denna metod ger mÄnga fördelar, inklusive förinstÀllda konfigurationer för högsta möjliga hastighet vid driftsÀttning av lösningen jÀmfört med 'klassiska' metoder och enkel tillÀgg av nya enheter till systemet. Prinsipen 'allt tillsammans' förenklar införandet av systemet maximalt: det rÀcker med att packa upp systemet för att kunna börja anvÀnda det direkt. 

Med en sÄdan lösning Àr det enklare att skapa kopior av systemet, och att förbÀttra det samt utföra uppgraderingar kan ske i en separat miljö utan att stoppa driften av lösningen som helhet.  

Efter att bÄda riskerna hade minimerats, presenterade entreprenören en offert. I den hade alla de viktigaste parametrarna för vÄrt BMS-system arbetats fram.

Reservkraft

Det nya BMS-systemet skulle finnas i molnet, pÄ en virtuell maskin. 

Ingen hĂ„rdvara, inga servrar och alla de besvĂ€r och risker som Ă€r förknippade med denna distributionsmetod – molnlösningen gjorde att vi kunde bli av med dem för alltid. Det beslutades att systemet skulle köras i vĂ„rt moln pĂ„ tvĂ„ platser i datacentren i Sankt Petersburg och Moskva. Det rör sig om tvĂ„ fullt funktionella system som körs i aktiv standby-lĂ€ge med tillgĂ„ng för alla auktoriserade specialister. 

De tvÄ systemen försÀkrar varandra, vilket ger full redundans bÄde nÀr det gÀller berÀkningskraft och datakommunikationskanaler. Dessutom har ytterligare sÀkerhetsÄtgÀrder implementerats, inklusive sÀkerhetskopiering av data och kanaler, system, virtuella maskiner och en separat backup av databasen en gÄng i mÄnaden (den mest vÀrdefulla resursen ur förvaltnings- och analysperspektiv). 

Det Àr vÀrt att notera att reservplanering som en del av BMS-lösningen utvecklades specifikt pÄ vÄr begÀran. SjÀlva backup-schemat sÄg ut sÄ hÀr:

Övervakning i datacentret: hur vi bytte ut det gamla BMS mot det nya. Del 2

Support

En avgörande punkt för en effektiv anvÀndning av BMS-lösningen Àr teknisk support. 

HĂ€r Ă€r det enkelt: det nya systemet skulle kosta oss 35 000 rubel per mĂ„nad för SLA 'respons inom 8 timmar', det vill sĂ€ga 35 000 x 12 / 80 = $5 250 per Ă„r. Första Ă„ret – gratis. 

För jÀmförelse: stödet för den gamla BMS frÄn leverantören kostade $18 000 per Är med en ökning för varje ny enhet som lades till! Dessutom tillhandahöll företaget ingen dedikerad chef, all interaktion skedde via en försÀljningschef som var intresserad av oss som en potentiell kund med motsvarande betoning i hanteringen av förfrÄgningar. 

För mindre pengar fick vi fullt produktstöd, med en account manager som deltog i produktutvecklingen, med en enda kontaktpunkt etc. Stödet blev avsevĂ€rt mer flexibelt – tack vare direkt tillgĂ„ng till utvecklarna för snabba justeringar av alla aspekter av systemets funktionalitet, integration via API etc.

Uppdateringar

Enligt det föreslagna KP i den nya BMS ingÄr alla uppdateringar i kostnaden för stödet, d.v.s. krÀver ingen ytterligare betalning. Undantaget Àr utvecklingen av ytterligare funktionalitet, utöver den som anges i TZ. 

Det gamla systemet innebar kostnader bÄde för uppdatering av den inbyggda gratis programvaran (som Java) och för felkorrigeringar. Det gick inte att avstÄ frÄn detta, och i avsaknad av uppdateringar blev systemet i allmÀnhet 'lÄngsamt' pÄ grund av gamla versioner av interna komponenter.

Och sjÀlvklart kunde inte programvaran uppdateras utan att köpa ett supportpaket.

Flexibelt tillvÀgagÄngssÀtt

Ett annat grundlÀggande krav gÀllde grÀnssnittet. Vi ville tillhandahÄlla tillgÄng till det via webblÀsare frÄn vilken plats som helst, utan krav pÄ att en ingenjör mÄste vara pÄ plats i datacentret. Dessutom strÀvade vi efter att skapa ett animerat grÀnssnitt sÄ att infrastrukturen skulle vara mer visuell för jouringenjörer. 

Dessutom behövde det nya systemet stödja formler för berĂ€kning av arbetet hos virtuella sensorer i tekniska system – till exempel för optimal fördelning av elektrisk effekt till utrustningsstĂ€ll. För detta mĂ„ste alla vanliga matematiska operationer som tillĂ€mpas pĂ„ sensorernas indikatorer finnas tillgĂ€ngliga. 

Dessutom krĂ€vdes Ă„tkomst till SQL-databasen för att hĂ€mta nödvĂ€ndig information om utrustningens prestanda – nĂ€mligen alla registreringar av övervakning för tvĂ„ tusen enheter och tvĂ„ tusen virtuella sensorer som genererar cirka 20 000 variabler. 

Det behövdes ocksÄ en modulför utrustning i rack, som ger en grafisk representation av utrustningens placering i varje enhet, med berÀkning av den totala vikten av "hÄrdvara", en enhetshuvudgrupp och detaljerad information om varje enhet. 

Överenskommelse om kravspecifikationen och undertecknande av kontrakt

Vid den tidpunkt dÄ det var nödvÀndigt att börja arbetet pÄ det nya systemet var kommunikationen med de "stora" företagen fortfarande lÄngt ifrÄn att diskutera deras erbjudanden, sÄ vi jÀmförde det mottagna erbjudandet med kostnaderna för att uppgradera det gamla BMS-systemet (se. den första delen), och som ett resultat visade det sig vara mer prisvÀrt och motsvara vÄra behov.

Valet var gjort.

Efter valet av entreprenör började advokaterna att utarbeta kontraktet, medan de tekniska teamen frÄn bÄda sidor arbetade pÄ kravspecifikationen. Som bekant Àr en detaljerad och noggrant upprÀttad kravspecifikation grunden för framgÄngen i allt arbete. Ju mer konkret information i kravspecifikationen, desto mindre besvikelse sÄsom "men vi ville ha det pÄ ett annat sÀtt".

Jag kommer att ge tvÄ exempel pÄ nivÄn av detaljrikedom i kravspecifikationen:

  1. Övervakande datacenter har befogenhet att lĂ€gga till nya enheter i BMS, oftast PDU-enheter. I det gamla BMS var det en "administratörsnivĂ„" som ocksĂ„ tillĂ€t att Ă€ndra instĂ€llningarna för variablerna för alla enheter, och det var omöjligt att separera funktionerna. Detta tillfredsstĂ€llde inte oss. I den befintliga grundversionen av den nya plattformen var schemat liknande. Vi angav genast i kravspecifikationen att vi ville separera dessa roller: instĂ€llningarna ska endast Ă€ndras av en bemyndigad anstĂ€lld, men de övriga bör fortfarande ha möjlighet att lĂ€gga till enheter. Detta schema antogs för genomförande.
  2.  I varje standard BMS finns tre typiska kategorier av meddelanden: RÖD – mĂ„ste reageras omedelbart, GUL – kan övervakas, BLÅ – "Informations". Vi har traditionellt anvĂ€nt "blĂ„" meddelanden för att övervaka överskridanden av kommersiella parametrar, till exempel överskridande av effektuttaget för kundens rack. Denna typ av meddelanden var i vĂ„rt fall avsedd för chefer och var ointressant för driftavdelningen, men i den gamla BMS:en fyllde den regelbundet listan över aktiva incidenter och störde det operativa arbetet. SjĂ€lva logiken och den fĂ€rgkodade differentieringen av meddelandena tyckte vi var lyckad och behöll, men i kravspecifikationen angav vi sĂ€rskilt att "blĂ„" meddelanden skulle, utan att distrahera de jourhavande, tyst "regna" ned i en separat sektion dĂ€r kommersiella specialister skulle ta hand om dem.

Med samma detaljnivÄ skapades format för grafritning och rapportering, grÀnssnittens konturer, en lista över enheter som behövde övervakas och mÄnga andra saker. 

Det var ett verkligt kreativt arbete av tre arbetsgrupper – bestĂ€llartjĂ€nsten, som dikterade sina krav och villkor; tekniska specialister frĂ„n bĂ„da sidor, vars uppgift var att omvandla dessa villkor till teknisk dokumentation; och programmerarteamet frĂ„n entreprenören, som implementerade bestĂ€llarens krav enligt den utvecklade tekniska dokumentationen
 Slutligen anpassade vi nĂ„got av vĂ„ra mindre viktiga krav efter funktionaliteten i den redan existerande plattformen, medan entreprenören Ă„tagit sig att skriva till nĂ„got för oss. 

Samtidig drift av tvÄ system

Övervakning i datacentret: hur vi bytte ut det gamla BMS mot det nya. Del 2
Det var dags för genomförande. I praktiken innebar det att vi gav entreprenören möjlighet att driftsÀtta en prototyp av BMS i vÄr virtuella moln och gav nÀtverksÄtkomst till alla enheter som krÀvde övervakning.

Vid denna tidpunkt var dock det nya systemet inte redo för drift. I detta skede var det viktigt för oss att behÄlla övervakningen i det gamla systemet och samtidigt ge tillgÄng till enheterna i det nya systemet. Det Àr omöjligt att bygga ett system ordentligt utan att se enheterna i det, vilket i sin tur inte kan kopplas bort frÄn övervakningen av det gamla systemet. 

Om enheter skulle klara av samtidig begÀran frÄn tvÄ system var det inte uppenbart utan verkliga tester. Det fanns en risk att dubbel simultan begÀran skulle leda till frekventa avbrott i svaren frÄn enheterna, vilket skulle resultera i mÄnga felmeddelanden om otillgÀngliga enheter, vilket i sin tur skulle blockera den gamla övervakningssystemets funktion.

NÀtverksavdelningen har kopplat virtuella rutter frÄn prototypen av det nya BMS som distribuerades i molnet till enheterna, och vi fick resultaten: 

  • enheterna kopplade via SNMP-protokollet föll praktiskt taget aldrig ur anslutningen pĂ„ grund av samtidiga begĂ€rningar, 
  • enheterna kopplade via gateways med modbas-TCP-protokoll hade problem som löstes genom ett rimligt minskande av frekvensen pĂ„ deras begĂ€rningar.  

Och sedan fick vi se hur ett nytt system byggdes framför vĂ„ra ögon; enheter vi redan kĂ€nde igen dök upp, men i ett annat grĂ€nssnitt – bekvĂ€mt, snabbt och tillgĂ€ngligt Ă€ven frĂ„n telefonen.

Vad som slutligen blev resultatet kommer vi att berÀtta om i del tre av vÄr artikel.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster