NDC 2020

Anbefalt presentasjon

Scott Hunter: Journey To One .NET

Scott Hunter, som er ansvarlig for .NET plattformen hos Microsoft, viste masse nyheter ifbm. .NET-rammeverket.
Med spennende nye teknologier som Tye og MAUI.

Kan sees her:
https://www.youtube.com/watch?v=KQ8l93zwUpU

WOW!



Olav har holdt sin presentasjon hvor han fortalte om hvordan han har brukt Bots, Sanity og Kubernetes for å lage en løsning raskt og billig for å styre World of Warcraft raids!

Veldig artig talk :) Godt levert, Olav!

Interessant talk:

Chinafy your apps + Lessons you can steal from China

"Adam Cogan will talk about his experiences getting applications ready for the Chinese market. He has been in the China software world for over 12 years and has seen their ecosystem evolve, and it has been truly amazing."

Interessant om hvor anderledes det er å drive utvikling i Kina.

Vellykkede Novanet presentasjoner!

Dmitry og Lars holdt presentasjonene sine fra vårt midlertidige studio på kontoret. Dmitry fortalte om arbeid med ytelse hos NRK og Lars om ytelsestesting med K6. Det virket som presentasjonene ble godt mottatt, og gikk uten tekniske problemer. Det var cirka 80 deltakere som så presentasjonene.

Vi legger ut disse presentasjonene så fort de er tilgjengelige.

Anbefalt talk:

Where's my Stuff? Exploring data storage options in Azure

"Data is the currency of tomorrow, and with the explosion of IoT, edge devices, cloud computing and cheap storage it's never been more important to define and build around a solid data architecture."

Denne presentasjonen fikk mange bra tilbakemeldinger og anbefales å se når den kommer blir lagt ut av NDC.

NDC Workshop: Identity & Access Control for modern Applications and APIs using ASP.NET Core 3
Dag 2

Dag 2 dreide seg i all hovedsak om kommunikasjon mellom tjenester, federation gateways som for eksempel Identity Server og hvordan en kan sikre applikasjoner som ikke kjører tradisjonelt i browser.

Nøkkelpunkter fra dag 2:

Dominick anbefalte metoden BFF (Backend for frontend) om en skal bygge en SPA. Altså at Javascript eksklusivt snakker med sin egen backend og at all kommunikasjon mot andre tjenester blir gjort via BFF og ikke direkte i SPAet. Du trenger egentlig ikke kunne mer en to (+1) OpenId Connect/OAuth flows i dag. De er Client credentials Flow for maskin til maskin og Code Flow + PKCE (Pixie), i tillegg om du bygger applikasjoner for enheter med begrenset mulighet for input som en tv, kabelboks eller lignende kommer Device Flow som bonus.

NDC Workshop: Building a scalable backend backend in 2 days using Akka.NET

Med Hannes Lowette, som er belgisk, og jobber for Axxes IT

Akka.NET er et rammeverk for å bygge fleksible, paralleliserte, distribuerbare applikasjoner basert på Actor Model. Akka.NET er en port av Akka fra Java-plattformen, og føyer seg inn i en tradisjon etter bla. Erlang, sammen med bla. Microsofts Orleans og Service Fabric Reliable Actors.

Akka.NET er først og fremst egnet for prosess-intensive applikasjoner som kan parallelliseres, og gir høy utnyttelse av moderne flerprosessor-arkitektur.

Hannes Lowettes workshop var et hands-on prosjekt for å behandle data fra en IOT hub i Azure. Den startet med en konseptuell gjennomgang, og fortsatte med et guidet prosjekt der vi skrittvis utviklet en fleksibel, dynamisk og fleksibel applikasjon med høy kapasitet og feiltoleranse.

Teknologi: .NET Core, Azure IOT hub, Akka.NET, SQL Server

Agenda dag 1: Introduction to Akka.NET - The problem domain- General development ideas, patterns - Akka.Remote - Data Normalization
Agenda dag 2: Akka.Persistence - Akka.Cluster - Connecting a UI -Further practice -Beyond this workshop

NDC Workshop: Blazor and the Future of .NET Web Apps

Opplegget var at vi skulle lage en pizza-applikasjon i løpet av 2 dager hvor ca. enhver time Scott Hunter eller Chris Sainty gikk gjennom forskjellige aspekter av Blazor. Agenda er her: https://gist.github.com/SteveSandersonMS/85926d8d13db678f5f6926e7c93bb329

Og source koden med instruksjoner er her: https://github.com/dotnet-presentations/blazor-workshop

Under «docs» ligger instruksjoner delt I kapitler som ble presentert i felleskap og under «save-points» ligger source koden delt også i samsvar med instruksjoner.

Jeg likte ikke template-prosjektet som vi skulle bruke og lagde min. Ta en titt på mitt prosjekt i Azure DevOps. Her er linken: https://dev.azure.com/sergeydotnet/PizzaWorkshop/ med struktur som er jeg mer vant til med tanke på fordeling på frontend og backend.

Generelt likt jeg veldig godt hele opplegget. Jeg synes at det funket veldig bra å kjøre workshop virtuelt. Og begge kurs holdere var veldig pedagogiske, presise og flinke. Svarte på alle spørsmål som vi hadde via slack.

NDC Workshop: Identity & Access Control for modern Applications and APIs using ASP.NET Core 3
Dag 1

Dominick Baier er en av de få som klarer å gjøre identitet og tilgangskontroll spennende. Dag 1 har i stor grad gått i dybden på hvordan autentisering i ASP.NET Core 3 er bygget opp, hvordan det skiller seg fra det som har vært tidligere og hvordan det kan/bør brukes i webapplikasjoner.

NDC Workshop: Event Modeling Made Functional
Dag 1

Workshop'en hadde 15 deltakere fra rundt om i Europa, i tillegg til selveste Scott Wlaschin. Scott Wlaschin er en dreven foredragsholder med lang erfaring med utvikling, og driver bloggen https://fsharpforfunandprofit.com/.

Workshop'en startet med en raskt gjennomgang av de viktigste konseptene for DDD, hvor "shared mental model" og "frequent feedback" var de viktigste punktene. Videre fortalte Scott hvordan domain modeling gir mulighet til feedback allerede i design prosessen, og hvordan man gjøre dette i en tekstfil. Han viste hvordan dette kan mappes direkte til F#-kode.

Andre del av dag 1 innehold en introduksjon til F#, og flere oppgaver for å lære de viktigste konseptene.

Til slutt gikk vi igjennom tanker rundt "Functional Architecture", hvor vi så på hvordan funksjonell programmering kan brukes både i tradisjonelle (modulære) monolitter, i mikrotjenester og ved bruk av Serverless.

Novanet presentasjoner

Going fast and cheap with Bots, Sanity and Kubernetes

Olav

Torsdag 11. juni kl. 11:40 - 12:40

https://ndcoslo.com/talk/going-fast-and-cheap-with-bots-sanity-and-kubernetes/

Sometimes we need to go fast and we may find ourselves on a tight budget. In these situations it is important that we spend our time and resources right. It is still possible to be professional and apply best practices.

In this talk Olav will present lessons learnt from a hobby project building a system for organizing players in an MMO guild. This will include:
- Using bots in free chat apps for rapid development of user interactions,
- Using the chat app for OAuth authentication
- Sanity for both free headless CMS, database and automatically generated management UI
- Secure and scalable backend on secretless Kubernetes using Aks, Azure pod identity and keyvault

When each millisecond counts

Dmitry

Onsdag 10. juni kl. 15-16

https://ndcoslo.com/talk/lightning-talks-6/

When users make millions request to your site every single performance bottleneck could present a serious problem. Every millisecond becomes critical for your service stability. Where the line between premature optimization and neccessary adjustments should be drawn? This session is intended to share and discuss common mistakes and antipatterns causing performance degradation. There will be given examples on how to achieve better performance both from WebApi prospective (.Net) and the database layer. We will also discuss how to test and estimate your service performance with k6 before going live to production. The talk is intended for backend developers primarily and is based on work done for yr.no - norwegian weather forecast service used worldwide with more than 10 millions unique users per week.

Serving election results to an entire nation

Hallstein

Torsdag 11. juni kl. 13:40 - 14:40

https://ndcoslo.com/talk/lightning-talks-2/

What do you have to consider when all of Norway will be accessing your web site at exactly 9 PM, and you get only one shot to deliver?
During 2019 Hallstein worked in a two-man team for NRK, building a greenfield .NET Core API to serve election results to TV, web and more. The election was the most important project for NRK during 2019, and it was absolutely crucial that everything worked as planned. Hallstein will give you insights on how they approached this task, with an absolute deadline and inescapable performance demands, and how they flawlessly coped with one of the highest peak traffic loads in Norway during 2019 when other well known media sites broke down.

Breaking the build with K6 load tests

Lars Alexander

Onsdag 10. juni kl. 15-16

https://ndcoslo.com/talk/lightning-talks-6/

Performant services are increasingly important, and every change to your service can affect that performance. So, what if you could make load tests part of your release pipeline? In this talk we'll look at K6, an open source command line load testing tool, and show how you can check if your APIs can handle a massive burst of users in a short period of time. We'll also look at how you can add load tests to your Azure Devops Pipeline and make the build fail if the APIs don't perform.