smidig og devops i oslo kommune

Post on 12-Apr-2017

267 Views

Category:

Leadership & Management

8 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Smidig og DevOps i Oslo Kommune2016-5-26

Monika Bache monika.bache@knowit.no

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

2016

• Utviklings- og vedlikeholdsavtale

• Underleverandør på driftsavtalen

• Over 70 virtuelle servere

• 230 komponenter

• 170 prodsettinger i måneden

Mål

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

ITAS – CITY OS for Oslo Kommune

1Sentral meldingsplattform for all integrasjon

50DevOps – Erfaringer fra Oslo kommune

Typer systemer vi integrerer mellom

300

PET (Program for Elektroniske tjenester)

• Veiledet dialog

• Min Side

• Elektronisk post ut

• Automatisertsaksbehandling

Leverandørteam Oslo Kommune

2040

Integrasjons-plattformen

•Skreddersømså plattformen

•Tjenester med potensiale for deling

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

Komponenter (noen av de ca 230 vi har)

kjører hver for seg

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

Oversikt over hvor kompenter kjører og hvilken versjon

Antall prodsettinger

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

DevOps

Hvorfor devops?

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

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

Tradisjonell systemutvikling

• Utvikling• Test• Kvalitetssikring

Prosjekt Forvaltning

• Prodsetting• Overvåking• Feilretting

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

Moderne produktutvikling

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

Slik jobber vi

Effektiv prosess

• Utvikle ny funksjonalitet

• QA, test

• Buttondeployment til produksjon

• Overvåkning av logger

• Oppdage feil

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

Overvåking av tjenester

Verktøy

• Egne scripts for deploy

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

Forutsetninger

Fokus på vedlikehold !

• Vedlikehold underveis

• Ikke «opprydningprosjekt» etter 3 år

• Fokus på autoforvaltning

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

Leveranselogg

Forutsetninger

• Tillit

• Smidighet og frihet

• Knowit-kultur - «Here to help!»

• Nærhet til kunden

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

Positive erfaringer

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

Utfordringer

Utviklere liker ikke drift

Hvordan håndtere drift?

• Autoforvaltning

• Smartere feilhåndtering

• Motiverer utviklerne til å øke kodekvalitet

Context switching

Hvordan forbedre?

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

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

Vite mer?

top related