Best of QCon SF 2019

På årets QCon i San Francisco hadde vi hele 9 fagfolk. Likt svamper sugde de i seg kunnskap og læring og vil nå dele sine favoritter med verden.

Ove, Daniel, Lars Gunnar, Richard, Nils Jørgen, Elisabeth, Kjetil, Sigurd og Marin

Elisabeth — Å bygge riktig produkt

Elisabeth Hovden (Bergen)

Det jeg synes var best med QCon SF i år var definitivt open spaces og workshoppen “Starting Out Right — Building the Right Product”. Jeg var innom to ulike open spaces — en om JavaScript og en om “Socially Conscious Software”. Her fikk vi diskutert alt fra state management i React til universell utforming og utilsiktet diskriminering i løsningene man lager. Det var så mange flinke, kunnskapsrike og reflekterte folk der!

Elisabeth (2. fra venstre) med workshop-venner

På workshop’en fikk vi jobbet hands-on med produktutviklingsprosessen. Vi lagde blant annet personas, satte opp en roadmap og jobbet med brukerhistorier. Sluttresultatet kan definitivt diskuteres, men det var uten tvil en veldig kjekk og lærerik økt!

Nils Jørgen — Observabilitet og monitorering

Nils Jørgen Mittet (Stavanger)

QCon Pros

QCon har alltid vært en bra plass for innsikt i trender. I år var Observability og Monitoring et hett tema, og hadde spor som for min del ga absolutt mest, både personlig og for bruk ute hos kunde. Utenfor de store, mest besøkte trackene var det mindre, mer selvstendige foredrag, som ga meg mest. Jeg har ikke jobbet mye med Rust, men går bestandig på foredragene til Steve Klabnik fra Rust Core-teamet, da han har en egen evne til å gjøre det komplisere ukomplisert. Han skuffet på ingen måte i år heller. Ellers er jakten på statefulnes i FaaS-løsninger verdt å nevne og spennende å følge.

QCon Cons

Det var dessverre en god del som ikke var så bra med QCon i år. Keynotes, som tidligere alltid har vært bra, var etter min personlige mening, elendige. Jeg er sikker på at jeg ikke var alene om den meningen. QCon er en sponset konferanse, som forsåvidt er helt greit, da sponsorenes foredrag samles i egne tracks. Men i år var det også mange av de vanlige foredragene som viste seg å være mer eller mindre godt skjulte produktpresentasjoner.

I motsetning til tidligere, da foredrag fra Uber, Facebook, Google m.fl. var de mest populære, var de i år forholdsvis uinteressante og alt for spesifikke for oss som representerer mer normale bruker- og trafikkvolumer.

Kanskje har har QCon mistet posisjonen til andre mer spesifikke konferanser (KubeCon, Kafka Summit etc.)?

Sigurd — Bortom mikrotjenester

Sigurd Gimre (Stavanger)

Beyond Microservices: Streams, State and Scalability — Gwen Shapira

Microservices hadde sin største hype for 5 år siden. Nå har vi konvertert applikasjonene våre over fra monolitter til mikrotjenester, dette har begynnt å bli mainstream og vi begynner å få erfaringer med utfordringer en slik arkitektur gir.

Microservice-arkitekturen gir oss flere problem, for eksempel benytter man JSON og REST for kommunikasjon. Dette er tregt. Vi har ofte laget mikrotjenestene våre med tett synkron kobling og har fått alle problemene til en monolitt pluss problemene ved kommunikasjon og ingen av fordelene vi ønsket oss ved å endre oss. Masse logikk ble duplisert og spredd.

Ofte kan man ikke teste én og én service fordi ting er for tett koblet. Vi har laget en distribuert monolitt. Event-drevet kommunikasjon mellom tjenestene hadde løst dette problemet.

Serverless

Ved serverless så betaler man kun ved bruk. Serverless skalerer bra. Det som er dårlig er at man mangler state. Vi ønsker oss stateful serverless. Flere leverandører, f.eks. Google og Microsoft, starter nå å se på hvordan man løser dette.

Flere har dårlig erfaring med å gjøre multi cloud, dvs. noen tjenester i Azure andre i Google, Ikke gjør det. Hold dere til en plattform. Flytting av plattform er ofte også vanskelig. Hold dere til én leverandør.

Richard — Melnitz og durable funksjoner

Richard Haugen Olsen (Bergen)

Stateful Programming Models in Serverless Function.

Chris Gillumn i Microsoft presenterte “Serverless”-funksjoner med tilstand. Microsoft kaller det “durable functions”. Dette er en pakke man legger til prosjektet sitt. C#, F# og Javascript er støttet.

Adminstrasjonen av tilstanden blir håndtert av det underliggandes kjøremiljøet, og tilstanden blir bevart selv om funksjonen skulle bli restartet.

Foreløpig er det kun Azure som tilbyr dette, men i følge Gillum jobber Amazon med tilsvarandes funksjonalitet.

Meir informasjon finnes her: https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview

Scaling Patterns for Netflix’s Edge

Justin Ryan snakket om skaleringsteknikker som blir brukt i Netflix for å håndtere veksten i selskapet.

I 2008 hadde Netflix under 1 million brukere, i dag over 150 millioner.

En av teknikkene han snakka om var Melnitz. Dette er en del av måten Netflix sjekker om en bruker er logget inn. Formålet med Melnitz er blant anna å kunne logge ut en bruker fra systemet uten å måtte gå via databasen. Dette blir gjort med et Bloom-filter i proxy-serveren. Fordelen med et Bloom-filter er at dei kan lagre bruker-ID-en til alle brukerne som er innlogget uten at det tar stor plass. Bloom-filteret svarer enten “kanskje” eller “nei” om brukeren er logget inn. Om “kanskje” blir returnert sjekker tjenesten i databasen.

Bloom-filter er implementert i mange språk, for Java finnes dette i Guava.

Daniel — Pass deg for tredjepartskode

Daniel Lundekvam (Bergen)

QCon SF i år var en litt skuffende opplevelse. Gode workshops dro opp helhetsinntrykket, men mitt inntrykk var at det var lenger mellom godbitene i år enn normalt.

Det var likevel et par gode talks, og den jeg har tenkt mest på i etterkant var “Making Npm Install Safe” av Kate Stills.

Dette minnet meg om et blogginnlegg av David Gilbertson fra et par år tilbake. Her går han gjennom et tenkt scenario om hvordan han kunne ha samlet inn sensitiv info ved å bruke npm.

Stills gikk igjennom mye av de samme sårbarhetene med å bruke tredjepartskode som Gilbertson pekte på. Videre presenterte hun open source-initiativer som hennes selskap jobber med for å addresse noen av disse, samt nye “proposals” til ECMAScript-standarden for å formalisere det.

Dette er en viktig problemstilling, og selv om jeg synes løsningen som ble skissert var litt lite praktisk synes jeg dette var noe av det bedre av det jeg fikk med meg fra QCon SF 2019.

Martin — Oppsett av skytjenester via API

Martin Fjeldstad (Bergen)

Amazon og Pulumi viste hvordan man med en API-tilnærming til opprettelse og drift av skytjenester ved hjelp av kildekode kan bidra til at utviklere og driftsansvarlige kan nærme seg hverandre.

Ved å la driftsansvarlige få fungere mer som utviklere, samtidig som at utviklere kan være med og dra lasset litt mer på driftssiden vil disse miljøene bli mer unisone.

En annen fordel er at denne kildekoden kan integreres direkte i systemer for versjonskontroll og CI/CD.

På den annen side argumenterte Linux Foundation for at skyen sin utvikling vil gå ut av dagens datasentre og tilbake til brukeren gjennom økt satsning på Edge Computing.

Med “edge”, og derunder edge-enheter, menes nettverkskapable enheter som mobiltelefoner, laptops, biler, kjøleskap, etc. med en kommunikasjonsforsinkelse på mindre enn 20 millisekunder. Med Project EVE (Edge Virtualization Engine) vil man kunne orkestrere tjenester på tvers av mange edge-enheter i stedet for dagens løsning hvor dette skjer i sentraliserte datasentre. Innføring av 5G-nettverk og økt lagring- og datakraft på edge-enheter vil drive denne utviklingen fremover.


Best of QCon SF 2019 was originally published in Miles tones on Medium, where people are continuing the conversation by highlighting and responding to this story.