Arkitektur

MACH-Arkitektur

På Avantime Development jobbar vi med så kallad MACH-arkitektur. Detta tänk bygger på fyra grundprinciper inom modern webbutveckling; Microservices, API-first, Cloud-native och Headless. Dessa är viktiga pusselbitar att ha i åtanke vid implementering av digitala projekt. I och med detta så ger det oss möjlighet och frihet att skapa lösningar som är flexibla, skalbara och framtidssäkra.

Microservices

Med microservices möjliggör vi lösningar som består av löst kopplade tjänster som kan designas, utvecklas och sjösättas helt separat från varandra. I motsats till en monolit (där hela lösningen sitter ihop i en och samma tjänst) så kan vi med hjälp av microservices göra de mest lämpliga teknikvalen för olika delar av ett system och dessutom enkelt förbättra eller byta ut små delar av en lösning utan att påverka något annat.

För att uppfylla detta följer vi principerna för domändriven design (DDD) med mjukvarudesignkonceptet ”Clean Architecture” där fokus ligger på ”seperation of concerns” för att kunna bygga skalbara, modulära och underhållsbara mikrotjänster.

API-first

API-first (Application Programming Interface) innebär att varje tjänst från grunden byggs för att kunna exponeras och integreras med andra interna och/eller externa tjänster via standardiserade kommunikationsprotokoll. Vanligast är det att vi jobbar via HTTP och REST API:er men vi har även erfarenhet av GraphQL som är ett väldigt bra alternativ för API:er åt mobilappar där prestanda är av stor vikt.

Cloud-native

För höga krav på skalbarhet, prestanda och tillgänglighet över geografiska regioner och olika kanaler så är det en självklarhet för oss att kunna drifta i molnet. På Avantime Development har vi expertkunskap på hosting och tjänster i Microsoft Azure samt container-baserad orkestrering med Kubernetes (AKS). Många av våra utvecklare har de certifieringar som krävs för att kunna designa, utveckla, underhålla och monitorera applikationer i molnet. Utöver detta har vi även god erfarenhet av Amazon Web Services (AWS).

Headless

Headless CMS och decoupled CMS är begrepp som idag blir allt mer vanligt. Kort sagt innebär det att man separerar innehåll från presentation för att inte begränsas av sitt val av CMS. I och med detta öppnas helt nya möjligheter upp för att bygga avancerade gränssnitt och användarupplevelser i exempelvis React, Angular eller Vue.

En annan stor fördel med headless är att det möjliggör presentation av samma content/data men på olika sätt i olika plattformar/enheter. Vanliga CMS som WordPress, EPiServer och Umbraco går såklart bra att köra som headless men vi rekommenderar att utvärdera några utmärkta Node-baserade alternativ som Contentful, Strapi eller Sanity.

Låter det här spännande? Vi berättar gärna mer!