Amazons Cloud gjorde væksten mulig

Covid-19 betød kæmpe vækst til det danske firma: "Assembly Voting". Peytz leverede løsningen, der gjorde det muligt at levere.

Kontakt

Henrik Mee Løvgret, head of DevOps and Operation

Systemet

Online valgsystem


Danske “Assembly Voting” er, med flere end 1.000 kunder i Europa, en nøglespiller indenfor digitale valgløsninger.

Virksomhedens founder & CEO, Jacob Gyldenkærne, fortæller at Covid-19 betød en meget voldsom vækst i efterspørgslen fra både ind- og udland om sikre og formelle digitale valghandlinger.

Valghandlingerne foretages af organisationer som OSCE, PostNOrd, Københavns Kommune og flere end 1.000 andre, som blev forhindret i at gøre som de plejer på grund af Corona.

Efterspørgslen betød en solid vækst for virksomheden, men gav også udfordringer for deres infrastruktur, som pludselig skulle modtage, verficere og dokumentere valghandlinger med op til en million vælgere

En million samtidige brugere på systemet kræver et særligt setup. Der skulle desuden bruges avancerede krypteringsteknologier for at kunne levere en sikker og verificerbar End-to-End løsning. Altsammen noget, der stiller store krav til serverne bag.

Michael Andersen, CTO, Assembly Voting

"Vi er meget trygge ved cloud migreringen, og det har givet os mod på meget mere cloud computing med AWS og Peytz."

Udfordringen

Belastningen skifter konstant

Assembly Votings kunder kan selv oprette og afvikle valg. Derfor skifter belastningen konstant.  Størstedelen af tiden er den ret lav, men nårsomhelst kan et valg sættes i gang, og så skal serverne være klar.

Det siger sig selv, at hvis man vælger at have servere stående klar til maksimal belasting døgnet rundt, så bliver det en meget dyr løsning. For serverkapacitet koster penge, uanset om man bruger den eller ej.

Derfor bad Jacob Gyldenkærne Peytz levere et setup, der automatisk skalerer op og ned baseret på det øjeblikkelige behov - uden på noget tidspunkt at gå på kompromis med hverken sikkerhed eller compliance regler.

AWS og containers

Med cloud computing, kan man op- og nedskalére efter behov, og dermed kun betale for det server-load, man rent faktisk bruger, så løsningen skulle selvfølgelig i skyen.  

Men hvilken?

Mange SaaS platforme har svært ved at forudsige, hvornår der er brug for at skrue op og ned for systemressourcer.

I samarbejde med Assembly Voting vurderede vi, hvordan løsningen ville agere i forskellige public clouds, før vi valgte.

Løsningen der gjorde væksten mulig

“Peytz er vores strategiske samarbejdspartner i ordets bogstaveligste forstand. De har været afgørende for at vi har kunnet følge med efterspørgslen i både Danmark og udlandet”, siger Jacob Gyldenkærne fra Assembly Voting.

CTO i Assembly Voting, Michael Andersen siger: “Med Peytz har vi fået en meget alsidig, kompetent og i særdeleshed fleksibel driftsleverandør. Vores seneste migrering af vores Conference produkt til AWS Cloud har været en stor success, hvor Peytz har påtaget sig både en rådgivende og implementerende rolle. Vi er meget trygge ved cloud migreringen, og det har givet os mod på meget mere cloud computing med AWS og Peytz.”

Jacob Gyldenkærne, CEO og founder, Assembly Voting

"Peytz har været afgørende for at vi har kunnet følge med efterspørgslen."

Teknikken bag

De nørdede detaljer

Valget faldt på en containerized platform og på Amazon Web Services (AWS). Infrastructure-as-code var givet, og til at sætte hele løsningen op valgte vi Terraform.

For at sikre maksimal skalérbarhed og minimalt behov for at sidde og styre det, faldt valget på en en container baseret løsning hostet i AWS Elastic Container Service(ECS) Fargate. Løsning er en pay-as-you-go fully managed service, der giver DevOps mulighed for at skalere antallet af containere nærmest uendeligt.

Applikationen består af forskellige services, der med hver deres ECS task definition skalerer individuelt efter behov.

Skalering af applikationen foregår via custom CloudWatch metrikker, der skalérer efter behov, baseret på hvor mange brugere der på et givent tidspunkt benytter løsningen.

Det betød også, at selve databasen skulle skalere dynamisk. Valget faldt her på AWS Aurora serverless, der ligeledes er en fully managed database service, hvor patching og skalering håndteres af AWS.

Der er opsat AWS Codebuild og AWS Codepipeline til CI/CD, som dels sikrer, at der bygges Docker containere ved hvert commit, samt at applikationen kan deployes automatisk.


Brug for en gennemtænkt Cloud-løsning?