Kontaktné údaje
- info@ipesoft.com
- +421 907 703 854
- Obchodná 9076/3D
010 08 Žilina
Slovensko
© Copyright IPESOFT 2023
V nadpise článku je zámerne vynechané, o aký upgrade sa jedná. Chcete nasadiť novú verziu D2000 na existujúci hardvér? Alebo pripravujete po štyroch (šiestich, ôsmich .. niekedy aj desiatich) rokoch generačnú obmenu železa, prípadne prechod na virtualizované servery v prostredí ICT? Možných scenárov je viacero - poďme sa pozrieť na komplikácie pri testovaní.
Prvý bod - načo vlastne potrebujeme testovať? Nie je to iba míňanie človekohodín? Z jediného dôvodu - aby bol prechod na nový systém čo najbezproblémovejší. Aby nás nezaskočil nedostatočný výkon CPU alebo diskov, prípadne kapacita pamäte (spôsobené nasadením novej verzie alebo výmenou hardvéru). Alebo nekompatibilita, ktorá vznikla v novej verzii D2000, prípadne v aplikačných skriptoch pri prechode na inu platformu a operačný systém(OpenVMS -> HP-UX alebo HP-UX -> Linux) alebo pri migrácii na inú databázu.
Zároveň je nutné pri plánovaní scenára myslieť na zadné vrátka - každý krok by mal byť reverzibilný, včítane možnosti dosynchronizovania dát (napr. v archívoch alebo MES databáze).
Zorientovať sa vo veľkom systéme budovanom aj viac ako desať rokov nie je jednoduché. V praxi nám pomohlo vždy udržovať si dokumentáciu o dátových väzbách - a pri plánovaní upgradu ju dôkladne prezrieť a uistiť sa, že je úplná.
Dokumentácia dátových väzieb obsahuje všetky prepojenia systému na okolie:
Pred začiatkom testovania je nutné prezrieť všetky komunikačné väzby a uistiť sa, že nový systém (nová verzia D2000 na dočasnom hardvéri, prípadne nový hardvér) bude spustený v dostatočne izolovanom prostredí (napr. vlastná VLAN oddelená od produkcie aj od okolia firewallom), aby nedošlo k neželanému prepojeniu na okolie. V prípade potreby vypnuť automatické štartovanie procesov, ktoré sú za jednotlivé komunikácie zodpovedné (KOM, DBM alebo EVH procesy) a zapínať ich jednotlivo, pri testovaní konkrétnych dátových väzieb.
Čím viac z dátových väzieb sa podarí otestovať, tým je nižšia možnosť nepríjemných prekvapení pri samotnom upgrade. Skúsme sa pozrieť na jednotlivé vymenované položky.
Vo väčšine prípadov dôkladné otestovanie komunikácií predstavuje problém. Prečo? Jednoducho preto, že zákazník nemá pre každý typ komunikácie testovaciu jednotku, voči ktorej sa dá testovanie vykonať. V niektorých prípadoch je testovanie možné, napr.
Toto väčšinou býva menej náročný problém ako otestovanie komunikácií. Použije sa kópia databázy alebo databázovej schémy a sprístupní sa pre nový systém. Následne sa zabezpečí duplikácia dát vkladaných do databázy externým systémom (pomocou triggrov, skriptov alebo dátovej pumpy).
Opäť, pokiaľ sa jedná o jednosmernú komunikáciu (sťahovanie údajov), problémy nevznikajú. Pokiaľ sa jedná o obojsmernú komunikáciu, môže byť riešením nakonfigurovanie testovacieho web/ftp servera simulujúceho produkčný server..
Duplikácia e-mailových správ do novej schránky určenej pre testovanie nebýva problémom. Dôležitejšie je obmedziť posielanie správ alebo nakonfigurovať ich presmerovanie tak, aby sa e-maily z nového systému ani náhodou nedostali druhej strane.
Platia podobné zásady ako pri testovaní komunikácií. D2000 Gateway Server zvláda pripojiť viacero klientov (zatiaľ sme v produkcii nezaznamenali výkonnostné problémy). Pochopiteľne treba dať pozor, aby nedošlo k zapisovanu hodnôt novým systémom.
Tu sa situácia líši prípad od prípadu. Napr. burzový systém Trayport poskytuje prístup do ich testovacieho prostredia, takže je možné dôkladné otestovanie. V rôznych web services záleží od konrétneho výrobcu, resp. od konrétneho zákazníka, či má vybudované aj testovacie prostredie, alebo aspoň podporu pre testovanie v rámci produkcie.
Testovanie výkonu nového systému ako aj jeho funkcionality užívateľmi je takisto dôležité. Ideálne je, pokiaľ dokážeme do nového systému dostať čo najviac dátových tokov z produkcie a vygenerovať čo najreálnejšiu záťaž.
V minuloročnom blogu “Komunikácia v testovacích prostrediach” som popisoval niekoľko možností, ako dostať hodnoty z komunikácií do testovacieho prostredia. Tieto sa dajú použiť aj pri testovaní nového systému:
Najjednoduchšie konfigurovateľná, zároveň najmenej podobná realite :)
Prehrávanie hodnôt nahratých produkčnými KOM procesmi. Tu by som upozornil na jedno obmedzenie, ktoré pri testovacom prostredí nevadilo: formát replay logov sa môže medzi verziami meniť - takže nie je zaručené, že replay logy z produkcie budú použiteľné v novom systéme.
Čo s tým? Dá sa toto obmedzenie obísť? Odpoveď je pozitívna - s trochou snahy sa dá. V najnovších verziách D2000 dokáže nahrávať dáta nielen KOM proces, ale aj Gateway Klient. Takže sa dá k Gateway Serveru produkčného systému pripojiť Gateway Klient (novej verzie). Tento môže bežať v štandardnej konfigurácii a nahrávať štandardnú komunikáciu konkrétneho gateway-a. Alebo môže bežať v transparentnom móde a nahrávať dáta vybraného KOM procesu produkcie. Následne takéto replay logy je možné použiť v novom systéme, keďže sú získané z Gateway Klienta zhodnej verzie, akú má nové prostredie.
Pochopiteľne, nevýhodou KOM replay oproti transparentnému gatewayu je, že sa nejedná o živé dáta, iba o opakovanie nahrávky. Na druhej strane, KOM replay je použiteľný už pri FAT testoch u dodávateľa - a dokonca ešte skôr, pri fáze návrhu hardvérových parametrov. Spustením aplikácie a je zaťažením s použitím replay logov na vývojových serveroch dodávateľa je možné odmerať náročnosť aplikácie (CPU, RAM, I/O operácie) a optimálne a s dostatočnou rezervou navrhnúť hardvér (alebo požiadavky na virtuálne servery v prostredí ICT).
Najkomfortnejšie prepojenie nového systému s produkciou. Ideálne je nakonfigurovať transparentné gatewaye a nechať uživateľom dostatočný čas na vyskúšanie nového systému, ktorý je “takmer živý” - zbiera dáta, archivuje ich, poskytuje užívateľom .. akurát neriadi.
V novembri minulého roka sme nakonfigurovali transparentné gatewaye pri migrácii a upgrade pomerne veľkého zákazníckeho systému. Keďže v ňom bolo niekoľko desiatok komunikačných procesov, aj gatewayov bolo veľké množstvo. Následne v januári tohto roku, pri prechode na nový systém, boli v priebehu niekoľkých minút povypínané KOM procesy starého systému ako aj transparentné gatewaye a pozapínané KOM procesy nového systému.
Nevyhnutnou požiadavkou na nasadenie transparentných gatewayov je ale existencia priameho sieťového prepojeni - takže pokiaľ toto nie je možné (alebo sa jedná o výkonnostné a FAT testy spomenuté vyššie), je užitočný aj KOM replay mód.
Tento blog si v žiadnom prípade nekladie za cieľ kompletné vyčerpanie témy testovania (na to by bola potrebná monografia, ktorá by vyžadovala zapojenie kolegov z iných úsekov). Chce iba ukázať na niektoré aspekty prípravy výmeny systému, ktoré sme v praxi museli riešiť, a naznačiť spôsoby a cesty, akými sme postupovali.
5.3.2018, Ing. Peter Humaj, www.ipesoft.com