onsdag 5 oktober 2016

GOTOconf Copenhagen 2016, dag 2

Jag har varit på GOTO i Köpenhamn i dagarna två och sitter nu på hotellrummet i väntan på morgondagens tåg hem. Tänkte som vanligt när jag varit på konferens dela lite minnesanteckningar och reflektioner...

Dag 2

Keynote: Small Is Beautiful - Kevlin Henney
Vi värderar möjligheten att slänga bort saker för lågt. 
Han pratade mycket om hur projektstorlek påverkar storleken på produkten som blir utvecklad (utan att det levereras ett större värde). Att när man tänker stort och börjar lägga till sätt att hantera komplexitet för problem som borde vara enkla. Även om FizzBuzz Enterprise Edition är på skämt så är det ofta som våra lösningar innehåller mer komplexitetshantering än problemlösning.


Disrupting Development using Reactive Event Sourced Systems - Jan Ypma
Visade hur de hade börjat använda eventsourcing som en väg för att trassla sig ur sina tillväxtproblem. 
Han hade en slide med krav på en fristående komponent. 
1) Inga utgående förfrågningar när man hanterar en inkommande (om databasen inte kan accessas utifrån kan den betraktas som intern i systemet).
2) Ingen single-point-of-failure.
3) Designen skall med triviala medel skala till minst 10x förväntat last, tex genom att dra i en slider på Amazon.
Den sista handlar om att om inte du kan hantera ökningen av last så skjuter du över problemet på någon annan och då är du per definition inte längre fristående. 

Microservices: A utopian mystery - Praveena Fernandes
Plockade 10 punkter ur ett projekt som hon varit i. Kanske inte så unika i sig själv men kopplat mot caset ändå intressanta med hur resonemangen gått och vad som hände när de gjorde på ett annat sätt. 


Educating the builders of tomorrow with science and technology skills using LEGO® Education WeDo 2.0 - Hanne Hylleberg Ravn, Flemming Bjørn Jessen
Jag kanske inte förstod det pedagogiska men kändes som en lång reklamfilm. 


Reclaim the stack: Why cross-functional teams build better microservices - Peter-Gillard Moss
Här hade jag en stund av koma och hade svårt att hålla mig vaken så min bedömning kanske inte är helt klar... men känslan var att det handlade mycket mer om teams än microservices. Inga noteringar.


Distributed - of Systems and Teams - Bridget Kromhout
Poängen gick mig helt förbi. Diverse anektoter men jag fick inget sammanhang eller idé om att det ledde åt något håll och gick därifrån undrande över vad jag sett. 

Sammanfattning av konferensen
Jag är på det stora lite besviken och tycker kanske inte att det konferensens fel i sig själv utan att jag kanske kunde läst på lite mer om vad talarna faktiskt skulle prata om. Jag hade hoppats på lite mer teknik och kanske lite mindre av team-building. Kanske lite mindre conways-law och mer kod. Det som var roligast för mig var fallstudierna med deras förväntningar och utfall. 

I sig själv var konferensen väl utformad med utställning, mat och dryck. Schemat höll och det kändes allt rullade på enligt plan. De flesta föreläsarna verkade vara kunniga i sina respektive ämne och ingen var helt borttappad på scenen. En detalj som de kanske hade kunnat utöka var möjligheten att ladda sina bärbara enheter där de hade små bås som kunde sitta i och till vilka ström var framdraget. 

Så, jag åker nog inte dit igen 2017. Det var för lite som när jag faktiskt skulle välja nästa föreläsning som faktiskt lockade mig. Men det kanske var lika mycket mitt fel. 



GOTOconf Copenhagen 2016, dag 1



Jag har varit på GOTO i Köpenhamn i dagarna två och sitter nu på hotellrummet i väntan på morgondagens tåg hem. Tänkte som vanligt när jag varit på konferens dela lite minnesanteckningar och reflektioner...


Dag 1


Öppning och Agile 2016 med Dan North
Outcomes creates options, om att faktiskt komma till leverans. Det är inte förrän folk faktiskt arbetar med en funktion som de bra idéerna om hur funktionen skall förbättras kommer.

Mycket Agil historia och ett något modifierat agilt manifesto med förflyttning mot hela tiden, i stället för regelbundet...

Han slog hårt mot kommersialisering av agila begrepp. Det finns inga agila arbetssätt, man är agil, följer inte en agil plan. Scrum-certifiering är världens största ponzi-bedrägeri.


The comming machine revoluition, Raffaello d'Andrea
Man har sett hans videos på nätet sedan tidigare med drönare som flyger synkroniserat, spelar pingis m.m. Berättade inte så mycket om hur det fungerade. 

Avslutade med att prata med faran som maskinerna utgör för människan nu när de blir smartare och smartare. Han är inte orolig alls för terminiator. Mer konkret däremot är han rädd att vi kopplar ihop system allt mer vilket kan ge upphov till ganska katastrofala feedback-loopar (ni som vet vad som kan hända om blixen slår ner i ett ställverk har en liten föraning om hur stor en sådan kaskad kan utveckla sig).

Monolithic batch goes microservice streaming – story about one transformation,
Anton Polyakov, Charles Tye

Visade hur de i ett projekt gått från relationsdatabas till eventsourcing för att lösa en applikation som testade de två senaste årens förändringar på en dags transaktioner... många nollor på antalet beräkningar som skulle göras.
Det stora de visade var att de använde en ramminnesdatabas för att utföra aggregeringar på stora datamängder. Man kan väl säga att det går att få in mycket data i ram nu för tiden.
Citat:
Building an app alongside the old one is an antipattern.
Turning spagetti to spagetti with a meatball. (om Microservices)

When DevOps Meets Regulation: Integrating 'Continuous' with 'Government', Jez Humble
Om de overthere kan sätta ihop ett team som kan ta fram gemensamma lösningar för flera myndigheter tänker man att hoppet kanske inte är helt förlorat här hemma heller. Mycket amerikansk förvaltning vilket kanske var intressant om man ska flytta dit. Sömnpiller för mig.
Cloud.gov 


Building an effective delivery culture, Stephen Foreshew-Cain
I stort sett samma samma som förra fast i Storbrittannien där han byggt en medborgarportal som väg in till ett stort antal myndigheter. GDS, ett kompetenscenter för myndigheter.


Exploring StackOverflow data - Evelina Gabasova
Här hade jag förväntat mig lite mer teknik om hur hon gjorde analyserna. Att det går ett bakgrundsjobb i F# som kan skanna av första raden i filer m.m. kändes inte så imponerande som hon ville göra gällande, men visst, det var en juste genväg. 
"Om du kan trycka in det i ram är det inte ett bigdata problem". Och stackoverflow fick hon inte i i minnet på sin bärbara, men den stationära hemma gick det bra.

Panel Discussion: The future of Robotics - Wouter Kuijpers, Dan North, Gregory Pelcha, Jørn Larsen, Marjon van ‘t Klooster
Här kändes det väldigt oförberett och närmast lite taffligt. Blev ingen diskussion. Fick svar på min fråga om vad som ligger runt hörnet för mig som vanlig människa (robotdammsugare och robotgräsklippare ganska vanliga inslag numera). Svaret var att jag förmodligen kommer att äta robot-stekt hamburgare på McDonalds. 

JavaScript, the Cloud and the Rise of the New Virtual Machine - Scott Hanselman
De här två dagarnas bästa framträdande, en ståuppshow på it-tema. Visste inte att Scott var rolig. Vet inte om jag fick med mig några lärdomar dock. 

söndag 2 oktober 2016

Ändra databasstruktur under drift

Här kommer en liten programmeringsövning till. Denna syftar på att använda mönster som låter dig ändra ditt system under drift.

Förberedelse:
1) Sätt upp en rest-tjänst som tar emot ett objekt (tex en postadress) och sparar denna i en databas.
2) Sätt upp en resttjänst som listar de 10 senaste adresserna ur databasen.
3) Skriv en liten applikation som skickar en en random adress och sedan listar de 10 sista adresserna, varje sekund så länge applikationen är igång.

Övningen:
Utan att störa din applikationen som skickar in och listar data (den ska ticka in en adress varje sekund medans övningen pågår), migrera databasformatet, tex slå ihop två fält som sparades som ett tidigare, eller dela informationen till två fält. Ändringen ska inte påverka informationen som går ut i rest-tjänsten.

Denna artikel kanske kan vara till hjälp, men det finns säkerligen fler sätt att lösa det på.