Smidig og Devops i Oslo kommune

47
Smidig og DevOps i Oslo Kommune 2016-5-26 Monika Bache monika.bache @knowit.no

Transcript of Smidig og Devops i Oslo kommune

Page 1: Smidig og Devops i Oslo kommune

Smidig og DevOps i Oslo Kommune2016-5-26

Monika Bache [email protected]

Page 2: Smidig og Devops i Oslo kommune

Utvikling siden starten i 2002

• Startet med å være inne på utvikling

• Vi kom inn på applikasjonsdrift i 2008

• Fikk lov til å videreutvikle (omskriving fra fullskala ESB til POC med open source)

• Modnet med å finne beste måte å utvikle, vedlikeholde, og drifte

Page 3: Smidig og Devops i Oslo kommune

2016

• Utviklings- og vedlikeholdsavtale

• Underleverandør på driftsavtalen

• Over 70 virtuelle servere

• 230 komponenter

• 170 prodsettinger i måneden

Page 4: Smidig og Devops i Oslo kommune

Mål

Digitalt førstevalg for ansatte, innbyggere og næringsliv i Oslo Kommune.

Page 5: Smidig og Devops i Oslo kommune

ITAS – CITY OS for Oslo Kommune

1Sentral meldingsplattform for all integrasjon

Page 6: Smidig og Devops i Oslo kommune

50DevOps – Erfaringer fra Oslo kommune

Page 7: Smidig og Devops i Oslo kommune

Typer systemer vi integrerer mellom

300

Page 8: Smidig og Devops i Oslo kommune

PET (Program for Elektroniske tjenester)

• Veiledet dialog

• Min Side

• Elektronisk post ut

• Automatisertsaksbehandling

Page 9: Smidig og Devops i Oslo kommune
Page 10: Smidig og Devops i Oslo kommune

Leverandørteam Oslo Kommune

2040

Page 11: Smidig og Devops i Oslo kommune

Integrasjons-plattformen

•Skreddersømså plattformen

•Tjenester med potensiale for deling

Page 12: Smidig og Devops i Oslo kommune

Hvorfor sentral meldingsplattform

• Gjenbruk og deling av felleskomponenter

• Fagsystemet er mindre sårbart for nedetid hos mottaker, ITAS mellomlagrer

• Tilgjengeliggjøre eksterne grensesnitt.

• ITAS skjuler endringer i underliggende registertjenester (f.eks DSF) ITAS tar seg av tilpasning

• Fagsystemer slipper å forholde seg til ulike format. ITAS fikser

• ITAS tilbyr Infrastruktur, utviklingsmiljø, og overvåkning er på plass

• Ta ned kostnader• Kjappere• Enklere

Page 13: Smidig og Devops i Oslo kommune

Komponenter (noen av de ca 230 vi har)

kjører hver for seg

har spesifikke operasjoner de utførertar kontakt med andre komponenter vedbehov

Page 14: Smidig og Devops i Oslo kommune

Oversikt over hvor kompenter kjører og hvilken versjon

Page 15: Smidig og Devops i Oslo kommune

Antall prodsettinger

• Januar 192• Februar 162• Mars 166• April: 206• Mai: 119

Page 16: Smidig og Devops i Oslo kommune

DevOps

Page 17: Smidig og Devops i Oslo kommune

Hvorfor devops?

Page 18: Smidig og Devops i Oslo kommune

Hva er DevOps

Kultur

Forener utvikling og (Dev) og applikasjonsdrift (Ops) som tradisjonelt har blitt utført av forskjellige team

BusinessDevOps = Forretning + Utvikling + Drift = Produkt i Champions League

Page 19: Smidig og Devops i Oslo kommune

DevOps i Oslo Kommune

Page 20: Smidig og Devops i Oslo kommune

Hva trenger virksomhetene i Oslo Kommune?

• Stabil drift

• Rask digitalisering

• Ikke ha meldingstap• Ikke nedetid

• Fokusområder i gitt tidsrom

• Drive kostnadseffektivt

Page 21: Smidig og Devops i Oslo kommune

Tradisjonell systemutvikling

• Utvikling• Test• Kvalitetssikring

Prosjekt Forvaltning

• Prodsetting• Overvåking• Feilretting

Page 22: Smidig og Devops i Oslo kommune

Ulemper ved overlevering

• Mister kompetanse ved overføring

• Mister erfaring ift. drift av domenet

• Mister opparbeidet kunnskap om forbedringspotensiale, og utviklingsteam mister insentiv for å utvikle stabil drift

Page 23: Smidig og Devops i Oslo kommune

Moderne produktutvikling

• Utvikling• Test• Prodsetting• Overvåking• Tilbakemeldinger

Page 24: Smidig og Devops i Oslo kommune

Slik jobber vi

Page 25: Smidig og Devops i Oslo kommune

Effektiv prosess

• Utvikle ny funksjonalitet

• QA, test

• Buttondeployment til produksjon

• Overvåkning av logger

• Oppdage feil

Page 26: Smidig og Devops i Oslo kommune

Forvaltningsansvarlig

• Sjekk ERROR logginnslag fra komponentene

• JMSAdmin (sjekk etter meldinger på feilkø, og resend)

• Intsupp, Mailboksen vår (supporthenvendelser)

• SM9, saksbehandlingssystemet til Evry

• Kibana – visualisering av logginnslag

• Grafana – overvåking av CPU og minnebruk på serverne

Page 27: Smidig og Devops i Oslo kommune

Overvåking av tjenester

Page 28: Smidig og Devops i Oslo kommune

Verktøy

• Egne scripts for deploy

Page 29: Smidig og Devops i Oslo kommune
Page 30: Smidig og Devops i Oslo kommune

Samarbeidet med UKE• Vedlikehold og driftsbudsjett er fastsatt. Periodisert månedlig

• Bestillinger primært på løpende timer for hele kommunen

• Månedlig statusrapportering

• Statusmøter hver 14.dag

• Kontinuerlig innsyn (wiki, confluence, github)

• Samlokalisering

• Kompentent kunde, faglig innsikt

Page 31: Smidig og Devops i Oslo kommune

Forutsetninger

Page 32: Smidig og Devops i Oslo kommune

Fokus på vedlikehold !

• Vedlikehold underveis

• Ikke «opprydningprosjekt» etter 3 år

• Fokus på autoforvaltning

Page 33: Smidig og Devops i Oslo kommune

Hva skal til?

• Utvikler har tilgang til produksjonsmiljø

• Deploy uten nedetid i prod

• Full kontroll over alle prodsettinger, tilgjengelig på wiki

• Automatiser mest mulig – mindre risiko for feil

• Forhåndsgodkjente endringer

Page 34: Smidig og Devops i Oslo kommune

Leveranselogg

Page 35: Smidig og Devops i Oslo kommune

Forutsetninger

• Tillit

• Smidighet og frihet

• Knowit-kultur - «Here to help!»

• Nærhet til kunden

• Ansvarsfulle utviklere (nysgjerrig på å lære)

Page 36: Smidig og Devops i Oslo kommune

Positive erfaringer

Page 37: Smidig og Devops i Oslo kommune

Positive erfaringer

• Tidlig verdi for Oslo Kommunes virksomheter, næringsliv og innbyggere

• Kunden anerkjenner behov for kontinuerlig vedlikehold

• Kunden anerkjenner behov for eksperimentering

• Vi har vist at vi over tid har få feil, gir tillit til metoden

• En kompetent kunde til faglige diskusjoner

• Høy trivsel

Page 38: Smidig og Devops i Oslo kommune

Utfordringer

Page 39: Smidig og Devops i Oslo kommune

Utviklere liker ikke drift

Page 40: Smidig og Devops i Oslo kommune

Hvordan håndtere drift?

• Autoforvaltning

• Smartere feilhåndtering

• Motiverer utviklerne til å øke kodekvalitet

Page 41: Smidig og Devops i Oslo kommune

Context switching

Page 42: Smidig og Devops i Oslo kommune
Page 43: Smidig og Devops i Oslo kommune
Page 44: Smidig og Devops i Oslo kommune

Hvordan forbedre?

Page 45: Smidig og Devops i Oslo kommune

Hvordan endre?• Finn en krok, og del den opp! Mikrotjenester

• Eller start smått med nye ting

• Utvikle for drifting

• Forankring hos kunden

• Få på plass avtale som sikrer utvikling + vedlikehold + drift

• Små endringer med lav risiko som defineres som forhåndsgodkjente

Page 46: Smidig og Devops i Oslo kommune

Oppsummering Kunnskap og eierskap for rask produktutvikling som gir tidlig verdi og stabile tjenester

• Automatiser!

• Logg, lær og justér.

• Lite feil, ”You build it, you run it!”

• Høy trivsel for ”DevOps”- utviklere

Page 47: Smidig og Devops i Oslo kommune

Vite mer?