Episodit
-
I denne episoden prater jeg med Einar Ingebrigtsen om event sourcing og CQRS. Einar jobber som sjefsarkitekt i Aksio hvor han blant annet utvikler event sourcing platformen Cratis.
Gjest:
Einar Ingebrigtsen - Sjefsarkitekt i Aksio
Twitter: https://twitter.com/einari
LinkedIn: https://linkedin.com/in/einari
GitHub: https://github.com/einari
Blogg: https://ingebrigtsen.blog/
Temaer i episoden:
Event-drevet arkitektur Event sourcnig CQRS Event modeling/event storming
Eventual consistency Verktøy som kan brukes for event sourcing Cratis - https://cratis.io
Linker:
Cratis: https://cratis.ioEvent Store: https://eventstore.comMarten: https://martendb.io/Booster: https://booster.cloud -
I denne episoden prater jeg med Jesper Haug Karsrud om serverless og AWS Lambda. Jesper jobber som CTO i Fleks og valgte å gå all-in serverless fra dag en. Det betyr at de har en stack som består nesten utelukkende av AWS Lambda som kjøremiljø. Her vil du lære om serverless fra en som har peil!
Ukas gjest:
Jesper Haug Karsrud - CTO i Fleks
Twitter: https://twitter.com/beyondsanity
LinkedIn: https://www.linkedin.com/in/jesperhaugkarsrud/
Temaer i episoden:
- Hva er serverless og AWS Lambda?
- Hvordan fungerer det å jobbe utelukkende med funksjoner?
- Rammeverket Architect for serverless applikasjoner
- Jobbe med Postgres og serverless
- Fordelen av å gå fullstendig serverless
Linker:
Fleks: https://fleks.no
Architect: https://arc.codes -
Puuttuva jakso?
-
I denne episoden prater jeg med Erik Assum om Clojure og funskjonell programmering. Erik jobber som Tech Lead i Ardoq og har drevet med Clojure utvikling i flere år, ett språk han er over middels fornøyd med å bruke. Her vil du lære om Clojure, paranteser, immutabilitet og annet snadder!
Ukas gjest:
Erik Assum - Tech Lead i Ardoq
Twitter: https://twitter.com/slipset
LinkedIn: https://www.linkedin.com/in/erikassum/
Temaer i episoden:
- Hva er greia med alle de parantesene?
- Simple made easy
- Immutabilitet
- Sideeffekter
- Enkel testing og utvikling med REPL
- Godene av å lære seg nye språk
Ressurser:
Ardoq: https://ardoq.com
Rich Hickey Simple Made Easy https://www.infoq.com/presentations/Simple-Made-Easy/
Bodil Stokke Hands On with Clojure https://vimeo.com/78909065
Sean Corfield REPL driven development https://www.youtube.com/watch?v=gIoadGfm5T8
Bruce Hauman introduserer figwheel https://www.youtube.com/watch?v=j-kj2qwJa_E
Calva: https://calva.io/ -
I denne episoden prater jeg med Kjetil Åmdal-Sævik i Oda (tidligere kolonial.no) om operasjonalisering av maskinlæring gjennom MLOps og deres data science platform. Kjetil forteller om hva data science temaet i Oda jobber med, og hvordan Data Science Platform teamet prøver å gjøre livet deres enklere.
Ukas gjest:
Kjetil Åmdal-Sævik - Data Science Manager/Machine Learning Engineer i Oda
LinkedIn: https://www.linkedin.com/in/kjetilamdal/
Temaer i episoden:
- Hva driver en data scientist i Oda med?
- Hva som skiller MLOps fra DevOps
- Obligatorisk klaging på YAML
- Continuous training
- Live oppdateringer av kubernetes containere med Okteto
- Orkestrering av operasjoner med Argo Workflows
- Feature stores
Ressurser:
Empowering end-to-end data science at Oda: https://medium.com/oda-product-tech/empowering-end-to-end-data-science-at-oda-dd3acd8a37c7
Odas teknologi og produkt blogg: https://medium.com/oda-product-tech -
I denne episoden prater Christin Gorman fra Kodemaker om blant annet Elixir og Erlang platformen. Christin går gjennom hvorfor hun synes Elixir og Erlang platformen er så interessant, og hvordan det er å gå fra erfaren tilbake til nybegynner. Hun går også innom mye av de kule egenskapene som Elixir/Erlang har og hvordan det er å jobbe med Phoenix LiveView (real-time server-side rendering i Elixir).
Ukas gjest:
Christin Gorman - Programmerinne i Kodemaker
Twitter: https://twitter.com/ChristinGorman
Ukas episode er sponset av Folq, den diggeste måten å være konsulent på, les mer om Folq på https://folq.no -
I denne episoden prater jeg med Kristofer Giltvedt Selbekk om ende til ende testing med Cypress. Kristofer forteller hva ende til ende testing er og hans erfaring fra å bruke Cypress i forskjellige prosjekter.
Ukas gjest:
Kristofer Giltvedt Selbekk - Fagsjef i Bekk
Twitter: https://twitter.com/selbekk
Nettside/blog: https://selbekk.io
Ukas episode er sponset av Folq, den diggeste måten å være konsulent på, les mer om Folq på https://folq.no.
Temaer i episoden:
- Hva er e2e testing?
- Forskjellen på unit, integrasjon og e2e tester
- Hvordan Cypress fungerer
- Erfaringer med Cypress i prosjekter
Ressurser:
Kristofers blogpost 1 om e2e testing: https://www.selbekk.io/blog/writing-end-to-end-tests-in-2021
Kristofers blogpost 2 om e2e testing: https://www.selbekk.io/blog/real-confidence-with-cypress-e2e-tests
Testing JavaScript: https://testingjavascript.com/ -
I denne episoden prater jeg med Marit Iren Rognli Tokle om sikker systemutviklng. Marit jobber som software engineer i Sopra Steria hvor hun også er leder for fagområde sikker systemutvikling. Hun snakker blant annet om viktigheten av god (og trygg) sikkerhetskultur, CALMS og metoden hun tar i bruk for å hjelpe teams å lage sikrere systemer.
Ukas gjest:
Marit Iren Rognli Tokle - Senior Software Engineer i Sopra Steria
Twitter: https://twitter.com/maritio_o
Oslo CTF: https://osloctf.no/
Ukas episode er sponset av Folq, den diggeste måten å være konsulent på, les mer om Folq på https://folq.no.
Temaer i episoden:
- Viktigheten av god sikkerhetskultur
- Bruk av value propsition canvas for å hjelpe utviklere å lage sikrere systemer
- Ulike scenarior hvor man må tenke på sikkerhet
- CALMS - culture, automation, lean, measurement, sharing
- Rapid Risk Assessment - Marits favorittverktøy for å analysere tjenester
- Rammeverk som brukes i forbindelse med Secure Software Development Lifecycle (S-SDLC)
Ressurser:
Rapid Risk Assessment (RRA): https://infosec.mozilla.org/guidelines/risk/rapid_risk_assessment.html
Microsoft DSL: https://www.microsoft.com/en-us/securityengineering/sdl
OWASP SAMM: https://owasp.org/www-project-samm/
CALMS: https://www.atlassian.com/devops/frameworks/calms-framework -
I denne episoden prater jeg med Tomas Jansson om infrastruktur som kode rammeverket Pulumi. Pulumi gjør det mulig å definere infrastruktur gjennom kjente språk som C#, TypeScript eller Golang. Tomas forteller om hvordan Pulumi fungerer og hvordan de tar det i bruk i Elkjøp.
Ukas gjest:
Tomas Jansson - Arkitekt i Elkjøp
Twitter: https://twitter.com/TomasJansson
LinkedIn: https://www.linkedin.com/in/tomasjansson/
Temaer i episoden:
- Hva er Pulumi
- Hvorfor gikk valget på Pulumi
- Gjennomgang av konsepter
- Statehåndtering
- Håndtering av hemligheter
- Eksempler fra Elkjøp
- Pulumi Automation
Ressurser:
Tackling organization project complexity using Pulumi Automation: https://ndcoslo.com/agenda/tackling-organization-project-complexity-using-pulumi-automation-0bd5/0leox8f5ato
Pulumi: https://www.pulumi.com/
Pulumi Automation: https://www.pulumi.com/docs/guides/automation-api/ -
I denne episoden prater jeg med Jan-Erik Carlsen om hvordan han jobber med å flytte GoDaddy fra on-prem til AWS. I Cloud Automation avdelingen jobber Jan-Erik med å flytte on-prem applikasjoner til AWS ved bruk av blant annet AWS CloudFormation templates og Python APIer. Hør om det og mer i ukas episode av Utviklerpodden!
Ukas gjest:
Jan-Erik Carlsen - Principal Software Engineer i GoDaddy
Twitter: https://twitter.com/janerikcarlsen
LinkedIn: https://linkedin.com/janerikcarlsen
GitHub: https://github.com/janerikcarlsen
Noen temaer i ukas episode:
- Hva driver GoDaddy med?
- Verktøy de lager i GoDaddy for å automatisere opprettelse og vedlikehold av miljøer i AWS
- Terraform vs AWS CloudFormation
Ressurser:Artikkel (2018) - GoDaddy goes All In on AWS: https://www.businesswire.com/news/home/20180328005408/en/GoDaddy-Goes-All-In-on-AWS
AWS-blogg (2021) om GoDaddy og migreringen til AWS: https://aws.amazon.com/blogs/mt/godaddys-journey-to-the-cloud-and-their-standard-cloud-platform/
GoDaddy Engineering Blog om temaet: https://www.godaddy.com/engineering/2021/05/07/godaddys-journey-to-the-cloud/
Amazon Builders’ Library: https://aws.amazon.com/builders-library
AWS Well Architected Framework: https://aws.amazon.com/architecture/well-architected
GoDaddy Open Source: https://github.com/godaddy
-
Lær om applikasjonsplattformen NAIS bygd på Kubernetes som gjør det mulig for NAV IT å flytte til skya, med Johnny Horvi og Audun Strand. Johnny er en del av teamet som bygger NAIS og forteller om hvordan denne fungerer. Audun jobber som Principal Engineer i NAV IT og skriver seg inn i historiebøkene som første gjest til å dukke opp to ganger i Utviklerpodden!
.Ukas gjester:
Johnny Horvi - Utvikler i NAV IT en del av teamet som utvikler NAIS
Twitter: https://twitter.com/j_hrv
Audun Strand - Principal Engineer i NAV IT
Twitter: https://twitter.com/audunstrand
Temaer i episoden:
- Hva er en applikasjonsplattform og hvorfor lage en egen?
- Hvordan man bruker Custom Resource Definitions til å lage egne operators. For eksempel til deployment av applikasjoner
- Ulike operators og verktøy som brukes i NAIS
- Sikkerhet og tilgangskontroll
- Hvordan utviklere jobber med NAIS
- Verdens korteste primer på hva en service mesh er
- Mye annen morro
Ressurser:
Den viral-ishe blogposten om å gå fra Istio til Linkerd: https://nais.io/blog/posts/2021/05/changing-service-mesh.html
NAIS på GitHub: http://github.com/nais
NAIS: https://nais.io/ -
Litt mindre fokusert episode enn vanlig, men med mye moro. Jeg prater med Audun Strand og Truls Jørgensen fra NAV IT om blant annet mikrotjenester, teknologiradar og kultur. De to har vært drivere for NAVs digitale transformasjon.
Ukas gjester:
Truls Jørgensen - Principal Engineer i NAV IT
Twitter: https://twitter.com/trulsjor
Audun Strand - Principal Engineer i NAV IT
Twitter: https://twitter.com/audunstrand
Temaer i episoden:
- Hvordan de gikk fram med å lage nytt system for sykepenger
- Fred George, mikrotjenestenes bestefar
- Rapids and rivers
- Kotlin
- Teknologiradar
- Teknisk retning i NAV IT
Ressurser:
Rapids and rivers bilbotek: https://github.com/navikt/rapids-and-rivers
Det som betyr noe: http://detsombetyrnoe.no/
Teknisk retning i NAV IT: https://app.mural.co/t/navdesign3580/m/navdesign3580/1623333104763/96479833c9c123df7825fa633a2eaa1bb...
Martin Fowler - Testing av mikrotjenester. https://martinfowler.com/articles/microservice-testing/ -
I denne episoden prater jeg med Bjørn Einar Bjartnes om hvordan de lager og tester robuste tjenester i NRK. Hvis du vil lære mer om å lage robuste tjenester i .NET bør du sjekke ut Bjørn Einar sin workshop på NDC Oslo (lenke i bunn av beskrivelsen).
Ukas gjest:
Bjørn Einar Bjartnes → Principal Engineer i NRK
Twitter → https://twitter.com/bjartnesTeamer i episoden:
Vi finner ut hva det vil si å ha robuste tjenesterBjørn Einar kommer med noen eksempler fra NRK om hvor kjipt det er når viktige tjenester ikke er robuste (nok)Hvordan finner man ut hvor robust en tjeneste er?Hvordan finner man ut hvor robust den bør være?Vi snakker om en haug av ulike strategier for å robustifisere tjenester: prøv på nytt, gi opp, del opp tjenester, caching, med mer.Nødvendigheten av eksperimenteringIntroduksjon av kaosaper for teste/forbedre robusthetRessurser:
How complex systems fail: https://how.complexsystems.fail/
Bjartnes GitHub workshop: https://github.com/bjartwolf/bounded-disturbances
NDC workshop (desember 2021): https://ndcoslo.com/workshops/building-and-testing-resilient-services/dbb2ed362bcc
-
I denne episoden prater Hans Kristian Flaatten om infrastruktur som kode og Terraform. Vi snakker om fordeler og bruksområder for IaC, og hvordan man kan bruke Terraform for å sette opp alt fra små miljøer til infrastruktur for organisasjoner.
Ukas gjest:
Hans Kristian Flaatten - Site Reliability Engineer Team Lead i TietoEVRY
Twitter -> https://twitter.com/starefossen
Temaer i ukas episode
Hvordan man kan bruke IaC verktøy for å sette opp infrastruktur innad i en organisasjon. Hvilke fordeler det har framfor scripting og andre typer verktøy som f.eks Ansible og Chef.
Vi ser på Terraform, et verktøy som gjør det mulig å lage templates som kan definere infrastruktur. Dette kan være alt fra sky-løsninger til tabeller i en database. -
I denne episoden prater Johannes Brodwall fra Sopra Steria om Smittestopp 2 appen, som han satt i fagrådet for. Johannes går blant annet gjennom arkitekturen, og hvordan man har håndtert personvern med GAEN og anonyme tokens.
Ukas gjest:
Johannes Brodwall - Principle software engineer i Sopra Steria
Twitter -> https:///twitter.com/jhannes
Teamer i ukas episode:
Fagrådets rolle i utviklingen av Smittestopp 2.
Smittestopp 2 appens arkitektur. Bestående av et backend API, et verifiserings API og en Xamarin applikasjon.
Google/Apple Exposure Notification System (GAEN) - som blir brukt for å spore smitte, har høyt fokus på anonymitet og personvern.
Anonyme tokens - Metode basert på Privacy Pass som sørger for fullstendig anonymitet også når man har meldt smitte gjennom verifiserings APIet. Utviklet av Martin Strand, Tjerand Silde og Henrik Walker Moe.
Ressurser
Smittestopp 2 GitHub: https://github.com/folkehelseinstituttet?q=Smittestopp&type=&language=&sort=
Smittestopp 1 GitHub: https://github.com/smittestopp/ Anonyme tokens PR: https://github.com/folkehelseinstituttet/Fhi.Smittestopp.Backend/pull/25
Bekks julekalender: https://security.christmas/2020/22
Golang impl: https://github.com/tjesi/anonymous-tokens
C# impl: https://github.com/HenrikWM/anonymous-tokens -
I denne episoden prater jeg med Espen Limi fra Semine om hvordan man sørger for å skape programvare med kvalitet. Vi snakker om testing, metodikk, kultur, automatisering og annet snadder!
Ukas gjest:
Espen Limi - Tech lead i Semine
Twitter -> @EspenLimi
Temaer vi snakker om:
- Testing på flere nivåer
- Automatisering - CI/CD av applikasjoner og infrastruktur
- Kultur hvor utviklere har eierskap og ønsker å skape gode systemer
- Samarbeide tett med kunde for å lage det som faktisk bør lages
- Domenekunnskap kan hjelpe deg å ta de rette(ish) valgene
- Vedlikehold systemet ditt, ikke la koden forfalle på grunn av noen knuste vinduer
- Ha korte tilbakemeldingskanaler -> feedback-loops som noen også kaller dem
Ressurser:
Boka som jeg absolutt ikke husket hva het: The Challenger Launch Decision
Clean Code av Bob Martin -
I denne episoden av Utviklerpodden prater jeg med Fredrik Oseberg om feature flags og open source systemet Unleash.
Ukas gjest:
Fredrik Oseberg - Principal Software Developer i Unleash
Twitter -> @foseberg
Fredrik Oseberg Coding Lessons -> https://www.youtube.com/channel/UCZTeUahnA2GMoo_YpTBFo9A
Hva er Unleash?
Unleash er et open source feature flag system. Ble laget Ivar Østhus når han jobbet i Finn.no. Tilgjenglig som en SaaS gjennom unleash-hosted.
Hva er et feature flags?
Et feature flag er ganske enkelt noe man bruker for å skru en egenskap av eller på, ofte ved hjelp av en if-statement. Flagget kan bli styrt av f.eks en appsetting/JSON eller en sentral server som unleash.
Ulike type feature flag?
- Release toggle
- Ekspriment toggle
- Operasjonell
- Kill switch
- Permission
Grupperinger og strategier
Strategier gjør det mulig å ha spesifisere hvilke brukere eller grupper som feature toggles skal gjelde. Egendefinerte grupper kan lages ved hjelp av feature toggle context.
Hvordan håndtere teknisk gjeld som feature flags bringer?
Rydd opp etter deg! Unleash har et teknisk gjeld dashboard som kan hjelpe deg her.
Best practices
Minimer antall feature flags i koden din. Rydd opp titt og ofte
Følg Utviklerpodden eller meg på twitter
@Utviklerpodden
@OysteinVest
Ressurser
Mer om Unleash: https://getunleash.io
Martin Fowler om FeatureToggle: https://martinfowler.com/bliki/FeatureToggle.html
Unleash på GitHub: https://github.com/unleash -
Utviklerpodden er podkasten for deg som ønsker å vite mer om alt innenfor programmering og utvikling.
Hver torsdag kommer det ny episode hvor jeg prater med interessante gjester om temaer som engasjerer dem. Det kan være programmeringsspråk, arkitektur, metodikk eller andre utviklings-relaterte tema.
Kunne du tenke deg å være gjest eller komme med ideer er det bare å ta kontakt på mail [email protected] eller @OysteinVesth på Twitter.