Nga tema e revistës në praktikën e projektit
Faqe shërbimi dhe teknike të përshtatshme për artikullin
Një PostgreSQL-Upgrade pa ndërprerje tingëllon në fillim si një premtim nga bota e cloud. Në realitetin e një baze të dhënash ERP në prodhim, është më tepër një disiplinë: duhet të bëni që konsistenca e të dhënave, sjellja e ndërfaqeve, ekzekutimet batch, raportimi, të drejtimet e aksesit dhe proceset operative të luajnë së bashku në mënyrë që vetë ndryshimi i versionit të jetë vetëm një moment i kontrolluar i kalimit. Termi „pa ndërprerje“ rrallë duhet kuptuar absolutisht. Në praktikë do të thotë: asnjë ndërprerje e ndjeshme për përdoruesit, asnjë rollback i paplanifikuar, asnjë bllokim me orë të tëra – dhe mbi të gjitha një rrugë rikthimi që funksionon vërtet.
Ky artikull rendit shtigjet tipike të përditësimit për PostgreSQL në mjediset ERP – me Blue/Green, replikim (fizik dhe logjik) dhe një plan rikthimi që nuk qëndron vetëm në letër. Fokus është qëllimisht te operacioni dhe pyetjet vendimmarrëse: Cila arkitekturë është e nevojshme? Ku qëndrojnë rreziqet? Cilat punë paraprake kërkojnë kohë? Dhe si e parandaloni që një përditësim të dështojë për shkak të çështjeve anësore si driver-ët, zinxhirët e punëve ose pronarësia e paqartë e të dhënave?
Pse bazat e të dhënave ERP janë veçanërisht delikate gjatë përditësimeve
Sistemet ERP janë të orientuara OLTP (Online Transaction Processing), pra të optimizuara për shumë transaksione të shkurtra: shkrimi i dokumenteve, regjistrimi i lëvizjeve të stokut, kalkulimi i çmimeve, evidentimi i pagesave. Këto transaksione varen nga pritshmëri të qarta: latenca duhet të jetë e qëndrueshme, bllokimet (Locks) nuk duhet të eskalojnë, dhe sistemi duhet të mbetet i parashikueshëm gjatë kulmeve të ngarkesës.
Një përditësim i PostgreSQL prek pikërisht këtë qëndrueshmëri – edhe nëse aplikacioni mbetet i pandryshuar. Shkaqet përfshijnë, ndër të tjera:
- Ndryshimet në optimizuesin e query-ve (planifikuesi): pyetjet mund të zgjedhin papritur plane ekzekutimi të ndryshme. Kjo nuk është „gabim“, por nën ngarkesë mund të krijohen pika të nxehta të reja.
- Ndryshimet e parametrave dhe vlerave të parazgjedhura: vlerat e konfigurimit ose sjellja e tyre si default ndryshojnë midis versioneve kryesore. Kjo prek p.sh. Autovacuum, WAL (Write-Ahead Log, protokolli i transaksioneve) ose parametrat e memories si work_mem.
- Çështje me driver-a dhe protokolle: versionet ODBC/JDBC/Npgsql, parametrat SSL/TLS, autentikimi (p.sh. SCRAM vs. MD5) dhe zinxhirët e certifikatave shpesh janë pengues të fshehtë.
- Ekosistemi i ndërfaqeve: ERP rrallë do të thotë „vetëm një aplikacion“. Reporting, EDI, webservices, ETL/BI, menaxhimi i dokumenteve dhe integrimet batch hyjnë në bazën e të dhënave – drejtpërdrejt ose të tërthortë.
Konsekenca: Një përditësim nuk është thjesht një ndryshim në bazën e të dhënave. Është një release i koordinuar mbi aplikacionin, operacionin dhe sistemet përreth. Pikërisht për këtë arsye Blue/Green dhe replikimi janë kaq të vlefshëm: ata shkëpusin ndryshimin teknik nga rreziku i një dritareje të gjatë mirëmbajtjeje.
Përcaktoni qartë synimet: „pa ndërprerje“ nuk do të thotë „pa kalim“
Para se të zgjidhni arkitekturën, vlen të përcaktoni qartë objektivat sipas treguesve operativë:
- RTO (Recovery Time Objective): Sa shpejt duhet që baza ERP të jetë sërish e qëndrueshme dhe e arritshme pas një dështimi?
- RPO (Recovery Point Objective): Sa të dhëna (periudhë kohore) lejohet të humbasin në rastin më të keq? Në migrimet e vërteta me zero ndërprerje synimi shpesh është RPO≈0.
- Dritare mirëmbajtjeje: A ekziston një dritare „e vogël“ (p.sh. disa minuta) për një Cutover, apo fare? Në ERP, një kalim zakonisht është i mundur kur është i planifikueshëm (duke shmangur ndërrimet e turneve dhe mbylljet mujore).
Këto objektiva përcaktojnë nëse mund të punoni me replikim plus kalim ose nëse keni nevojë gjithashtu për mekanizma për ndarjen e shkrimit (p.sh. renditje në radhë në ndërfaqe). Kush mbetet i paqartë këtu, më vonë do ta paguajë me improvizime gjatë Go-live.
Blue/Green für PostgreSQL: Prinzip, Nutzen, typische Stolpersteine
Blue/Green do të thotë: dy mjedise të plota ekzistojnë paralelisht. „Blue“ është prodhim, „Green“ është versioni i ri. Avantazhi vendimtar nuk është vetëm mundësia e ndërrimit, por testueshmëria nën kushte realiste: Green mund të testohet me të dhëna të afërta me prodhimin, ndërfaqe reale dhe monitorim real, para se përdoruesit të kalojnë.
Për PostgreSQL në kontekstin ERP, Blue/Green zakonisht përfshin:
- një klaster PostgreSQL i ndarë (Green) në hoste/VM të rinj ose instancia të ndara
- parametra identikë të rrjetit dhe të sigurisë (Firewall, TLS, rezolucioni i DNS, llogaritë e shërbimit)
- një marrëveshje të përcaktuar për marrjen e të dhënave (kopje fillestare + delta)
- një mekanizëm kalimi (ndryshim DNS/VIP, ndërrim i connection string, proxy)
Çfarë sjell Blue/Green operativisht
Në praktikë janë tre pika që bëjnë ndryshimin:
- Kthimi prapa është i shpejtë: Në rast gabimi ktheheni mbrapsht, në vend që të riparoni një përditësim „mbrapsht“.
- Reduktim i rrezikut përmes validimit paraprak: Green mund të kryejë kontrolle të performancës dhe funksioneve, duke përfshirë ngarkesën tipike ERP (proceset batch, printimi, valë regjistrimesh).
- Ndarje e qartë midis rrezikut të bazës së të dhënave dhe aplikacionit: Kur Green funksionon, shumë të panjohura janë tashmë të zgjidhura (driverët, autentikimi, shtesat, parametrat).
Skenaret më të zakonshme të gabimit në Blue/Green
Blue/Green rrallë dështon për shkak të idesë, por dështon për shkak të detajeve:
- Varësi të paplotë: Mjetet e raportimit ose integrimet lidhen “fort” me hostin e vjetër (IP, alias, pinimi i certifikatës). Gjatë kalimit ato ngecin.
- Pronësi e paqartë e ndërfaqeve: Asnjë nuk ndjen veten përgjegjës që të gjithë konsumatorët të ndërrojnë ose të paktën të testohen.
- Mungesë e validimit të të dhënave: „Të dhënat janë replikuar“ nuk do të thotë që gjithçka është në rregull nga ana funksionale (p.sh. sekuencat/identitetet, timbrat kohorë, logjika e llogarive dytësore).
Replikation als Upgrade-Werkzeug: physisch vs. logisch
Për një përmirësim të PostgreSQL pa ndërprerje të shërbimit, replikimi zakonisht është mekanizmi kryesor për të mbajtur të dhënat paralelisht. PostgreSQL ofron qasje të ndryshme, me kompromiset e veta. E rëndësishme: „Replikim“ nuk është automatikisht „disponueshmëri e lartë“. Për upgrade-et përdorni replikimin si urë migrimi.
Replikim fizik (Streaming Replication): i shpejtë, afër nivelit të makinës
Replikimi fizik punon në nivelin WAL: Standby merr regjistrin e transaksioneve dhe e aplikon atë. Kjo është performante dhe stabile, por ka një kufizim kryesor për Major-Upgrades: në rregull të përgjithshëm Primary dhe Standby duhet të përputhen me të njëjtën version kryesor. Për një kalim versioni, p.sh. nga PostgreSQL 13 te 16, replikimi fizik ndihmon kryesisht brenda një versioni (HA, mirëmbajtje), jo si rrugë e drejtpërdrejtë për Major-Upgrade.
Përfitimi praktik në projektin e upgrade-së vjen megjithatë kur e përdorni replikimin fizik si rrjet sigurie në Blue-System: para Cutover mund të siguroni që prodhimi ekzistues të jetë i redunduar, ndërsa paralelisht ndërtoni Green.
Replikim logjik: marrja e delta-s përmes publikimeve/abonimeve
Replikimi logjik transferon ndryshimet në nivelin e tabelave (INSERT/UPDATE/DELETE) dhe për këtë arsye përshtatet për Major-Upgrades, sepse Publisher dhe Subscriber mund të jenë në versione kryesore të ndryshme (duke respektuar kompatibilitetin përkatës). Për bazat e të dhënave ERP, kjo shpesh është rruga më praktike drejt një dritareje minimale të kalimit.
Tiparet tipike që duhet t’i planifikoni:
- Snapshot fillestar + ndryshimet në vazhdim: Të dhënat kopjohen fillimisht, dhe më pas ndryshimet ndiqen.
- DDL nuk përfshihet automatikisht: Ndryshimet e skemës (DDL, dmth. tabela/kolona/indekse) nuk replikohen si ndryshimet e të dhënave. Për upgrade-et kjo zakonisht është e pranueshme sepse skema zakonisht mbetet e njëjtë – por Extensions, rolet dhe të drejtat duhet t’i migroni qëllimisht.
- Çështjet e sekuencave/identitetit: Sekuencat (p.sh. për numrat e dokumenteve) janë kritike në ERP. Sipas konfigurimit, duhet të siguroheni që gjendjet e sekuencave të merren në mënyrë konsistente dhe të vazhdojnë saktë pas Cutover.
- Pa konflikte: Gjatë fazës së replikimit duhet të shkruhet vetëm nga njëra anë. Përndryshe lindin konflikte që në operimin ERP janë të vështira për t’u zgjidhur.
Rruga e upgrade-it në praktikë: një model veprimi i besueshëm
Pavarësisht nga mjeti i saktë, një upgrade me ndërprerje minimale në mjedise ERP zakonisht zhvillohet në etapa të qarta. Një strukturë e përshtatshme për praktikën është:
1) Analiza paraprake: Çfarë duhet me të vërtetë të migrohet?
Këtu nuk bëhet fjalë për „Instaloni PostgreSQL X“, por për varësitë:
- Extensions (p.sh. për kërkim me tekst të plotë, punë, tipe të veçanta të të dhënave): Cilat janë aktive në prodhim, dhe cilat janë të pranishme vetëm për historik?
- Autentikimi dhe rolet: role lokale, lidhja LDAP/AD, SCRAM, autentikimi me certifikatë. Eksporti i rolave dhe i të drejtave është një hap pune i veçantë.
- Detyrat dhe ekzekutimet batch: A kryhet planifikimi jashtë (p.sh. përmes një serveri pune) ose në bazën e të dhënave (p.sh. përmes shtesave)? Cilat detyra janë kritike për kalimin (përpunimi i natës, faturimi, MRP)?
- Landschafta e konsumatorëve: Kush lexon/shkruan? ERP-Backend, portalet web, shërbime integrimi, BI/ETL, lidhjet me partnerë, DMS, monitoring.
Një artefakt i thjeshtë, por efektiv është një Application-Map: baza e të dhënave në mes, shigjeta drejt të gjitha sistemeve përfshirë pronarin dhe metodën e ndërrimit (DNS, konfigurim, sekret, proxy). Kjo parandalon që kalimi të dështojë për shkak të lexuesve të „të harruar“ që papritur bëjnë timeout.
2) Ndërtimi i Green: jo vetëm baza e të dhënave, por edhe aftësinë operative
Green është kuptimplotë vetëm kur është „realisht operativ“. Në të bëjnë pjesë:
- Monitoring (metrika, log-et, alarme): e njëjta dukshmëri si në Blue, përndryshe Go-live është i verbër.
- Backup/RESTore: Backups në Green duhet të funksionojnë, përfshirë testin e RESTore (të paktën me kontrolle mostre). Vetëm kështu bëhet e qartë që në rast të gabimit nuk humbisni dy herë.
- Security-Parität: konfigurimi TLS, cipher, zinxhiri i certifikatave, rregullat HBA (Host-Based Authentication), firewall. Të shtysh „forcimin“ për më vonë shpesh kthen hakun gjatë ndërrimit.
- Performance-Basis: latenca e storage, IOPS, CPU, RAM. Një upgrade është moment i mirë për të korrigjuar klasat e storage të pafavorshme ose profilet e vjetruara të VM-ve.
3) Marrja e të dhënave: kopja fillestare dhe faza delta
Për bazat e mëdha të të dhënave ERP, kopja fillestare shpesh është hapi më i gjatë. Ajo nuk duhet domosdoshmërisht të jetë brenda dritares së mirëmbajtjes, nëse e çkëmbeni qartë. Vendimtare është që faza delta (replikimi) të funksionojë në mënyrë të qëndrueshme dhe të monitorohet: lag, gabime, ndryshime në pritje.
Operacionale e rëndësishme: përcaktoni pragjet, nga cili moment do të nisni kalimin. Nëse Green mbetet vazhdimisht mbrapa, ndërrimi është i mundur, por ju transferoni problemin në sistemin live.
4) Validimi: funksional dhe teknik, pa perfekcionizëm
Validimi nuk është një projekt testimi me muaj të tërë, por është më shumë se „SELECT COUNT(*)“. Në mjedise ERP këto kontrolle funksionojnë mirë:
- Kontrolle mostrash në tabela kritike: poste të hapura, stoket, koka dokumentesh/pozicione, tabela të përcaktimit të çmimeve, debitor/kreditor.
- Krahasime agregatesh: shuma mbi periudha të definuara (të ardhurat, sasi), për të parë shpejt divergjenca të mëdha.
- Treguesit teknikë: gjendja e indekseve dhe e statistikave, aktiviteti Autovacuum, Replikations-Lag, kufijtë e lidhjeve, latenctë e query-ve.
E rëndësishme është vendimi se çfarë duhet realisht për pranimin. Një upgrade nuk është një release funksional. Ju dëshironi të provoni: të dhëna të njëjta, sjellje të njëjtë, performancë të qëndrueshme. Për këtë mjaftojnë pika kontrolli të besueshme dhe të riprodhueshme.
5) Kalimi: momenti i ndërrimit duhet të funksionojë si një Runbook
Vetë kalimi rrallë është kompleks, por është i kritikuar nga koha. Një Runbook i mirë përshkruan jo vetëm hapat, por edhe pikat e kontrollit dhe kriteret e ndërprerjes. Blloqe tipike:
- Kontrollimi i ndalimit të shkrimit: Ose përmes modalitetit të mirëmbajtjes të aplikacionit, ose përmes bllokimit teknik (p.sh. ndërprerja e lidhjeve për rolet me të drejtë shkrimi). Qëllimi: të mos ketë shkrime të reja në Blue në fazën e fundit.
- Vënë replikimin „në zero“: Prisni derisa Green të ketë të gjitha ndryshimet (RPO≈0).
- Ndërrimi i aplikacionit: Connection-Strings, DNS, VIP, rregull proxy. Vendimtare: konsistente për të gjitha komponentët, jo vetëm për backend-in e ERP-së.
- Smoke-Tests: Login, hapja e të dhënave bazë, regjistrimi i dokumentit, raport tipik, ping i ndërfaqeve. I shkurtër, por informues.
Plani i rikthimit (Rollback) pa iluzione: çfarë mund të ktheni në të vërtetë
Plani i rikthimit është pjesa që më së shumti preferohet të mos nevojitet. Pikërisht për këtë arsye duhet të jetë konkret. Në konfigurimet Blue/Green, rikthimi në thelb është një ndërprerje e rikthimit në Blue. Por: sapo pas Cutover të ndodhin shkrime produktive në Green, “kthimi” bëhet problem teknik nëse Blue në ndërkohë nuk ka marrë gjithashtu të gjitha shkrimet.
Variantet e Rollback dhe pasojat e tyre
- Rollback i menjëhershëm para shkrimeve produktive: rast ideal. Nëse para lëshimit për përdoruesit konstatohet që diçka në thelb nuk është në rregull, mund të riktheheni pa konflikte të të dhënave.
- Rollback pas disa shkrimeve: i mundshëm, por vetëm me strategji të qartë: ose regjistrim manual i pasojave (nga aspekti funksional) ose një kundër-replikim i përkohshëm / marrje e delta-s (teknike), që në proceset ERP rrallë është pa stres.
- Jo Rollback, por „Fix forward“: nëse Green tashmë shkruan produktivisht dhe gjendja e të dhënave atje është ‚Single Source of Truth‘ i ri, kthimi shpeshherë është më i rrezikshëm se një stabilizim i synuar përpara. Kjo duhet të pranohet më parë si opsion.
Prandaj një plan i besueshëm rikthimi përcakton qartë:
- derisa Rollback është „i sigurt“ (dritare kohore ose fazë në Runbook)
- cilat kritere ndërprerjeje zbatohen (p.sh. Smoke-Test dështon, gabim në ndërfaqe, shuma joplausibile)
- si funksionon komunikimi dhe miratimet (kush vendos, kush informohet)
Më e rëndësishme se Rollback: operacioni i emergjencës për ndërfaqet
Në peizazhet ERP, ndërfaqet janë shkaku më i shpeshtë i situatave hektike pas një Cutover. Kur lidhjet me partnerët ose shërbimet e integrimit të brendshëm papritmas ndalojnë të dorëzojnë, ju duhet një operacion emergjent: ndër-buffer (Queues), rregulla për rinisje, strategji të qarta Retry. „Retry“ duhet të jetë idempotent (i përsëritshëm pa regjistrim të dyfishtë). Kjo nuk është një funksion i bazës së të dhënave, por dizajn aplikacioni dhe integrimi – megjithatë përcakton nëse mund të bëni vërtet një Upgrade pa ndërprerje.
Performanca dhe stabiliteti pas Upgrade-it: pse 48 orët e para janë vendimtare
Shumë skuadra e konsiderojnë Upgrade-in „të përfunduar“ sapo bëhet Cutover. Në praktikë fillon faza ku profillet e ngarkesës, sjellja e cache dhe Autovacuum duhet të stabilizohen. Masa tipike që kanë dhënë rezultat janë:
- Monitorim i imët në 48 orët e para: vonesa të query-ve, bllokime, kohë pritjeje I/O, volum WAL, ciklet Autovacuum.
- Zbulimi i regresioneve të planit: Pyetje individuale që më parë ishin “ok” mund të dominojnë pas upgrade-it. Këtu ndihmojnë listat kryesore të query-ve dhe një eskalacion i qartë se kush mund të optimizojë (DBA vs. ekipi i aplikacionit).
- Monitorimi i ndarë i Reporting/ETL: Mjetet me ngarkesë kryesisht lexuese shpesh janë të parat që shkaktojnë probleme (query të gjata, plane të reja). Replicat e leximit mund të ndihmojnë, por ato duhet të përshtaten në konceptin e përgjithshëm.
Për drejtimin e IT-së është e rëndësishme: planifikoni këtë stabilizim si pjesë të ndryshimit. Një Upgrade pa downtime nuk është “pa përpjekje”, por përpjekje në kohën e duhur dhe me një formë të kontrolluar rreziku.
Vendime tipike arkitekturore rreth ERP: DNS, Connection Strings, Proxies
Kalimi bëhet sa më i pastër cu më i qartë të jetë pika e kalimit. Variantet e shpeshta:
- DNS-Alias (p.sh. db-erp.prod): i thjeshtë, por TTL (Time To Live) dhe caching-u i klientit mund të zgjerojnë kohën e kalimit. Për disa driverë, caching-u i DNS mund të jetë habitshëm i qëndrueshëm.
- IP virtuale / Load Balancer: kalimi është teknikisht i shpejtë, por ju duhet një koncept i qartë për kontrollet e gjendjes (health checks), përndryshe do të drejtoni trafikun në gjendje të paqëndrueshme.
- Connection-String përmes konfigurimit/sekretit: lehtë për t’u kontrolluar nëse keni shpërndarje qendrore të konfigurimit. Rreziku: jo të gjitha komponentët tërheqin konfigurimin e ri njëkohësisht.
- DB-Proxy: mund të ndihmojë të centralizojë kalimin, por sjell kompleksitet shtesë dhe shton një shërbim kritik të ri në zinxhir.
Për softuerin e ndërmarrjes me histori shpesh është realiste një mix: shërbimet qendrore kalojnë përmes konfigurimit, komponentët e vjetër përmes DNS. E rëndësishme është që ta pasqyroni dhe testoni këtë në Runbook – përfshirë edhe „punët e harruara“ në një app-server të vjetër.
Siguria dhe Compliance: Upgrade si mundësi, por jo një fushë lufte anësore
Upgrade-t e PostgreSQL janë një rast i mirë për të mbyllur dobësitë e sigurisë: metoda autentikimi të vjetruara, role tepër të gjera, leje rrjeti të paqarta. Njëkohësisht, siguria nuk duhet të shndërrohet në një zgjerim të pakontrolluar të fushës së punës.
Qasje pragmatike:
- Barazia e sigurisë në momentin e kalimit: Green duhet të jetë së paku po aq i sigurt sa Blue, në mënyrë të preferueshme me përmirësime të vogla dhe të qarta (p.sh. TLS-defaults, SCRAM në vend të MD5, rregulla HBA më RESTriktive).
- Punime më të mëdha pasuese: refaktorizimi i roleve, segmentim i fortë i rrjetit ose rotacion i plotë i sekreteve janë të vlefshme, por më të mira si paketë ndryshimi e veçantë pas stabilizimit.
Vlerësoni përpjekjen realisht: Ku projektet humbin kohë në praktikë
Për planifikim dhe komunikim ndihmon një strukturë e ndershme e përpjekjeve. Sipas përvojës, humbësit e kohës nuk janë “instalimi i PostgreSQL”, por:
- Inventari i konsumatorëve: gjetja e të gjithë lexuesve/shkruesve, sqarimi i pronarëve, përcaktimi i rrugës së kalimit.
- Të dhëna testimi dhe mjedis testimi: të dhëna të afërta me prodhimin (duke respektuar mbrojtjen e të dhënave) dhe ngarkesë realiste janë vendimtare, përndryshe do të testoni larg problemit.
- Runbook-e dhe aprovim: Kush ka leje për çfarë gjatë dritares së mirëmbajtjes? Kush vendos për rollback? Kush komunikon? Pa qartësi shfaqen vonesa në momentin kritik.
- Çështje driver-/TLS: inkompatibilitete të vogla mund të shkaktojnë simptoma të mëdha (disconnect-e sporadike, gabime autentikimi, timeouts).
Nëse këto pika i menaxhoni që në fillim si pako pune të veçanta, nga „Upgrade“ do të dalë një projekt i kontrollueshëm në vend të një fundjave nervoze.
Përfundim: Përmirësimi i PostgreSQL pa ndërprerje është mbi të gjitha një dizajn operativ
Një përmirësim i PostgreSQL pa ndërprerje nuk arrihet me një truk të vetëm, por me një arkitekturë që e bën të menaxhueshëm kalimin dhe rikthimin. Blue/Green krijon ndarjen e nevojshme, replikimi siguron urën e të dhënave, dhe një plan rikthimi realist parandalon që ekipi, në rast të gabimit, të duhet të zgjedhë midis humbjes së të dhënave dhe një ndërprerjeje që zgjat orë të tëra.
Nëse evidentoni saktë mjedisin e konsumatorëve, ndërtoni Green si një mjedis operativ (monitorim, kopje rezervë, siguri), mbikëqyrni marrjen e të dhënave dhe praktikoni Cutover-in si runbook me kritere anulimi, hapi i versionit bëhet një ndryshim i kontrolluar – edhe për bazat e të dhënave ERP në prodhim me shumë ndërfaqe.
Nëse dëshironi të përgatitni në mënyrë të strukturuar përmirësimin e bazës së të dhënave ERP dhe të shqyrtoni së bashku arkitekturën, ndërfaqet dhe planin e rikthimit, flisni me ne:
Për këtë temë janë të rëndësishme edhe Blue/Green Deployment dhe plani i Cutover-it. Ky artikull kategorizon këto aspekte në mënyrë të qartë dhe tregon çfarë ka rëndësi në praktikë.
Diskutoni një projekt ose një nismë modernizimi me Net-Base.
Hapi tjetër
Kur nga një temë lind një projekt real, arkitektura, sistemi ekzistues dhe operimi duhet të vlerësohen së bashku që në fillim.
Ne nuk mbështesim vetëm në çështje të veçanta, por edhe kur nga fragmente të kodit burimor, temat legacy ose idetë për portale duhet të zhvillohen në një projekt korporativ të qëndrueshëm.
- Gjendja ekzistuese, imazhi i synuar dhe rreziqet teknike vlerësohen së bashku.
- REST, qasja në të dhëna, portalet dhe implementimi nuk shtyhen si pasojë e mëvonshme.
- Ju e shihni herët se cila rrugë është e qëndrueshme ekonomikisht dhe operativisht.