Energieffektiv Software-arkitektur - i PRAKSIS
Lær at programmere grønne og energi-effektive softwarearkitekturprodukter og design
)
Deltag i et 3-dages kursus
Softwarearkitektur dækker over metoder og teknikker til at opdele vores softwaresystemer på en måde, så vi forhåbentlig skaber den bedste balance mellem konkurrerende kvalitetsattributter såsom let vedligehold, høj ydelse, sikkerhed, oppetid, osv.
Ofte glemmer softwarearkitekter og -udviklere dog at kigge på energi-effektivitet som en central kvalitetsattribut. På et bagtæppe af klimakrise og sikker energiforsyning er det imidlertid en kvalitet, som software arkitekter og udviklere skal til at forholde sig til.
Energi-effektivitet handler om at få mest muligt arbejde ud af vores maskiner med det mindst mulige energiforbrug. En energi-effektiv software løsning er således både en gevinst for klimaet såvel som for vores omkostninger.
I dette kursus får du en teoretisk og praktisk baggrund for at foretage energi-effektive designvalg omkring dit systems softwarearkitektur og helt lavpraktiske programmering; du får teoretisk og praktisk indsigt i hvordan du opstiller gode og reproducerbare eksperimenter til at måle forskellige løsningers energiforbrug; og endelig får du hands-on erfaringer med at lave energimålinger og statistisk efterbehandling i vores energi-laboratorie.
Kursets struktur
Kurset vil veksle mellem præsentationer, diskussioner og opsamling i plenum og arbejde i grupper af 3-4 personer med konkrete opgaver i vores energi-laboratorie.
Kursets udbytte
I løbet af kurset får du indsigt og erfaring med
- Processer til at arbejde med energi-effektivitet i et team.
- Taktikker (konkrete design valg) til at minimere energiforbrug, både på arkitektur- og på programmeringsniveau.
- Værktøjer og teknikker til at foretage reproducerbare energimålinger.
- Statistisk analyse for at sikre at ens resultater er statistisk gyldige.
- Hands-on erfaring med at foretage eksperimenter og efterfølgende databehandling.
Program
Programmet ser forventeligt sådan ud, der kan dog komme ændringer efterhånden som materialet justeres.
Dag 1, 18. juni kl. 10.00-16.00
- Introduktion og præsentation af deltagere.
- Energi og Effekt - lidt om fysikken.
- Gruppedannelse og motiverende opgaver.
- Green Architecture Framework (GAF) del 1: Processer.
- Intro til energi-laboratoriet.
- Gruppearbejde: Bliv bekendt med laboratoriet.
Dag 2, 19. juni kl. 09.00-15.00
- GAF del 2: Energi profiler og initielle taktikker.
- Introduktion til Case og Tooling.
- Gruppearbejde: Første energimålinger og energiprofiler.
- GAF del 3: Flere taktikker.
- Gruppearbejde: Energieffektivitet på Case varianter.
- Opsummering i plenum.
Dag 3, 20. juni kl. 09.00-15.00
- Statistisk behandling af energi målinger.
- Gruppearbejde: Forsatte energimålinger på case, statistisk analyse.
- GAF del 4: Taktikker for mobile og front-end applikationer.
- Gruppearbejde: Udblik - energieffektivt design af et nyt case.
- Afrunding: Hvordan arbejder vi med energieffektivitet i vores egen firmakontekst?
Energi-laboratoriet
Vores lab har plads til fire grupper, der kan arbejde uafhængigt af hinanden.
Hver gruppe får tildelt to fysiske Ubuntu-servere, hvoraf den ene kører software, der skal måles energi på (serversoftware), og den anden genererer trafik (simulerer bruger/klient software).
Laboratoriet har naturligvis værktøjer til at måle energiforbrug så man kan få talmateriale ud til videre analyse.
Server software er udviklet af kursusholderen/Lektor, Ph.D. Henrik Bærbak og er REST-baseret serversoftware tilkoblet en database. Der vil blive mulighed for at afprøve en lang række forskellige varianter af denne REST-server, fx. i form af forskellige programmeringssprog (Java, Python, etc.), med forskellige typer databaser (SQL, Redis, etc.), og under forskellige load betingelser.
Al software (servere, trafik generatorer) er pakket i Docker-containere.
Afgrænsninger
Henrik Bærbak har primært kompetencer indenfor serverudvikling, så fokus vil være på taktikker indenfor dette område. Områder som udvikling til mobil apps, front-end web udvikling, etc. vil kun blive berørt i mindre grad.
Kompetencer og adgangskrav
- Kurset henvender sig til software-arkitekter og -udviklere som har programmeringserfaring, som f.eks. igennem en bachelorgrad i datalogi, diplom i softwareudvikling, datamatiker, eller lignende.
- Det er en fordel (men ikke et krav) at have erfaring med Linux og shell-kommandoer. Lidt erfaring med Docker er også en fordel (men ikke et krav.)
Pris
Kurset er gratis at deltage i, hvis du kommer en fra SMV eller en offentlig organisation. SMV’er modtager statsstøtte under deminimis-forordningen. Man skal derfor som SMV oplyse om virksomheden har modtaget støtte inden for de sidste 3 år i deminimis-rammen. Er du fra en større virksomhed er prisen DKK 6057,- (plus moms). Læs mere om de minimis her.
Oversigt
- 18. jun. 2025
- 09.00 -15.00
- Institut for Datalogi, Aarhus Universitet, Åbogade 34, Ada-bygningen (Bygning 5342) 8200 Aarhus N, Mødelokale Ada 333
- Gratis, tilmeldingsfrist 16. juni