Smidig og Devops i Oslo kommune
-
Upload
smidigkonferansen -
Category
Leadership & Management
-
view
268 -
download
8
Transcript of Smidig og Devops i Oslo kommune
Smidig og DevOps i Oslo Kommune2016-5-26
Monika Bache [email protected]
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?