Omstrukturering av en operativ app for Gestical
Innowise migrerte alle klientapplikasjoner til et enkelt Azure-basert økosystem med en enhetlig teknologistack.

Oversikt over kunder
Gestical er et sveitsiskbasert selskap som fokuserer på energieffektivitet, nærmere bestemt måling og regnskapsføring av varme- og vannforbruk i boliger og industribygg. Kjernen i virksomheten er en egenutviklet pakke med sammenkoblede applikasjoner som støtter alt fra oppgaveplanlegging og feltarbeid til rapportering og fakturering.
Selv om prosjektets kompleksitet i utgangspunktet ble undervurdert, førte den påfølgende styrkingen av teamet til en betydelig forbedring av driftsorganisasjonen og kommunikasjonen. Dette gjorde det mulig for Innowise å håndtere kompliserte tekniske lag på en profesjonell måte og levere resultater av høy kvalitet som oppfylte forretningsmålene våre.

Utfordring
Over tid hadde Gesticals applikasjonsøkosystem - Gestical Web, Gestical Plan og Gestical MIF - vokst betydelig når det gjaldt funksjoner og systembelastning. Arkitektur, infrastruktur og ytelsesoptimalisering hadde imidlertid ikke utviklet seg tilsvarende. Innowise ble engasjert for å modernisere kjerneapplikasjonen, Gestical Web.
- Systemforsinkelser og avbrudd. Gestical-systemet var ikke utviklet for dynamisk skalering. Etter hvert som antallet bygninger, enheter og brukere økte, økte også risikoen for driftsstans og systemnedganger.
- Stor avhengighet av dokumenterte arbeidsflyter utenfor systemet. Mange grunnleggende forretningsprosesser var ikke integrert i systemet eller tilstrekkelig dokumentert, slik at alt måtte dokumenteres utenfor systemet. Følgelig måtte de ansatte basere seg på dokumentasjon utenfor systemet for å utføre oppgavene sine. Dette resulterte i økt manuelt arbeid, langsommere drift og større risiko for at informasjonen i systemet ikke var fullstendig.
- Utdatert teknologistack. Applikasjonene ble bygget med en utdatert versjon av ASP.NET MVC og ble hostet på en enkelt virtuell maskin Azure.
- Ikke-optimalisert database. Kundens lokale database manglet normalisering og indeksering, noe som påvirket ytelsen.
Moderniser de interne systemene dine med Innowise
Løsningen vi leverte
Trinnvis modernisering av Gestical-plattformen
Innowise implementerte en trinnvis moderniseringsstrategi som forvandlet Gesticals gamle system til en skybasert, skalerbar og sikker plattform.
Moderniseringen omfattet Gesticals kjerneapplikasjon, Gestical Web, som brukerne bruker til å administrere bygninger, overvåke enheter, generere rapporter og beregne energikostnader.
Omlegging av arkitektur og modernisering av plattformen
Moderniseringen begynte med en omfattende vurdering av det eksisterende Gestical Web-økosystemet. Den gamle applikasjonen var bygget med en utdatert versjon av ASP.NET MVC og ble hostet på én enkelt Azure virtuell maskin, noe som skapte skalerbarhetsbegrensninger og ytelsesproblemer.
Teamet vårt reimplementerte Gestical Web ved hjelp av Next.js og NestJS og distribuerte det til Azure App Service, en skystyrt PaaS-plattform. Denne tilnærmingen reduserte kundens innsats for å administrere infrastrukturen og de løpende vedlikeholdskostnadene.
Migrering og optimalisering av databaser
En viktig del av moderniseringen var migreringen og optimaliseringen av databaselaget. For å løse kritiske ytelsesproblemer migrerte vi den selvdrevne MySQL-databasen til Azure Database for MySQL.
Innføring av et enhetlig API-lag
Tidligere hadde flere applikasjoner direkte tilgang til databasen, noe som skapte skjulte avhengigheter. Dette gjorde oppdateringer risikable og økte kompleksiteten i migreringen.
Vi introduserte et sentralisert REST API-lag som nå fungerer som det eneste kommunikasjonspunktet mellom klientens applikasjoner og databasen. Denne tilnærmingen standardiserte datautvekslingen, styrket valideringen og tilgangskontrollen og reduserte den arkitektoniske kompleksiteten betydelig.
Alle systemkomponentene i Gestical Web samhandler nå gjennom dette sikre API-laget.
Arbeidet med Gestical-plattformen krevde nøye tilpasning mellom eksisterende systemer og den nye arkitekturen. Teamet vårt fokuserte på å utforme et skalerbart fundament som gjør det mulig å utvikle plattformen samtidig som kontinuiteten i den løpende driften opprettholdes.

Aliaksandr Kavalchuk
Prosjekt-lederTeknologier
Backend
NestJS
Frontend
React, TypeScript
Database og datatilgang
MySQL, TypeORM
Autentisering og sikkerhet
Azure AD
Team
designer

Resultater
Gestical Web-plattformen opererer nå innenfor en enhetlig backend-arkitektur, noe som forbedrer systemets pålitelighet og skaper et mer stabilt miljø for håndtering av operasjonelle arbeidsflyter.
Ved å distribuere plattformen på Azure App Service reduserte kunden vedlikeholdskostnadene for infrastrukturen og forenklet den løpende administrasjonen av plattformen.
Med innføringen av en sentralisert REST API-lag, er kommunikasjonen mellom applikasjonene og databasen nå standardisert og sikrere, noe som reduserer skjulte avhengigheter og gjør det enklere å implementere fremtidige systemoppdateringer.
Disse trinnene etablerer et strukturert, sikkert og skalerbart skybasert fundament for den fortsatte trinnvise moderniseringen av Gestical-plattformen.









