Fallstudie

Använd CI/CD och AWS Lambda för att utveckla bättre bokningssystem

50,000+
Aktiva Användare
60+
Golfanläggningar
100%
AWS Serverless Platform
Introduktion

Teevolution är ett innovativt svenskt teknikföretag, känt för sina golfrelaterade produkter och tjänster som SmartGolfa. Läs vår fallstudie som visar vilken roll AWS Lambda spelade för att skapa en effektiv lösning åt dem.

Om Teevolution AB

Teevolution är ett Svenskt innovativt teknologiföretag som är kända för sina golfrelaterade produkter och tjänster som som Smartgolfa, en framgångsrik webb och mobilplattform som tillhandahåller sina kunder en bred portfölj av kostnadseffektiva tjänster för att spela golf.

Utmaningen

Miracle Mill inledde samarbetet med Teevolution 2016. När Miracle Mill tog över utvecklingen skapades webbplatsen med WordPress. När affärsmodellen växte var det dags att bygga en anpassad plattform som skulle möjliggöra framtida skalbarhet, mobil åtkomst och ökad interaktivitet. Plattformen krävde en betydande investering, både när det gäller funktioner och infrastruktur. En agil, samarbetsinriktad metod etablerades tillsammans med kunden och en plan skapades för att gradvis börja använda fler molntjänster.

Vi ville också visa hur AWS kan hjälpa SmartGolfa-plattformen när det gäller skalbarhet, säkerhet och kostnadsbesparingar. Det var också viktigt att undersöka hur AWS kunde användas för att lösa några av den tidigare plattformens komplexa problem, samtidigt som man återanvände de komponenter som fungerade bra.

Skärmdump av Teevolution-appenSkärmdump av Teevolution-appen

Teevolution App

Lösningen

AWS Lambdas roll i Teevolution-lösningen

Det första vi behövde göra var att hitta en bättre miljö för deras äldre appar som var svåra att underhålla och skala upp. Vi började med att migrera till AWS för att få en mer underhållbar, stabil och skalbar miljö och för att skapa en multi-tenant-applikation som gör det enklare för kunderna att spela golf. AWS LambdaExternal Link spelade en viktig roll i alla delar av den här lösningen.

Nästa steg var att skapa ett AWSCodeCommitExternal Link-arkiv och konfigurera arbetsflödet med CI/CD-modellen. AWS Lambda spelar en central roll för att underlätta den här pipelinen när det används för att sammanfoga feature branch code med master branch, och för att utlösa skapandet av funktions-pipelinen när en pull request (PR) skapas.

Vi ville säkerställa att kunderna har en säker autentisering, så vi använde Amazon CognitoExternal Link för det ändamålet. Eftersom vi byggde CMS-systemet (Content Management System) som användes av alla tenants och vi behövde begränsa åtkomsten mellan tenant-administratörerna, så var det enkelt att implementera med Amazon Cognito-grupper och roller. Amazon Cognito interagerar med AWS Lambda för auktoriseringsförfrågningar (t.ex. förfrågningar som går till API) och för att hämta användarinformation. Amazon Cognito triggers används också tillsammans med AWS Lambda för händelser som t.ex. skapande av nya användare, vilket hanteras med custom logic.

Nästa utmaning var att appen skulle ha en snabb, säker och konsekvent bokningsfunktion. För detta ändamål behövde vi bygga komplexa funktioner på ett så enkelt sätt som möjligt, som lätt kan underhållas och skalas. För att hålla den här processen ren och se till att alla oplanerade händelser utlöser lämpliga larm (samtidigt som de hålls till ett minimum) byggde vi lösningen med hjälp av AWS Step FunctionsExternal Link i kombination med AWS Lambda. Detta hade steg och beslut som övervakades och larm som meddelade oss om oönskade problem. Vi använde också AWS Lambda-funktioner för REST API calls och Amazon API Gateway som en managed service.

AWS Services som användes som en del av lösningen

  • AWS Lambda
  • Amazon Cognito
  • AWS Step Functions
  • AWS API Gateway
  • AWS Code Commit
  • AWS CodePipeline
  • AWS Pinpoint
  • AWS DynamoDB & DAX
Arkitektur diagram
Architectural diagram

Teevolution-appens arkitekturdiagram

Teevolution-appens arkitekturdiagram

Fördelar och resultat

Efter cirka nio månaders arbete hade de nämnda AWS-tjänsterna implementerats och alla motsvarande data hade migrerats. Projektet använder flera AWS services för utveckling och kundinteraktion.

AWS Lambda används för back-end API calls. AWS Step Functions används för funktioner som tar längre tid än några millisekunder att slutföra och där transaktionssäkerhet krävs, t.ex. bokningar och köp. Amazon Cognito har utökats med plugins för autentisering för mobil och webb.

Tjänsten betjänar för närvarande över 50 000 golfspelare utan någon som helst avbrottstid. AWS services används på ett sådant sätt att skalbarhet inte är något problem och det finns ingen gräns för hur många användare som kan läggas till i systemet. SmartGolfa och andra varumärken kan fortsätta välkomna nya användare och praktiskt taget ingenting behöver justeras. Enligt projektets lead engineer:

"Skalbarhet har inte varit och kommer inte att vara ett problem, eftersom ingen av de tjänster som används har några skalbarhetsbegränsningar."

Mirationen förbättrade plattformens säkerhet, tillförlitlighet, kostnad, autentiseringsprocess och prestanda. Dessutom har applikationens hastighet förbättrats. Det är mycket aktivitet på plattformen och användaroptimeringen fortsätter att överträffa förväntningarna. Plattformen är redo att utökas med nya funktioner som morgondagens golfspelare förväntar sig.

Andreas Jönsson, VD för Teevolution, avslutade med att säga,

"Vi är nöjda med vårt beslut att migrera till AWS. Nu har vi en robust lösning i enterprise-klass."
Om Miracle Mill

På Miracle Mill är vi passionerade entreprenörer och ingenjörer som arbetar med att använda modern banbrytande molnteknik. Vi är ett molnföretag som fokuserar på att bygga skalbara applikationer med AWS-molntjänster.

Vi tillhandahåller molnkonsulttjänster med en Agil iterativ process för mjukvaruutveckling och DevOps- metoder.

Använda tjänster

Läs mer

Fallstudie
Amazon CloudFront,AWS S3,AWS Lambda
Lägg grunden för bättre DCX i detaljhandeln med AWS Lambda

Re-board Technology tillverkar Re-board®, den innovativa, hållbara, robusta kartongen. De är baserade i Sverige och samarbetar med globala tryckpartners och distributörer för att erbjuda effektfulla designlösningar för displayreklam, marknadsföring på försäljningsställen samt för utställningar och mässor.

Läs mer
Fallstudie
Modernisering av beställningssystem med molnet och serverlös utveckling

Fogia är ett skandinaviskt möbelföretag med fokus på enkelhet, funktionalitet och kvalitet. De designar och tillverkar möbler för hem, kontor och offentliga utrymmen.

Läs mer
Artikel
Automatisk testning av webbgränssnitt i AWS

Alla bra utvecklingsprocesser innehåller en testfas - oavsett om man låter vänner och familj utvärdera produkten eller om det är en kvalitetssäkring som utförs av en certifierad leverantör. Testningen görs oftast manuellt eller halvautomatiskt med hjälp av verktyg som Selenium. Många är bekanta med automatiserade testningsverktyg, men då det kan kännas krångligt att implementera automatiserade UI-tester är det ibland något man hellre undviker. Medan andra automatiserade integrations- och enhetstester kan vara enklare och mer okomplicerade att implementera kräver automatisk UI-testning mer eftertanke och planering - men de potentiella fördelarna är desto större. Automatisk testning av webbgränssnitt sparar mängder av tid, säkerställer högre kvalitet och precision och möjliggör kontinuerlig distribution. En välkommen bonus är potentialen att omvandla din verksamhet!

Läs mer
Artikel
DevOps inom Scrum

I takt med att DevOps blir alltmer populärt och implementeras i organisationer av alla storlekar verkar det finnas en missuppfattning om att DevOps och Agile är helt olika idéer, som inte är tänkta att fungera tillsammans. Dessutom tenderar vissa att tro att DevOps innebär "kontinuerlig leverans" och Agile betyder "Scrum", och denna missriktade förenkling orsakar spänningar mellan de två och ännu mer förvirring kring vad som är det bästa valet för organisationen.

Läs mer