Byggt för stabilitet, säkerhet och skalbarhet

Våra produkter är byggda på modern teknisk plattform med skalbar arkitektur och säkerhet i fokus.

Svensk lagring

Lösningarna köra på svenska servrar och all data lagras på svenska servrar i AWS regi.

Skalbar arkitektur

Med en modern molnarkitektur kan vi enkelt skala upp plattformarna för att hantera fler kunder, fler användare och större datamängder.

API-first

Produkterna är utvecklade med integration i åtanke redan från början. Via öppna API:er kan de integreras med olika externa lösningar.

Multi-tenant

I sann SaaS-anda så är lösningarna byggda för multipla kunder/användare. Det krävs ingen installation för specifika kunder för att komma igång med produkterna.

Säkerhetsfokus

Säkerhet är väldigt viktigt för våra kunder. Därför är lösningarna byggda med hög säkerhet i fokus.

Tekniska lösningar

Här beskrivs kort vilken teknik vi använder för att bygga våra lösningar.

Versionshantering och CI

Versionshantering hanteras via GitLab och GitHub och följer metodiken Git Flow.

Våra kodbaser tillämpar Continuous Integration (CI) via antingen GitLab Runners eller GitHub Actions för att säkerställa funktionalitet innan deployment.

Vi använder Laravel Forge för att hantera AWS-instanser.

Serverplattform

På serversidan är det AWS EC2-instanser med Ubuntu. Servrarna hanteras via SSH och kräver privata SSH nycklar för åtkomst, vilket bidrar till drastiskt ökad säkerhet.

Serveruppsättningen är antingen i form kompletta general purpose app-servrar (med webbserver, databas- och cache-servrar på samma server), eller med tjänster distribuerade över specifika tjänsteservrar, med isolerade databasservrar och webbservrar.

Utvecklingsplattform backend

Samtliga egenutvecklade applikationer är byggda i PHP och Laravel enligt best practice.

Majoriteten av applikationerna använder MySQL som databas.

Laravel-apparna använder Redis för objekt-cachning. Köhantering sköts med schemalagda jobb genom Laravels inbyggda scheduler.

Vi använder AWS Lambda-funktioner i flera projekt för att hantera högintensiva belastningar. Vi använder AWS Media Convert för iCatServer för att skapa förhandsvisningar av rörlig media.

Utvecklingsplattform frontend

På frontend används Vue.js med Webpack eller Vite som byggmotor. Majoriteten är Single Page Applications (SPA) med Laravel-applikationer som API. Några applikationer använder Server Side Rendering (SSR) genom Nuxt.

Pakethantering sker via antingen NPM, Yarn eller PNPM.

För realtidsnotiser används Pusher i ett flertal applikationer, samt en egen sockets.io-server för testning.

Specifikt för iCatServer

iCatServer är byggd som en SPA i Vue2 med Vite som byggmotor och ett löst kopplat API genom Laravel för backend. Det är en multi-tenancy app med central användar- och behörighetsstyrning och är förberedd för att agera Identity Provider (IdP) åt andra tjänster.

Tenancy-modellen bygger på isolerade databaser för varje tenant, och sköts idag av en separat MySQL-server. Cachning av objektdata sköts med Redis på databasservern och lagring sker på AWS S3. Applikationen är därmed helt förberedd för horisontell skalning med lastbalansering.

Utgående mail från systemet hanteras via MailGuns API och realtids-notiser via PusherJS.