Björn Lundén gick över till microservices

Företaget Björn Lundén var i behov av en IT-plattform som enkelt kunde skala upp i kapacitet och möjlighet till separerade IT-miljöer. Idag använder Björn Lundén Elastx jelastic:PaaS som backend och bygger nya tjänster genom att använda microservices.

Antal användare som nyttjade deras tjänster växte i antal och de satt fast med en traditionell hostinglösning och en monolitisk serverarkitektur. Deras applikationer är även de monolitiska. Vad innebär då det? Jo, en monolitisk applikation innebär att all logik även finns i applikationen (t.ex. .war, .jar fil eller repository). Filosofin med denna design är att applikationen inte enbart är ansvarig för en uppgift utan kan utföra alla nödvändiga steg.

Microservices (även kallat Microappar) är ett mjukvaruarkitekturtänk där komplexa applikationer istället delas upp i små, oberoende processer som kommunicerar med varandra genom att använda språkoberoende API:er. Dessa microservices är väldigt små och har som sagt bara en uppgift.

Några av fördelarna som microservices ger:

  • Hantering - Varje microservice har en uppgift och en funktion.  
  • Språk -  En microservice kan byggas med valfritt språk och/eller verktyg eftersom de fungerar oberoende av varandra.
  • Isolering - De har inga direkta beroenden eftersom varje microservice är separerad från varandra.
  • Team - Enklare att ha fristående team som utvecklare olika microservices (under förutsättning API:er som exponeras är fördefinerade). Ger dem även full kontroll och främjar ägandeskap.
  • Continuous Delivery - Underlättar testning och snabbar upp frekvensen för släpp till produktion.

 

BL Environment

 

Björn Lundén och resan med Elastx

Vi tog ett snack med Henry Arousell på Björn Lundén för att höra hur de upplever Elastx easy:PaaS och fördelarna med microservices för Continuous Delivery.

Berätta om Björn Lundén

Björn Lundén Information AB är ett kunskaps- och utbildningsföretag som sedan 1987 har försett företag, företagsrådgivare, föreningar mfl med begriplig information och praktiska hjälpmedel inom områdena skatt, redovisning, personal och juridik.Sedan ungerfär 15 år erbjuder vi dessutom program och tjänster inom dessa områden. Vår produkt BL Ekonomi är ett program för mindre företag att smidigt hantera sin bokföring och fakturering. Denna produkt erbjuder vi som en prenumerationstjänst per månad.

 

Hur många användare har BL Ekonomi?

Vi har ungefär 11200 licenser varav ca 3600 är frekventa användare som totalt använder 31500 databaser.

 

Vilken var Er utmaning?

Vi hade ett antal utmaningar innan vi hittade Elastx. Vi satt då fast med en driftpartner som endast erbjöd en monolitisk singelinstans virtuell server. Den lösning vi hade var väldigt statisk och det var svårt för oss att skala när antalet användare växte.

En av de största utmaningarna var att hitta en pålitlig och stabil partner som delade vår syn på QoS (Quality of Service) dvs hög servicenivå och som dessutom hade en IT-plattform som matchade detta. Vi behövde även kunskapen hur en smidig implementation skulle genomföras.

Vår IT organisation består till största delen av utvecklare och att hitta en driftsleverantör som dessutom kunde överbrygga gapet mellan drift och utveckling var väldigt viktigt för oss (DevOps Elastx anm.).

 

Hur kom ni i kontakt med Elastx?

Vi träffade Elastx för första gången på Jfokus 2013 som är Sveriges största Javamässa. Vi fattade tycke för deras tekniska kunnande och vi var då i ett läge när vi verkligen behövde hjälp för att hantera skalning av främst IT-kapacitet. När vi såg kontrollpanelen för Elastx easy:PaaS blev vi helt tagna! Inte bara för vårt produktionsbehov, men även för test och labb. Låter kanske lite smörigt, men vi var faktiskt eld och lågor vilka möjligheter detta kunde ge oss! Elastx sköter även 24x7 övervakning av vår applikation och tar hand om eventuella larm. Den är ovärderlig väl vi behöver akut hjälp.

 

Vad blev lösningen?

Vi började med en 1-dags workshop med Elastx där vi gick igenom hela vår arkitektur samt vår produkt. Elastx hjälpte oss att sätta upp miljön för optimal prestanda inkl. lastbalanserare och att ha separata miljöer för Tomcat och MySQL noder som vi ej hade tidigare. Det var smidigt och enkelt att komma igång!

På serversidan så körs nu applikationen, som är skriven i Java 7, på två Elastx jelastic:PaaS miljöer. En med NGINX som använder två Tomcat noder som förser applikationen med kraft samt den andra miljön som har en massiv MySQL server som innehåller fler än 31,500 databaser! Detta är nu snart 2 år sedan och vi är väldigt nöjda med stabiliteten i plattformen, men framförallt Elastx support.

 

Vad blev utfallet efter bytet till Elastx jelastic:PaaS?

En av de stora fördelarna i vårt dagliga arbete är troligen att vi själva enkelt har access till produktionsmiljöerna. Vi har numera direktaccess till loggar och serverstatistik. Vi behöver inte kontakta någon person på IT-drift och fråga efter information. Sedan har vi även fått en väsentlig prestandaförbättring. Det är aldrig fel.

Nej vänta, den största skillnaden är nog smidigheten i att vi enkelt kan utöka serverkapaciteten själva allteftersom vår användarebas har växt. BL Ekonomi är i grunden fortfarande en monolitisk serverdesign, men vi arbetar nu med microservices för att lägga till ett antal nya samt utökade funktioner. Här hjälper Elastx oss med best practices för att optimera lösningen och se till att vi får ett bra Continuous Delivery flöde för våra utvecklare.

 

Vad blev prisskillnaden?

Det är svårt att svara på eftersom vi har växt enormt sedan vi bytte till Elastx easy:PaaS för snart 2 år sedan. Men, jag kan helt klart säga att det är betydligt bättre nu när vi endast debiteras för faktiskt förbrukning och inte en fast summa per server oavsett förbrukning. Sedan skulle jag säga att den stora besparingen är tid och att Elastx grymma support alltid finns nära tillhands om vi behöver djup teknisk kompetens!

Tack Henry!

Läs mer på blinfo.se

Om microservices

Microservices är på ett sätt “back to basics” med enkla applikationer som uppfyller dagens komplexa behov genom att jobba tillsammans via API:er. Den containerbaserade teknik som vi använder i vår jelastic:PaaS (byggd på Jelastic) går hand i hand med microservices tänket. Varje container i en stor komplex enterprise-applikation representerar en service som kan skalas, konfigueras och monitoreras separat. Skulle det behövas någon förändring för att t.ex. projektet ändras så kan det enkelt göras för de berörda microservices utan att hela applikationen behöver byggas om och deployas

Om ert företag är intresserad av att höra mera om microservices och best practices så kontakta oss gärna Elastx för ett personligt möte.

 

Share