NDC 2017

I år var vi to kollegaer, som fik muligheden for at deltage i NDC 2017 (Norwegian Developer Conference) i Oslo. Mange udviklere beskriver NDC som en sand udviklerdrøm at deltage i og er én af de fedeste af alle, hvorfor vi så frem til at deltage.

De første to dage bestod af workshops, efterfulgt af tre dage med talks fra kl. 9.00 – 18:30. Der var ni forskellige talks, man kunne vælge imellem hver time, som indeholdte alt muligt nyt og tanker om, hvad fremtiden kan byde på. Desuden kan det nævnes, at dette var 10. gang konferencen blev afholdt med det hidtil største deltagelse på ca. 2000.

Workshop: Application building with ASP.NET Core 2.0

Vi deltog begge i samme workshop: Application building with ASP.NET Core 2.0, som bestod i at vi skulle bygge et lille projekt i ASP.NET Core 2.0. Vi kendte ikke meget til ASP.NET Core teknologien, inden vi begyndte, hvorfor det var yderst interessant at komme i gang med. Nogle andre kollegaer fra Vertica har allerede bygget et website i ASP.NET Core, så det er ikke helt nyt for Vertica længere.

Hovedpunkterne for workshoppen var:

  • Sætte et ASP.NET Core 2.0 projekt op med anvendelse af Visual Studio 2017 Preview eller Visual Studio Code
  • Anvende MVC features såsom Tag Helpers, Model Binding & Validation, og Razor Pages til at bygge HTML forms
  • API Controllers, Formatters og Routing
  • Håndtering af brugere og authentication vha. NET Identity and Security
  • Entity Framework Core
  • Background tasks i sin applikation via Hosted Services
  • Debugging og diagnosticering af problemer med hjælp fra Application Insights
  • Udgive applikation og kører denne igennem Azure

Projektet ligger her.

Vi var meget spændte på at komme i gang med ASP.NET Core. Vores forventning var at lære mere om ASP.NET Core, for dermed at blive fortrolig i det og finde ud af, hvorfor det er bedre at skifte til ASP.NET Core.

Til at starte med var der meget opsætning i form af ASP.NET Core 2.0 Preview, og opsætning af authentification via. Twitter og Gmail, hvilket godt kunne være skrevet, at der skulle være pre-opsat. Ellers foregik workshoppen ved at lytte til speaker, implementere lidt kode og ellers følge med i speakers hastighed.

Efter endt workshop var vi begge enige om, at der ikke var meget forskel fra det, vi arbejder med til daglig. Grunden til der burde skiftes til ASP.NET Core er dels, at det kan arbejde på alle servere/maskiner uanset OS, og dels vil Microsoft gerne have deres produkt mere i spil, da C# generelt er droppet i anvendelse rundt om i verden.

Her er nogle andre stikordspunkter fra talks omkring ASP.NET Core.

ASP.NET Core Futures Roadmap

  • Arbejder på Netstandard 2.0.
  • Performance
    • New primitives
    • UTF8
    • Efficient encode/decode
    • Anvende “Span” alle steder, da det er hurtigere end array
    • Ny kestrel transport
    • Native Complication (CoreRT)
    • Hurtigere startup
    • Mindske deployments
    • New Standard
    • Non http workloads
      • Http 2.0
      • QUIC Support
      • Use OWIN
      • Background worker / tasks
      • Queues
    • Simplicity
      • Health checks
      • Integration to Docker
      • Deeply Integrated .NET Core DI
      • Easier to get started
    • Extra
      • Måske .tshtml (Typescript)

Security in ASP.NET Core 2.0

  • Hosting
    • Kestrel (webserver)
    • Maybe ready on the edge (IIS var 7 år om at fjerne alle sikkerhedsfejl)
  • Auhtentication
    • Template Support (OBS. 2.1 change Individiual User to OIDC)
    • Work, School, Individual, Windows Authentication
    • Social Authentication
    • Core 1.0 Changes
      • ClaimsPrincipal
      • Cookie Authentication
    • Core 2.0 Changes
      • Authentication is now a single service
      • Active vs Passive
      • Cookie Authentication
      • Custom Authentication Handler
    • Data Protection
      • x509 Certificate protection provider
      • KeyVault protection provider
    • Authorization
      • com/blowdart/aspnetauthorization
    • Require .Net Framwork 4.6.2

Stemningsbilleder fra torsdag aften med Loveshack

Serverless

Et af de keywords som gik igen, når man kiggede oversigten for talks igennem, var begrebet Serverless. Serverless er dog mere et catchy navn, fremfor at være en passende beskrivelse. Serverless er en arkitekturtype, hvor man i stedet for at benytte sine egne servers, benytter servers via the cloud. Dermed er navnet ikke helt passende, da der stadig er servers i spil, men det er ikke servers man selv står for at vedligeholde. Serverless beskrives bedste med følgende kendetegn:

  1. No management of servers
  2. Auto scale on load
  3. Costs based on usage

Serverless har sine fordele og ulemper, og det er derfor ikke noget, man skal se som en universel løsning, men den har nogle bestemte scenarier, hvor den er ideel. Og den bedste måde at fremhæve dens styrker og svagheder, er ved at tage et kig på dens optimale scenarier.

En speaker gav et eksempel på denne use case: Den australske stat havde i 2016 folketælling, som for første gang primært skulle foregå via internettet. Folketællingen forgik ved at alle husholdninger i løbet af d. 9. august skulle melde antal beboerer ind. Til dette formål havde den australske stat udviklet en webløsning til en værdi af 9 millioner dollars. Da folketællingen gik i gang blev serverne efter få timer overbelastet, ikke blot pga. den høje traffik, men også fordi den samtidig var offer for DDOS angreb. Efterfølgende var der så to australske studerende, som ved et hack-a-thon havde udfordret sig selv med at skulle bygge en forbedret udgave af webløsningen, og havde gjort dette på to dage for 500 dollars via serverless arkitektur.

Læs mere om det her.

De styrker, der i dette scenarie gør serverless favorabel er, at opsætningen er relativ hurtig, og man skal ikke tage hensyn til skalering, fordi det håndterer cloud-udbyderen. Det andet tilfælde, hvor serverless også er optimal, er nye startup sites, som gerne vil hurtigt i luften for at se om deres koncept holder. Her er serverless godt, igen fordi det er hurtigt at opsætte, og fordi det også er billigere end at skulle investere i et server setup.

Serverless er fortsat mest udbredt i USA. De tre støreste cloud udbydere til serverless arkitektur er Amazon (AWS Lambda), Google (Cloud Functions) og Azure (Azure Functions). Her nævnte en speaker, at 90 % af de amerikanske serverless løsninger er med Amazon som udbyder. Googles Cloud Functions er fortsat stadig i beta. Andre kendte serverless løsninger er Netflix, og rygtet går at JustEat også benytter Serverless.

Inspirerende Talks

En rigtig god gennemgang af mange af de valg, der skal træffes i forbindelse med Angular 2 – Duncan Hunter & Adam Stephensen – Angular War Stories

Nogle ret underholdende NOT-TODO’S med hensyn til sikkerhed – Troy Hunt – Some Something Cyber

Kategorier: Udvikling