Elsa-palvelun käyttäjämäärät huomioiden ratkaisuarkkitehtuurista päädyttiin tekemään mahdollisimman yksinkertainen ja helposti ylläpidettävä. Alustaksi valittiin AWS (Amazon Web Services) sen luotettavuuden ja tunnettavuuden vuoksi. Olennaisina osina arkkitehtuurin suunnittelussa oli palvelun toimintavarmuus, tietojen käsittely tietoturva huomioon ottaen ja sujuvan suorituskyvyn varmistaminen.
Teknisesti palvelu koostuu kolmesta keskeisestä osasta: verkkosivusta, taustapalveluista ja tietokannasta. Verkkosivun julkaisemiseen soveltuvin vaihtoehto oli jakaa sivut staattisesti S3-dokumenttivaraston kautta. Taustapalvelut sen sijaan haluttiin kontteihin, jolloin niitä pystytään hallitsemaan ja skaalaamaan helposti käyttötarpeen mukaan ilman erillisiä palvelimia. Tätä varten hyödynnettiin AWS:n Elastic Container Service –palvelua. Tällä myös huolehditaan toimintavarmuudesta, koska ECS pystyy toipumaan mahdollisista virhetilanteista ja huolehtii taustapalveluiden saatavuuden. Taustapalveluiden lokit kootaan AWS:n CloudWatch:iin, josta niistä poimitaan erikseen esimerkiksi mahdolliset palvelun virhelokit ylläpitoa varten. Tietokannaksi valittiin AWS:n Relational Database Service:n tarjoama PostgreSQL, joka yksinkertaistaa huomattavasti tietokannan ylläpitoa ja auttaa hyvän tietoturvan varmistamisessa.
Tietoturvasta huolehditaan minimoimalla pääsy AWS:n palveluihin. Julkiverkkoon näkyy vain verkkopalvelun käyttämät staattiset sivut ja taustapalvelut. Taustapalveluiden rajapinnoista suurin osa on vahvan tunnistautumisen takana, jolloin käyttöoikeuksia pystytään hallitsemaan helposti. Tietokantaan pääsy on ainoastaan taustapalveluilla ja ylläpitäjillä AWS:n System Manager (SSM) palvelun kautta. Tietokannasta on myös salattu kaikki arkaluontoinen data. Taustapalveluiden tarvitsemien salaisuuksien hallintaan on hyödynnetty AWS:n Parameter Store:a, jolloin mitään salaisuuksia ei tarvitse konfiguroida suoraan taustapalveluille. Elsa on rakennettu kokonaan avoimena lähdekoodina, jolloin kuka tahansa voi käydä katsomassa toteutusta kooditasolla.
AWS ympäristöt rakennettiin kokonaisuudessaan koodina Terraform–työkalulla, jolloin eri ympäristöjen pystytys on helposti toistettavissa ja toimintavarmempia. Näin pystytään varmistamaan, että pilviympäristön ylläpidossa ei ole mitään käsin tehtyjä konfiguraatioita, joista ei jää mitään jälkeä. Sekä infrastruktuurin että Elsa-palvelun julkaisemiseen eri ympäristöihin hyödynnettiin Azure DevOps -työkalua, jolla halutut muutokset koodiin saadaan helposti automatisoitua. Tällä myös varmistetaan, että mikään koodimuutos ei riko palvelussa mitään, koska ennen julkaisua muutosten pitää läpäistä palvelua varten luodut testit. Samalla myös tarkistetaan käytössä olevien kirjastojen tietoturva OWASP:n tunnettujen haavoittuvuuksien listaa vasten.