Kongestol av pc-tastatur
>

Microsoft Xamarin Hackfest 2017 - Et reisebrev

Frode Hus 
24. jan. 2017

Det ble i de dager Desember 2016 sendt ut brevduer fra Microsoft Norge til utvalgte kunder der det ble så gledelig invitert til en Hackfest i Oslo for å starte 2017 på en god fot.

​Statoil var en av disse kundene og i forbindelse med digitaliseringsinitiativet deres så fikk noen fra Go-Digital-teamet bli med på denne hendelsen.​

To av Bouvet-bøndene som ble sendt skjelvende til den store hovedstaden var Bjarte Bore fra Olavstoppen og Frode Hus fra Stavanger Enigma.

Ellers stilte Statoil med 3 av sine egne: Lars Kåre Skjørestad (produkteier), Olav Vatne (utvikler) og Arild Eikeland (dev ops).

Microsoft Xamarin Hackfest 2017 er en samling på Teknologihuset i Oslo der fokuset var Xamarin og Azure med budskapet "Bring your app and work closely with Microsoft experts to solve problems and get started with best practices".

Her ble det da invitert inn Technical Evangelists fra Microsoft i USA og Nederland i tillegg til Microsoft Norge sine egne folk. Disse ekspertene har gode kontakter inn mot produktlagene i Redmond og dersom det var spørsmål de ikke kunne svare på så var det kort vei til kontakt med de personene som sitter med labbene på tastaturet.

20170110_073233697_iOS-e1485247419706
I tillegg til oss så var 4 andre kunder til stede fra England, Norge og Nederland. Disse jobbet med app'er som inkluderte timeføring, inspeksjon av vindmøller og diverse annet.

I forbindelse med at Statoil definerer en plattform for utvikling av mobile applikasjoner (med det nydelige akronymet MAD - Mobile Application Development) så var vårt fokuset mer generelt enn rettet mot èn enkel app.

De tre punktene vi hadde definert for uken var:
  • ​Continous Integration
  • Automatisert provisjonering av infrastruktur
  • Monitorering og analyse av bruksmønstre og ressurser for å enkelt eksponere dette til bedriften via infoskjermer og denslags
The MAD Motto (som de sier på utenlandsk) er at så langt det er mulig så skal det automatiseres for å kunne ha hurtige leveranser og minst mulig manuelle feil (sånn utenom kodefeil; de legger vi endel manuelt arbeid i).
Våre iOS og Android app'er har dermed fått opprettet byggedefinisjoner som har mulighet til å dra en ny versjon helt fra Github ut til Xamarin Test Cloud for UI testing, videre ut i HockeyApp for distribusjon til testbrukere og så til AirWatch (Statoil sitt verktøy for mobile management) for produksjonsutrulling. (HockeyApp er en løsning for å kunne bl.a distribuere beta-versjoner av app'er til utvalgte brukere).

For Azure-infrastrukturen så defineres alle tjenester og ressurser i såkalte ARM (Azure Resource Management) templates som kan kjøres via script eller build task i Visual Studio Team Services. Videre har vi endel avanserte oppsett der vi f.eks legger hemmelige koder og denslags i Azure KeyVault og autentisering mot denne gjøres via sertifikater. Denne typen konfigurasjon automatiseres via PowerShell-scripts. Resultatet her er at vi nå har 100% automatisert provisjonering av alle miljøene via scripts og ARM template.

20170113_094839432_iOS

Dermed sikrer vi at koden er den eneste sannheten og at ingen manuelle steg gjøres slik at når man må gjøre en disaster recovery eller bare kjøre opp et identisk nytt miljø om 1 år da alle utviklerne er kanskje byttet ut så kan dette gjøres med minimal innsats og risiko. Målet er jo at en lettere trent apekatt kan gjøre det uten for mange svetteperler.



På monitorering- og analysesiden så har vi til nå benyttet HockeyApp med Application Insights-integrasjon, men vi ser at vi muligens må se på andre verktøy der (som det finnes opptil ca mange av) på grunn av litt svake muligheter på klientsiden (men denne forventes å styrkes endel når Azure Mobile Center rulles ut av alpha som er en slags sammensetting av HockeyApp og Xamarin Test Cloud).

Løsningen som ble eksperimentert med på Hackfesten var å sette opp continous export fra App Insights til en SQL database som PowerBI henter data fra og eksponerer dashboards - men dette blir fort en komplisert løsning når man innen ett års tid kanskje har 10-20 apps som skal settes opp slik.

Alt i alt en veldig kjekk uke der vi fikk både løsninger og innblikk i begrensninger i tillegg til å få utvidet nettverket litt med dyktige folk :) Lunsjen var ganske god, også.

Temaer