Bokbasen automatiserade sina processer med hjälp av DevOps

Bokbasen erbjuder ett brett utbud av tjänster till Norges förlag. Företaget bygger och underhåller Den norske Bokdatabasen-katalogen, som innehåller data om alla norska förlag.  Genom att använda sig av detta enda centraliserade register kan branschen enkelt använda sig av data – i nätbutiker, boklådor, bibliotek och skolor – i stället för att lägga tid på att samla in den, vilket är fokus i många andra länder.


När e-böcker blev allt mer populärt byggde  Bokbasen upp en infrastruktur för att stödja dem, inklusive en streamingtjänst för ljudböcker.

Orange Business Services har förvaltat och hanterat Bokbasens verksamhet i sitt privata moln sedan 2012.

2017 började Bokbasen använda AWS för lagring och omkodning av ljudfiler.

2018 flyttade Bokbasen sin offentliga hemsida till AWS.

Utmaningen

Under 2019 fick Bokbasen i uppdrag att digitalisera böcker och läromedel.

Med en IT-avdelning på bara fem anställda blev var utmaningen för Bokbasen att kunna leverera dessa produkter i den omfattning kunderna krävde.

En kombination av flexibla managerade tjänster från AWS samt erfarna experter från Orange Business Services var lösningen.

Bokbasen använde en behållarbaserad mikrotjänstarkitektur för att deras nya tjänster skulle bli enklare och smidigare att utöka med nya funktioner, samtidigt som komponenttjänsterna kunde skalas självständigt.

Orange Business Services arbetade med Bokbasen för att distribuera och hantera DevOps Pipelines. Med hjälp av DevOps a blev processen med att släppa uppdateringar och nya funktioner sömlös och automatiserad.

Det var viktigt för Bokbasen att deras eget DevOps-team hade befogenhet att distribuera konsekvent till alla miljöer, inklusive produktion.

DevOps

DevOps representerar ett kulturskifte eftersom det integrerar teamet som skriver kod med teamet som driftar det till ett enda team. I stället för att varje programvaruutgåva innehåller många, potentiellt störande förändringar som alla släpps samtidigt, kan teamen istället släppa små förändringar oftare, vilket minskar effekten av förändringarna och gör det lättare att testa och släppa programvaran.

Orange Business Services samarbetar med kunder för att stödja deras DevOps-affärs- och teknikomvandlingar. Bokbasen valde att använda en distributionsstrategi som involverade:

  • Byggandet av en enda artefakt för alla miljöer
  • Släpp tidigt, släpp ofta
  • Använda rullande distribution för att gradvis ersätta eller uppgradera tjänster
  • Alltid åtgärda defekter genom att rulla framåt till en ny utgåva

Solution

Infrastruktur som kod

Med hjälp av Infrastruktur som kodteknik (IaC) kan Orange Business Services och Bokbasen automatisera utbyggnaden av infrastruktur, applikationstjänster och CD/CD-pipelines i alla miljöer.

HashiCorp Terraform används för att distribuera Bokbasens infrastruktur. Terraform-självbetjäningsmallar används för att snabbt och enkelt kunna skapa nya pipelines.

En mängd utmärkta IaC-moduler från Hashicorp Terraform-registret och från Orange Business Services har förenklat övergången. Användningen av IaC säkerställer en konsekvent och repeterbar metod för att distribuera och hantera infrastruktur i alla miljöer.

Spring Cloud Config och AWS Systems Manager Parameter Store används för att lagra konfigurationer och ser till att hemligheter såsom säkerhetsreferenser förblir krypterade och granskade.

Distributionspipelines

Orange Business Services Professional Services arbetade med Bokbasen för att utveckla pipelines i syfte att bygga applikationsartefakter och distribuera mikrotjänster över Bokbasens Test-, Stage- och Produktionskonton, och integrera med följande huvudsakliga AWS-tjänster:

  • Lambda
  • Fargate
  • Batch
  • API-Gateway
  • Statiska webbplatser på S3 (använda CloudFront CDN)

När en medlem i DevOps-teamet förbinder sig till vald gren, triggas pipelinen, som skapar artefakter, till exempel docker-avbildningar som ingår i tjänsten och skickar dessa avbildningar till behållarregistret. Pipelinen distribuerar sedan behållaren till testmiljön. Ett röktest startas med hjälp av RunScope och testresultaten kontrolleras manuellt av DevOps-teamet innan versionen godkänns för att skickas till stage, där samma röktest och ytterligare verifieringstester utförs innan distributionen godkänns i Produktion. DevOps har skrivskyddad åtkomst till stage- och produktionsmiljöer. Pipelines tillåts distributioner över flera konton förutsatt att de har tilldelats IAM-roller.

Databasscheman modifieras också som en del av distributionspipelines med hjälp av Flyway.

Liknande pipelines skapas för CI/CD för batchjobb, lambdafunktioner och S3-värdwebbplatser.

CI/CD: Fargate-hostade behållare

CI/CD: Lambda-funktioner

CI/CD: Batch-jobb

CI/CD: Statiska webbplatser

Produkter som används i DevOps Verktygskedja:

Deployment

  • HashiCorp Terraform
  • AWS CodePipeline
  • AWS CodeBuild
  • AWS CodeDeploy
  • AWS ECR
  • Flyway

Config

  • AWS Systems Manager Parameter Store
  • Spring Cloud Config

Monitoring

  • Datadog
  • io
  • AWS CloudWatch
  • AWS CloudTrail

Testing

  • RunScope

Version control

  • GitHub
  • AWS CodeCommit

Notifications and Collaboration

  • Slack

Kundens DevOps-team använder Datadog och Logz.io för att hantera och övervaka miljön.

Orange Business Services driver produktionsfärdiga tjänster och hanterar element av mellanprogram i lösningen på uppdrag av Bokbasen. Dessa element övervakas med Datadog och CloudWatch Logs.

Även om Bokbasen har kunskapen och åtkomstbehörigheterna att utveckla och testa IaC har Orange Business Services tagit ansvar för terraformering av de infrastrukturtjänster som är värd för Bokbasens tjänster.

Advantages

Lösningen möjliggör självbetjäning av CI/CD-pipelines där Bokbasens DevOps-team har full kontroll över IaC-definierade pipelines utan direkt åtkomst till mellanlagrings- och produktionsmiljöer.

Designen stöder funktionsseparation mellan de kontinuerliga förbättringarna av mikrotjänster och hantering av tjänster och hemligheter i produktionen. Krypterade hemligheter hålls inom sfären och IAM för varje konto.

Förbättringar av tjänster och arkitektur diskuteras kontinuerligt mellan Orange Business Services-verksamheten och Bokbasen DevOps genom frekvent dialog om slack samt schemalagda möten.

Lösningen gör det möjligt för Bokbasen att integrera nya funktioner snabbare genom kontinuerliga distributioner, med större tillförlitlighet. Samarbetet med Orange Business Services har gett Bokbasen en bra grund för att bedriva ytterligare migrationsverksamhet mot AWS.