Erfarenheter NDC Oslo 2019

I juni fick jag möjligheten att besöka konferensen NDC samt workshop innan i Oslo. Atmosfären där var magisk. Man känner sig som i en annan värld, där man varje timme får möjligheten att vara med likasinnade och lyssna på eminenta talare.

NDC

Programmet var i 5 dagar, de första två dagarna var dedikerade till workshops och de resterande tre dagarna till konferensen på NDC.

Workshop - Designing Microservices

Jag valde workshopen ‘Designing Microservices’ under mina två första dagar. Jag valde det för att förbättra mina kunskaper om microservices och för att lära mig mer om för- och nackdelarna att implementera system som använder microservices. Detta kan även vara intressant för 3bits eftersom vi pratade om det under vår konferens i Malaga tidigare i år.

Sam Newman höll i workshoppen. En teknolog, talare och författare av ‘Building Microservices and monolith to Microservices’.

Jag gillade upplägget, det jag tar med mig är att direkt gå från ett tajt monolitiskt system till microservices är inte en bra idé. De som försökt detta misslyckas 90 % av fallen. Från monolitiskt distribuerade system kan man tänka sig att ta in microservices steg för steg. Ta ut en sektion från det distribuerade systemet och implementera det som en microservice. Kör sedan båda en tid till du är säker att båda, sessionen inbyggd i det distribuerade systemet och microservicen, ger samma resultat. När du är säker, ta bort pekaren från sessionen inom det distribuerade systemet och flytta den till microservicen. Det ska vara en steg för steg-process.

Expo

Det fanns många montrar där företag marknadsförde sina produkter och tjänster. I pauserna eller under lunchrasten kunde man besöka dem och lyssna på vad de gör.

Jag fick chansen att prata med några från Particular där vi redan använder NServiceBus och ServicePulse på 3bits. Det fanns ett annat verktyg som de marknadsförde som heter ServiceInsight, som är en desktopapplikation som kan användas för avancerad debugging av systemets meddelandehantering.

Jag träffade även DevExpress som har skräddarsydda .NET-kontroller för att göra det mer flexibelt och attraktivt än inbyggda .NET-kontroller, som även hjälper till att göra applikationen snabbare. Man behöver bädda in deras assemblies och kan få en helt ny UI-upplevelse.

Konferensen

Jag besökte olika sessioner på konferensen under de tre sista dagarna. Många framträdande talare var där, och det var ett nöje att få möjlighet att lyssna på dem live. Jag vill nämna några sessioner här nedan.

NDC session

En session som jag var på var ‘Computer Science and my Day Job’ med Rob Conery, en erfaren Microsoft-utvecklare. Han bad utvecklare att titta mer på teoretiska koncept när man implementerar något, särskilt frågorna vi skriver för att hämta data. Han underströk att vi skulle titta mer på tidskomplexitet som O(N) eller O(N2) eller O(log N) eller O(1) (den bästa) innan vi skriver våra frågor för att inte riskera att krascha ett system, eller få sämre prestanda.

Det var en annan intressant session med den skämtsamma titeln ‘Architecture, The Stuff that’s Hard to Change’ med Dylan Beattie. Han öppnade med en sång som jag tycker är så bra skriven. Kudos! Sammanfattningen av sessionen är att vi ska ta oss tid för arkitektarbete och göra designen noggrann eftersom det är viktigt att minimera behovet av att skriva om kod.

Jag var även på den väldigt intressanta föreläsningen om ‘Blazor, a new framework for browser-based .NET apps’ med Steve Sanderson, en Microsoft-utvecklare i ASP .NET-teamet. Han visade oss demos om hur vi kan använda Blazor för att skapa webbapplikationer. Blazor är ett ramverk för browser-baserad (klientsidan) applikationer skriven i .NET som körs under WebAssembly. Det ger oss fördelen av en single-page applikationsplattform (SPA) där vi kan dela .NET-kod mellan server och klient.

‘Practical Chaos Engineering’ med Adrian Hornsby, som är Senior Technical Evangelist på Amazon Web Services, var ytterligare en intresseväckande session. Han förklarade anledningar att självförstöra systemet (med ett syfte) i en kontrollerad miljö för att genom välplanerade experiment bygga en trygg och säker applikation för att stå emot turbulenta omständigheter. På detta sätt kan vi hitta systemets svagheter och fixa dem innan de går sönder när vi minst anar det. Man kan starta med att föra in små fel, t ex applikationsnivå, hostfel, resursattacker (CPU, minne), nätverksattacker (beroenden, latency mm), regionala attacker, eller personattacker.

NDC David Neal

Sist, men inte minst, fick vi chansen att lyssna på David Neal som var där för att ge ett inspirerande tal. Det jag tog med mig därifrån var att se bortom de små bristerna, frihet att misslyckas, fortsätt att försöka, få inte andra att må dåligt och lär dig förmågan att beundra andra.