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.
Utmaningen
PCG inledde samarbetet med Teevolution 2016. När PCG 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.
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 Lambda spelade en viktig roll i alla delar av den här lösningen.
Nästa steg var att skapa ett AWSCodeCommit-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 Cognito 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 Functions 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
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 PCG
Public Cloud Group (PCG) stödjer företag i deras digitala transformation genom att erbjuda publika molnlösningar.
Med en produktportfölj som är utformad för att stödja organisationer av alla storlekar på deras resa mot molnet, och en kompetens som är synonym med högkvalificerad personal som kunder och partners gärna arbetar med, positionerar sig PCG som en pålitlig och trovärdig partner för de största molnleverantörerna. Vi är relevanta och har erkänd kompetens och trovärdighet.
Vi har den högsta partnerskapsstatusen med de tre största molnleverantörerna: Amazon Web Services (AWS), Google Cloud och Microsoft. Vi erbjuder expertis och oberoende rådgivning inom molnimplementering, applikationsutveckling, skötsel och underhåll av molntjänster.