- Åtte minutter! Jeg tok tiden, sier Vegard Helland entusiastisk.
Hva tok åtte minutter? Å få kode opp og ut i Azure med .NET Aspire, løsningen Helland har brukt mye tid på å lære - og leke i - de siste månedene.
- Det trengtes to kommandoer i Azure Developer Commander Line og så tok det noen minutter - og så var det oppe. Også å sette opp utviklermiljøet på utvikler-PC-en er en stor forskjell. Knot med docker og docker-compose kan fort ta noen timer av arbeidsdagen - her tok det noen minutter. Det er UT-RO-LIG mye raskere å sette opp arkitekturen. Og så får man ganske god starthjelp med Devops-biten, forteller han.
- Dette er en løsning som forenkler utviklingen av distribuerte applikasjoner, og jeg er skikkelig imponert.
Kultur for kompetanseheving
.NET Aspire ble lansert i preview-versjon i høst. Det ligger som åpen kildekode på GitHub, og ble godt mottatt av utvikler-miljøer da det ble lansert.
Ikke så rart - for de timene med knot i docker er vel neppe noens favoritt-syssel på jobb?
- Nei, det er nok ikke de timene verken jeg eller andre utviklere kommer til å savne mest, ler Helland.
Helland er tech lead og løsningsarkitekt i Capgemini, og vet hva han snakker om. Han har snart tjue års erfaring som utvikler, de siste to og et halvt årene ved Capgeminis kontor i Kristiansand.
- Capgemini har en veldig sterk kultur for kompetanseheving, og vi får god støtte til å lære nye teknologier. Og så er det kultur for at vi lærer av hverandre og deler kompetanse. Nå er det jeg som har holdt mest i .Net Aspire hos oss, så jeg planlegger å holde en presentasjon for kollegaene mine - både lokalt her og på vår egen plattform Upskill, der man kan dele foredrag og kunnskap med hele organisasjonen.
Fra monolitter til infrastruktur
Å holde seg oppdatert er en viktig del av det å jobbe som utvikler.
- Det er også noe av det jeg liker best med jobben, det er jo som en evig utdannelse der man aldri er utlært, sier Helland. Som ser stor forskjell på å jobbe som utvikler i dag kontra for 19 år siden, da han begynte.
- Før satt man mye og kodet på “monolitter” for seg selv. Siden skyteknologi ble tatt i bruk har mye av arbeidshverdagen blitt å sette opp konfigurasjon og infrastruktur (arkitektur). Og som de fleste utviklere vet kan det ta lang tid å få opp slike miljøer. Derfor er .Net Aspire så spennende, det kan bli et av de verktøyene som virkelig gjør en forskjell for oss utviklere.
Har du noen andre eksempler på slike verktøy?
- Hehe, med fare for å høres FRYKTELIG gammel ut så kan dette kanskje minne litt om da IntelliSense kom, og vi fikk et redigeringsverktøy som begynte å fullføre kode/ linjene, sier han.
- Ellers sitter jeg mye og leker og tester CoPilot om dagen. Det gjør vel de fleste utviklere? Det sparer også enormt med tid. Samtidig ser vi hvor viktig det er å skjønne hva som skjer når man tar i bruk slike verktøy, presiserer han. - Jeg tror .Net Aspire og lignende verktøy vil bli viktig framover, men det er klart det må tas i bruk på en god måte. Vi jobber på ulike prosjekter med ulike kunder og hvilke verktøy vi bruker er avhengig av prosjektet.
Rent teknisk
- Jeg har satt opp en applikasjon med database, Redis cache, frontend og API.
Alle komponenter kommer ferdig oppsatt med OpenTelemetry, og det gir en helt annen kontroll som man får utbytte av i det innebygde dashboardet. Lokalt starter alle nødvendige tjenester som containere i Docker eller Podman.
All orkestrering, som kommunikasjon mellom ulike elementer som SQL eller Servicebus, er mye enklere å konfigurere. Og siden alt defineres i en fil i C# trenger man ikke å kunne fire forskjellige syntakser for å få til ting til å henge sammen.
Her er de tre største endringene for meg:
- Mye mindre tid brukt på å sette opp applikasjon og tjenester i lokalt utviklingsmiljø.
- Orkestreringen gjøres i C#
- Azure Developer CLI analyserer prosjektet og genererer Bicep, som enten kan justeres selv først eller bare provisjoneres rett ut i Azure med et par kommandoer.
Vil du jobbe sammen med Vegard og andre engasjerte fagfolk i et miljø som fokuserer på kompetanse og utvikling? Les mer her! 👈