Skomaker - bli ved din lest

Skomaker - bli ved din lest

La de som er gode på utvikling holde på med det, og la de som er gode på drifting holde på med det, skriver Paal Berggren i et tilsvar til Morten Simonsens innlegg i Computerworld fredag 16. april

Simonsen hevder at "de best egnede til å drifte applikasjonen er de samme som har utviklet applikasjonen". Som konsulent erfarer jeg i de fleste store organisasjoner jeg jobber at det hersker en utstrakt oppfatning om at å slippe arkitektene bak applikasjoner (skreddersøm) inn i et driftsmiljø, oppfattes som en risiko. Jeg velger å tro at dette beror på en misforståelse av applikasjonsutviklerens motivasjon bak ønsket om tilgang til produksjonsmiljøet.

Jeg har stor respekt for de som gjør det til sin store ambisjon å sørge for maksimal oppetid for applikasjoner og infrastruktur, slik at brukerne opplever maksimal ytelse og stabilitet på sine tjenester (applikasjoner). Samtidig forventer jeg ydmykhet i forhold til det faktum at det er jeg som kjenner min applikasjon best. Jeg forventer også tilstrekkelig innsikt i faget slik at de som har ansvaret for driften også erkjenner at det i praksis er umulig å utvikle en applikasjon, særlig skreddersøm, og sette denne i drift og samtidig forvente at man vet alt om hvordan applikasjonen vil oppføre seg i en skarp driftssituasjon.

Vel er det mulig å simulere det meste i en testlab, men for de fleste bedrifter setter økonomiske begrensninger og tidsrammer en effektiv stopper for 100 prosent trygghet før en driftssituasjon. Man skal naturligvis følge formelle rutiner og akseptansekriterier før man setter en applikasjon i drift, men det hele dreier seg om å oppnå en tilstrekkelig grad av sikkerhet. Man må derfor regne med at det er nødvendig å overvåke og føle applikasjonen på pulsen i noe tid før man i de fleste tilfeller oppnår den grad av skalering og stabilitet man ønsker å sitte igjen med når dagen er omme. Hindrer man applikasjonsutvikleren effektiv adgang til dette fjerner man samtidig det beste våpenet for å oppnå det alle ønsker, nemlig maksimal opplevelse for brukeren.

Simonsen hevder at applikasjonsutviklere også bør drifte sin egen applikasjon, i alle fall inntil denne oppnår tilstrekkelig grad av ytelse og stabilitet. Dette er jeg ikke uten videre enig i.

Applikasjonsutvikleren/arkitekten og driftspersonellet har typisk forskjellige motiver for å overvåke en applikasjon. Utvikleren ønsker å følge med på hvordan "babyen" har det i den virkelig verden, slik at han kan se hva som bør gjøres for å forbedre applikasjonen, for dermed å gi en mer stabil og robust applikasjon. Driftspersonellet ønsker å overvåke tjenesten og være offensiv i forhold til å hindre alle hendelser som kan forårsake brudd på tjenesten. Dette dreier seg i de fleste tilfeller mer om infrastruktur enn applikasjon.

Driftspersonen er dermed også skolert i ting som nettverk, operativsystem, databaser, filserver osv. Å følge med på alt dette gir en annen fokus enn applikasjonsutvikleren har. Denne er mest opptatt av applikasjonen, og mindre opptatt av infrastruktur. Sannsynligvis ønsker de fleste utviklere ikke å ha noe ansvar for infrastruktur, men forventer - i hvertfall i en stor organisasjon - "at det bare virker". Dermed ser vi også at det er forskjell på å drifte infrastruktur og applikasjon. De fleste som driver med drift kan nødvendigvis mest om infrastruktur, og mindre om applikasjonen de skal drifte. Slik må det være, all den tid vi aksepterer at de som kan en applikasjon best er de som har laget den. Full innsikt på innsiden kan man aldri få uten å titte under panseret.

"Let developers develop" er det noe som heter. Dette er jeg fullstendig enig i, og dette har noe med fokus å gjøre. La de som er gode på utvikling holde på med det, og la de som er gode på drifting holde på med det. Men, for at man skal kunne fungere best mulig på den ene siden av gjerdet kreves også innsikt i det som skjer på den andre siden. Gjensidig respekt for kunnskap og ansvar. Man jobber jo begge for å oppnå samme mål (best mulig tjeneste for brukeren), men dette er ikke mulig uten gjensidig respekt og tillit.

Har man dette vil det ikke være problematisk å gi for eksempel den som er arkitekten bak en applikasjon fullt innsyn i driftsmiljøet. Har man derimot ikke den nødvendige forståelsen for å oppnå gjensidig tillit kan man vanskelig forvente at man som et team kan fungere optimalt.

Paal Berggreen,
Making Waves Technology AS
paal.berggreen@makingwaves.no