Referens - Klarna

Squeeds Blogg | 2020-04-19 | Claes Stenborg
Omstrukturering av kodbasen gav ny fart åt lösningen!
on_the_top.jpeg

Med en tydlig ökad komplexitet och teknisk skuldsättning såg Klarna AB ett behov av att förändra ett mönster. Genom att omstrukturera kodbasen, snabbare distribution och automatiserad testning lyckades de vända trenden. Sedan dess har det varit lättare att lägga till funktioner och utföra underhåll.

Klarna Bank är ett av Europas största fintechföretag och erbjuder betalningslösningar till 85 miljoner konsumenter över stora delar av världen. De har också en banklicens, och även om de inte är en fullservicebank erbjuder de ett antal olika betalningslösningar för onlinehandel:

Klarna Checkout (KCO) – Lösningen är en komplett tjänst för att utfärda ett köp online, och omfattar allt från adresshämtning, leveransmöjligheter, kundvagn, olika betalningsalternativ och även juridiska dokument. Denna lösning omsätter miljarder i veckan och är den populäraste betalningslösningen.

Klarna Payments (KP) - en betallösning som en separat produkt där du kan lägga till betallösningar i ditt kassaregister. Användaren väljer vilka betalningsmetoder som är önskvärda. Klarna levererar hela betallösningen och lösningen kan integreras med andra lösningar, både med Klarnas övriga lösningar och med konkurrenter.

Klarna Faktura (KPM) – Liksom Klarna Payments ansvarar webbutiken för att samla in all nödvändig information och efter köpet skickar Klarna en faktura till kunden via e-post.

 

Klarna Mobil

Klarna Checkout levereras som en komplett produkt, som sköter hela köpflödet i webbutiken. Detta hjälper butiken att fokusera på att optimera produkt och butik istället för att utfärda själva köpet. Klarna å sin sida lägger ner mycket tid på att optimera flödet för köp, därav att optimera KCO för att göra det så enkelt som möjligt för både webbutik och kund.

Det pågår ett kontinuerligt arbete för att göra KCO bättre och Squeed bidrog till att förbättra lösningen under perioden 2017-2019. Dessutom var Squeed en bidragsgivare till Klarnas betalnings- och mobilapplikation.

När Squeed togs in hade Klarna samlat på sig ett antal tekniska skulder och förbättringar genom robustifiering av koden var därför några av de första som genomfördes. Kodbasen reducerades till 25 % av den ursprungliga storleken, som ett resultat av en modularisering och förenkling av koden. Den tillhörande koden lades till moduler, vilket gjorde det lättare att genomföra tester och gjorde det möjligt att arbeta parallellt.

Detta underlättade vidareutveckling på en mer robust bas än tidigare. DevOps metodik introducerades och en CI/CD-pipeline hanterades i AWS för att upprätthålla och uppnå snabbare driftsättning.

Kortfattat

Vad vi gjorde:

  • Robustifiering
  • Modularisering

Teknik vi använde:

  • Javascript
  • React
  • React Native
  • Node
  • AWS
  • Kafka