Lugesin hankedokumendid läbi.
Ma ei saa aru, miks on vaja sinna kirjutada nii konkreetselt:
6.2 Arhitektuur
6.2.1 SAIS3 on mikroteenustel põhinev lahendus (8 teenust, message broker RabbitMQ)
6.2.2 Süsteemi jooksutatakse konteineriseeritult (Docker, CI/CD pipeline)
6.3 Tehnoloogiad ja platvormid
6.3.1 Haldusplatvorm: Kubernetes
6.3.2 Andmebaas: PostgreSQL
6.3.3 Rakenduse kiht: .NET 8, React 18 ja Next.js
Ja miks on vaja 7 inimesega meeskonda 3 aastaks?
Mu kogemus on, et ühel inimesel (+0.25 kohta disainerit) on 3 kuuga võimalik valmis kirjutada spordiklubide ühenduse kasutajate intranet + külaliskasutajate osa registreerimiste haldamiseks (koos maksete, meeldetuletuste, klasside ja privaatsessioonide otsingu jms-ga). Lisaks said spordiklubid ise teha paljut (sisestada tunde, treenerite aegu etc) + globaalselt hallatavad kampaaniad (millega klubid said ühineda nii tervenisti kui ka tunni täpsusega) … jne.
Registreeritud kasutajaid oli kokku 8 miljonit, tippkoormuse päevadel logis neist sisse ca 200 000, kui olid müügikampaaniad, siis oli kasutajate arv 1,4 miljonit.
Kõik töötas 2-l serveril PHP monoliit ühel ja MySQL andmebaas teisel. Kasutajad tulid nende klubikaardi süsteemist üle API.
Kusjuures projekt oli 7 aastat tagasi.
SAIS puhul ma näen ca 3-4 põhitabelit ja paar keskmise keerukusega SQL päringut edetabelite koostamiseks - keerukamad päringud oleks millisekundite suurusjärgus ja read only.
Lisaks õpilaste tulemuste saamine üle API ja paar vormi õpilastele ja koolidele.
Pluss natuke harilikku kama selle ümber - kasutajad, õigused jms.
Üks asi, mida see tõestab, on “The Magic Beanstalk” anti-pattern - “iga süsteem püüab kasvada kuni ta kasutab ära kogu saadaoleva ressursi, samal ajal selle tehtav kasulik töö püsib konstantsena”.
Tavaliselt sellised kontrollimatult kasvada lastud süsteemid kukuvad oma raskuse all “ootamatult” kokku. Halvemal juhul ei saa nad enne seda ka “valmis”.