Plattform för fjärrhantering av en teleoperatörs routernätverk

Plattform för fjärrhantering av en teleoperatörs routernätverk | Crunch-IS Case Study
Vi byggde en plattform för enhetshantering åt hemmabredbandsverksamheten hos en ledande teleoperatör: en server som konfigurerar kundernas routrar på distans och en agent som körs på varje router. Varje ändring valideras på fysiska routrar i kundens labb innan den rullas ut till abonnenterna i etapper.
Bransch:

Telekommunikation

Plats:

Kanada

Varaktighet:

pågående

Technologies
Python
FastAPI
Go
Nuitka
SQLite
Redis
REST
WebSockets
Streamlit
01

Om kunden

Kunden driver ett stort nätverk av kundroutrar, och var och en måste konfigureras, uppdateras och hållas enhetlig utan att en tekniker behöver åka hem till kunden.

Applikationen de använde för detta hade prestandaproblem, och det var svårt att få ut dess klientdel på enheterna. De ville därför ersätta den med en ny plattform för enhetshantering, utformad för att rullas ut i etapper i hela abonnentnätverket.

Plattform för fjärrhantering av en teleoperatörs routernätverk | Crunch-IS Case Study
02

Utmaning

Uppdraget kom med tre avgörande krav:

  • Ersätta en applikation som var svår att driftsätta. Migrera den befintliga applikationen för nätverkshantering till en modern stack och göra klienten på enheten enkel att installera och hålla igång.
  • Validera varje ändring på riktig hårdvara. Plattformen måste testas på fysiska routrar i kundens labb, i ett nätverk uppsatt för att efterlikna ett hem, och inte bara i emulatorer. Vårt team arbetar med enheterna på distans via SSH.
  • Vara redo för en utrullning i etapper. Kunden planerar att släppa plattformen gradvis – en byggnad, sedan ett bostadsområde, en stad, en provins och hela landet – och samla in feedback och åtgärda problem mellan varje steg. Agenten måste gå att installera smidigt och bete sig likadant i varje steg.
03

Projektets omfattning

Projektet genomförs i fyra faser:

  1. Aktiv utveckling (slutförd).
  2. Vidareutveckling.
  3. Validering på fysiska routrar i kundens labb (pågår).
  4. Utrullning i etapper i abonnentnätverket (planerad).
04

Lösningen vi levererade

Vi skrev båda halvorna av plattformen: servern och agenten som körs på varje router.

En server och en agent på varje router

Servern är skriven i Python på FastAPI och kommunicerar med enheterna via REST och WebSockets, med Redis i bakgrunden. Agenten på varje router är skriven i Go och sparar sitt lokala tillstånd i SQLite. En särskild discovery-tjänst låter en router hitta servern och registrera sig själv, så att nya enheter inte behöver någon manuell konfiguration. Autentisering och auktorisering på varje anslutning förhindrar dubblering av MAC-adresser och stänger därmed vägen för en enhet att utge sig för att vara en annan.

Tester på fysiska routrar i kundens labb

Varje ändring testas på distans på fysiska routrar i kundens labb. En CI/CD-pipeline bygger, testar och driftsätter varje ändring, och en strukturerad loggkonfiguration registrerar systemaktivitet, fel och varningar, så att ett fel på en enhet kan spåras tillbaka till sin orsak.

Från konsolkommandon till en fungerande dashboard

Plattformen styrdes först från konsolen. När den växte behövde kundens team en skärm, så vi byggde en dashboard i Streamlit, kopplad till plattformens databas – enkel att se på och fullt fungerande, så att kundens team kan se och hantera sina enheter utan att skriva ett enda kommando.

05

Kundens resultat

1. Vår agent körs på varje router i testlabbet

Agenten körs på alla routrar i kundens labb och konfigureras och uppdateras från servern. Nya routrar registrerar sig själva via discovery-tjänsten, utan manuell konfiguration på enheten.

2. En dashboard i stället för konsolkommandon

Kundens team ser och hanterar nu sina enheter på en skärm, utan att köra konsolkommandon. Dashboarden arbetar med livedata från plattformens databas.

3. Samma team, flera år senare

Ingenjörerna som byggde plattformen vidareutvecklar den fortfarande – även efter att samarbetsmodellen ändrades från ett fullständigt utvecklingsteam till en supportfas. Kunden behåller kunskapen om hur systemet fungerar, och varför, inom teamet som skrev det.

4. Redo för utrullning i etapper

Plattformen körs på fysiska routrar i kundens labb. Nästa steg är kundens: att släppa den till abonnenterna i etapper, med start i en enda byggnad.

Berätta vad ni bygger

Skicka en skiss, en kravspecifikation eller tre meningar om var systemet har kört fast. Ett samtal räcker oftast för att avgöra om vi passar er.

Skräddarsydd mjukvara, AI och ML, data och analys, moln och säkerhet — från tidig behovsanalys till långsiktig leverans.

  • 170+ experter
  • 120+ levererade projekt
  • 97% helt nöjda

    Jag har läst och godkänt Användarvillkoren och Integritetspolicyn *

    Din integritet är viktig. Vi använder cookies för att förbättra din upplevelse och anpassa innehåll.