Hoppa till innehållet
Britta Thörnblom, Infrastrukturutvecklare med DevOpsfokus

9 år i yrketEgenföretagare

Britta Thörnblom

Infrastrukturutvecklare med DevOpsfokus

  • Borlänge

Jag läste Teknisk Fysik på Chalmers och fann vägen in i mjukvaruutveckling under ett praktikår som backendutvecklare i New York under mina masterstudier. Jag fortsatte på mjukvaruspåret när jag skrev mitt examensarbete i Python/Tensorflow. Efter det har jag jobbat med infrastruktur enligt DevOpsprinciper i Göteborg, alltid med en kreativ och nyfiken approach till problemlösning vilket har gett mig min breda kunskapsbas.

Under alla mina uppdrag och anställningar har programmatisk testning, löpande dokumentation och stakeholderdialog varit viktiga verktyg som jag använt för att leverera stabila och korrekta lösningar till organisationen.

Visa mer
  • Ansible (Playbooks)
  • Python
  • REST API
  • GitLab
  • GitHub
  • Kubernetes
  • Docker
  • Grafana
  • Jenkins
  • Gerrit
  • Test tools
  • Artifactory
  • Agile Methods
  • Automation
  • Continuous Integration
  • Bygg- och deploymentflöden
  • Bygg- och leveranspipeline
  • Containerteknik

Kurser & certifieringar

  • Certified Scrum Master2026

Uppdrag

  • Volvo Cars

    okt. 2023 – okt. 2025

    CI/CD-utvecklare Gothenburg

    Mitt team levererade testinfrastruktur till Volvo Cars Basetech-organisaion som innefattade ca 60 mjukvarumoduler för bilens mjukvaruplattform, det första lagret i systemets uppbyggnad. Utöver den tekniska beskrivningen härunder jobbade vi tätt tillsammans med utvecklare och testare genom support och bearbetning av problem och krav samt hanterade det stora ekosystemet av Zuul-pipelines de använde. Detta innefattade även support med produktkoden skriven i C++ för att få alla pipelines att fungera som förväntat.

    Vi onboardade och underhåll av HIL-testmiljöer (Hardware-in-Loop) där vi använde Ansible för att provisionera verktyg och paket för manuell och schemalagd testning och hostmonitorering till Windowshostar. Vi använde Metricbeat för hostmonitorering av dessa riggar och satte upp larm som triggade automatiska alerts till MS Teams vid höga metrik-värden.Vi styrde rättigher till våra resurser genom Entra ID och accessgrupper på olika nivåer.

    För att kontrollera testningen och integrera utanför vår organisation byggde vi ett mellanlager av pythonscript som, givet en uppsättning villkor, säkerställde att rätt mjukvarurevisioner testades i hela systemets komponenter och att resultaten rapporterades korrekt till tredje system. Mellanlagret styrde också andra aspekter av testningen, beroende på mjukvaruplattform och andra parametrar. Från mellanlagret läste vi från en Elasticsearchinstans dit testorkestreringssystemet rapporterade testevents samt hämtade ytterligare styrdata från multipla tredje system över REST-apier. På så vis säkerställde vi att vår organisaions kod (ca 60 moduler) testades både isolerat på sin avsedda hårdvara samt integrationstestades med andra hårdvarukomponeneter inom organisationen innan de släpptes till integration högre upp i techstacken.

    Vidare designade och utvecklade vi en ETL-lösning för testdatalagring i form av en dockeriserad extract- respektive transformlösning som extraherade data från tidigare nämnda Elasticsearchinstans och skrev till en PostgresDB (senare vidareutvecklades detta till att skriva till Snowflake). Vi utvecklade Grafana-dashboards efter organisationens behov, samt driftade en egen Grafana där vi konsoliderade loggar genom Loki från hårdvaruriggarna för att möjliggöra analyser av testkörningar på instansbasis. Jag identifierade behovet av loganalyser och implementerade lösningen som ett eget projekt och när jag lämnade Volvo var lösningen produktionssatt och användes dagligen för debuggning av det kompletta testflödet.

    Jag var drivande i design och utveckling av en headless, dockeriserad autentiseringslösning för Artifactory som säkerställde en automatiserad artifakthantering till och från hela testmiljön.

    Vi körde alla våra egna tjänster (ETL, Grafana, Loki, Postgres) på Red Hat-hostar, och en av dem använde vi också som Ansible-kontrollnod för schemalagd provisionering mot hårdvaruriggarna. Genom att definiera infrastrukturen i kod kunde vi leverera många riggar och komplicerade testflöden till organisationen på ett förutsägbart och stabilt sätt.

    Visa mer
    • Linux
    • SQL
    • Continuous Integration
    • Microsoft Azure
    • Bash
    • Gerrit
    • Docker
    • DevOps
    • Windows PowerShell
    • Postgres
    • JIRA
    • REST API
    • Zuul
    • Robot Framework
    • Grafana
    • Python
    • VS Code
    • Confluence
    • HashiCorp Vault
    • Ansible (Playbooks)
    • Elasticsearch and Kibana
    • Mypy
    • Software infrastructure
    • Pydantic
    • Containerteknik
    • PyTest (Python Testing Framework)
    • Bygg- och deploymentflöden
    • Bygg- och leveranspipeline
    • Lucene search
    • GitOps
    • Infrastructure as Code (IaC)
  • Fastighets AB Balder

    jan. 2022 – juli 2023

    Integrationsarkitekt och utvecklare Gothenburg

    Jag designade och byggde dataintegrationslösningar mellan SQL-databaser och REST-API:er samt mindre mikrotjänster för IT-support och fastighetsförvaltning. Vissa av dessa ersatte äldre SSIS-lösningar och vissa var nya implementationer enligt organisations behov. Mina ansvarsområden omfattade allt från molninfrastruktur, hantering av secrets och CI/CD till mjukvaruutveckling. Detta innefattade bland annat rättighetskonfiguration för pipelines och användare i Azure AD (Entra ID) genom provisionering med hjälp av Terraform. Några integrationer byggde jag i NodeJS när organisationen efterfrågade detta, men majoriteten skrev jag i Python. Eftersom vissa av käll- och målsystemen saknade REST-apier skrev jag stora delar av logiken direkt mot SQL-databaser för att hämta och skriva rätt information.

    Lösningarna deployade jag antingen i Azure Cloud genom Azure Pipelines och Terraform eller containeriserade och deployade på lokala VMar med Ansible. Valet av deploymentmiljö fattade jag på ekonomiska grunder mot bakgrund av Azures betalningsmodeller. Jag jobbade inte i ett team utan var ensam utvecklare i IT-organisationen. I och med detta tog jag ett helhetsansvar för mina lösningar och supporterade därtill inköpta lösningar med debugging och troubleshooting inför viktiga deadlines.

    Visa mer
    • Linux
    • SQL
    • Jenkins
    • Continuous Integration
    • Microsoft Azure
    • Node.js
    • Docker
    • DevOps
    • Jest
    • Flask
    • JIRA
    • REST API
    • Python
    • Terraform
    • VS Code
    • Confluence
    • Azure DevOps
    • HashiCorp Vault
    • Ansible (Playbooks)
    • GitLab runners
    • Software infrastructure
    • Containerteknik
    • GitLab pipeline
    • PyTest (Python Testing Framework)
    • Bygg- och deploymentflöden
    • Bygg- och leveranspipeline
    • Azure AD
    • GitOps
    • Infrastructure as Code (IaC)
  • Volvo Autonomous Solutions

    jan. 2021 – jan. 2022

    DevOps-ingenjör inom CI/CD-domänen Gothenburg

    Mitt första åtagande var att migrera en uppsättning bitbucket-repon med tillhörande jira-backlogs till GitLab där de berörda utvecklingsteamen fortsatte sitt arbete. Jag migrerade också deras CI/CD-pipelines till GitLab CI, där mjukvarutestningen krävde en hemmabyggd container för att operera under korrekta förutsättningar och integrerade mot en separat Jenkinsinstans för vidare integrationstestning. För att detta skulle fungera anpassade jag C++-implementatinen av testlogiken för att fungera med den nya arkitekturen.

    Jag använde Ansible för att provisionera GitLab-runners, både för att migrera befintliga byggVMar till GitLab samt introducerade en HIL-rigg i Karlstad in i byggpoolen. Eftersom detta skedde under covid-restriktionerna krävdes ett gott fjärrsamarbete med kollegor på plats i Karlstad medan jag skrev IaC-provisioneringen från Göteborg. Vid projektets slut kunde teamet schemalägga tester utanför kontorstider vilket kortade ner feedbackloopar och var till stor hjälp i deras utvecklingsarbete.

    Det sista projektet jag genomförde var att skriva en pip-paket som rapporterade testdata direkt från HIL- och SIL-miljöer till en central databas vilket gav underlag för ledningen att fatta datadrivna beslut i olika affärsprojekt.

    Visa mer
    • Linux
    • Continuous Integration
    • Bitbucket
    • Docker
    • DevOps
    • JIRA
    • Artifactory
    • GitLab
    • Python
    • VS Code
    • Confluence
    • GitLab CI
    • Ansible (Playbooks)
    • Containerteknik
    • PyTest (Python Testing Framework)
    • Bygg- och deploymentflöden
    • Bygg- och leveranspipeline
    • Windows PowerShell
    • GitOps
    • Infrastructure as Code (IaC)
  • Zenuity (Zenseact)

    aug. 2019 – jan. 2021

    DevOps-ingenjör Gothenburg

    Jag och mitt team ansvarade för underhåll och vidareutveckling av CI-tjänster (Gerrit och Artifactory), samt kringliggande tjänster för övervakning och loggning (Grafana/Prometheus/Loki) och secretshantering (Hashicop Vault). Vi designade våra lösningar för att fungera sömlöst med ekosystemets andra system såsom Zuul och Jenkins. Arbetet omfattade containerisering av skräddarsydda lösningar, anpassning av officiella images och tjänstekonfiguration. Provisionering och deployment utfördes med Ansible och Docker Compose. Vi provisionerade SSO genom SAML i våra Ansible-deployments av våra tjänster. Efter att mitt team införde en OpenShift-miljö utvecklade jag en POC för en horisontellt skalad Gerrit-instans med read-only-noder i klustret, parallellt med en huvudnod som kördes på en lokal VM. Vi följde strikt principen för konfiguration som kod för att öka skalbarheten och minimera risken för mänskliga fel.

    Ett av mitt teams åtaganden var en lösning för artifakt- och reporättigheter som supporterade rollbaseradbaserad access (RBAC), samt ett use case då kombinerade team delade repo och releaseyta. Lösningens backend bestod av accessgrupper i active directory som vår stödtjänst använde för att provisionera rättigheter i Gerrit och Artifactory. Denna tjänst designade vi i Python så att varje team eller kombination av team själva kunde definiera den retentionpolicy (i form av en subklass) de ville applicera på sina artifakter vilket drastiskt minskade kostnaderna för IT-organisationen som såg minskade lagringsbehov.

    Vi monitorerade alla våra VMar med Nodeexporter och skickade loggar från våra tjänster där genom Fluentd till Loki/Prometheus och kunde på så sätt säkerställa våra leveranser genom vår egen Grafanainstans. För monitorering av lagringsanvändningen i Artifactory byggde vi en egen Prometheusexporter, denna data använde vi i en Grafanadashboard för att hitta motsvarande flaskhalsar i utvecklarorganisaioner när vi hjälpte IT att jaga lagringsutrymme. Vi frontade våra tjänster med reverse proxys i form av nginx och provisionerade SSL-certifikat till dessa direkt från vår Hashicorp Vault-instans.

    Det största projektet för mitt team var när företaget (Zenuity) skulle splittas och vi driftade två parallella infrastrukturkedjor samt onboardade den personal som skulle ta över driften efter att företagssplitten var fullbordad. Detta arbete innebar en omkastning av organisationen för att maximera kunskapsöverförande då mitt team splittrades ut för att lära upp en ny organisation som skulle stanna på andra sidan av splitten. Arbetet innefattade förutom upplärande omfattande dokumentation.

    Visa mer
    • Linux
    • Bash
    • Gerrit
    • Docker
    • DevOps
    • Service Management
    • Automation
    • JIRA
    • Red Hat OpenShift
    • Artifactory
    • Zuul
    • Grafana
    • Kubernetes
    • Docker Compose
    • Python
    • VS Code
    • Prometheus
    • Rancher
    • Confluence
    • OpenShift
    • HashiCorp Vault
    • Ansible (Playbooks)
    • Mypy
    • Pydantic
    • Containerteknik
    • PyTest (Python Testing Framework)
    • Bygg- och deploymentflöden
    • Bygg- och leveranspipeline
    • Active Directory
    • GitOps
    • Infrastructure as Code (IaC)
    • SSO
    • SAML2
  • Zenuity (Zenseact)

    aug. 2018 – aug. 2019

    CI/CD-utvecklare Gothenburg

    Mitt team ansvarade för drift, deployment och monitorering av ett internutvecklat end-to-end-visualiseringsverktyg. Verktyget var avgörande för att hantera mjukvarutester och deras mergestrategier i kundens CI-kedja. Vi fick hög driftsäkerhet genom att använda avancerade verktyg som Docker, Linux, Java och Bash samt tillämpa infrastruktur som kod. I samma provisionering använde vi Nginx för att fronta tjänsten med certifikat utställda av vår interna IT-organisaion. Jag var drivande i utvecklingen av Java-plugins för Gerrit och GoCD som gav tjänsten sin nödvändiga data. Denna tjänst bidrog direkt till att releaser kunde levereras till kund med hög kvalitet och tillförlitlighet, vilket stärkte Zenuitys leveranskapacitet.

    Visa mer
    • Linux
    • jUnit testing framework
    • Java
    • MongoDB
    • Continuous Integration
    • Bash
    • Gerrit
    • Docker
    • Flask
    • JIRA
    • Kubernetes
    • Python
    • VS Code
    • Rancher
    • Confluence
    • Kustomize
    • Elasticsearch and Kibana
    • Containerteknik
    • Rancher Kubernetes Engine
    • PyTest (Python Testing Framework)
    • Mockito (Java Testing Library)
    • Bygg- och deploymentflöden
    • Bygg- och leveranspipeline
    • GitOps
    • Infrastructure as Code (IaC)
  • Rosie App

    juni 2016 – juni 2017

    Mjukvaruutvecklingspraktikant Ithaca

    Rosie tillhandahåller e-handelslösningar för medelstora dagligvarukedjor i USA och är numera uppköpta av Instacart.

    Mitt första fokus var att åtgärda rekommendationsmotorn skriven i Scala som hade förfallit med åren. Efter undersökning och rekalibrering av algoritmens parametrar som bättre matchande det växande kundunderlaget blev relevansen hos rekommendationerna avsevärt förbättrad, vilket också bekräftades i feedback från kunder.

    Därefter refaktorerade jag tillsammans med en annan backend-utvecklare delar av den befintliga kodbasen från en Ruby on Rails-monolit till en mikrotjänst utvecklad i Java. Gränssnittet mellan dessa byggdes med protobuf-meddelanden som kördes via RabbitMQ.

    Resultatet blev ett skalbart notifieringssystem och en rekommendationsmotor som levererade högre kundnöjdhet genom mer relevanta produktförslag.

    Visa mer
    • jUnit testing framework
    • Java
    • RSpec
    • RabbitMQ
    • GitHub
    • JIRA
    • Protocol Buffers
    • Confluence
    • JetBrains IntelliJ IDEA
    • Ruby
    • Mockito (Java Testing Library)

Utbildning

  • M. Sc. Complex Adaptive Systems

    2015 – 2018

    Chalmers

  • B.Sc. Engineering Physics

    2011 – 2018

    Chalmers

Kompetens · nivå och år

Tekniker

  • Ansible (Playbooks)
  • Python
  • REST API
  • Software infrastructure
  • SAML2
  • SQL
  • SSO
  • Flask
  • Jest
  • Mypy
  • Ruby
  • Java
  • Node.js
  • Protocol Buffers

Plattformar

  • GitLab
  • GitHub
  • Kubernetes
  • Linux
  • Microsoft Azure
  • Red Hat OpenShift
  • Bitbucket
  • Rancher

Produkter

  • Docker
  • Grafana
  • Jenkins
  • Prometheus
  • VS Code
  • Active Directory
  • Entra ID
  • HashiCorp Vault
  • MongoDB
  • RabbitMQ

Verktyg

  • Gerrit
  • Test tools
  • Artifactory
  • Azure AD
  • Bash
  • Confluence
  • Docker Compose
  • GitLab CI
  • JIRA
  • Terraform
  • Windows PowerShell
  • Zuul
  • Azure DevOps
  • JetBrains IntelliJ IDEA
  • jUnit testing framework
  • OpenShift
  • Robot Framework
  • RSpec
  • Kustomize
  • Postgres

Metoder och processer

  • Agile Methods
  • Automation
  • Continuous Integration
  • DevOps
  • Infrastructure as Code (IaC)
  • Pipeline management
  • SAFe
  • Scrum
  • Test automation
  • GitOps
  • RBAC
  • Service Management
  • Test Driven Development

Övrigt

  • Bygg- och deploymentflöden
  • Bygg- och leveranspipeline
  • Containerteknik
  • Containerteknologi
  • PyTest (Python Testing Framework)
  • Automatisering för byggmiljöer
  • Elasticsearch and Kibana
  • GitLab pipeline
  • GitLab runners
  • Lucene search
  • Mockito (Java Testing Library)
  • Pydantic
  • Rancher Kubernetes Engine

Den som känner Britta

Anders Dahlberg

Anders är Brittas kontaktperson på Kvadrat.