Prodsetting for Cerebrum

Beskrivelse av samarbeid og rutiner rundt oppgradering av Cerebrum i USIT sitt prodmiljø.

Deployering, deployment, prodsetting, oppgradering.

1   Formål med deployeringsrutine

  • Minst mulig nedetid. Ideelt sett skal ei oppgradering berre ta nokre sekund, og maks 15 minutt.
  • Færrast mulig feil ved prodsetting.
  • Mest mulig automatisering. På sikt ønsker vi 100% automatisering.

2   Arbeidsdeling mellom drift og utvikling

  • Cerebrum utvikling har ansvar for å stadig forbedre Cerebrum, og med det endre oppførselen. Dette skaper konsekvenser, og vil kreve tilpassingar i miljøet.
  • Cerebrum drift har ansvar for at Cerebrum-miljøet er stabilt oppe og køyrer.

Sjå Grensegang mellom drift og utvikling for meir detaljar.

3   Prinsipp

  • Kommunikasjon: Drift og utvikling må kommunisere godt. Det meste kan takast ansikt til ansikt.
  • Pragmatisk: Rutiner er berre til for å gjere prodsettinga meir effektiv. Ein kan gå utanom rutina ved behov, til dømes ved å koordinere i samme rom.
  • Automatisering: Vi ønsker å gå mot kontinuerlig oppgradering (CI), og automatiserer det vi kan. Manuelle endringar auker risikoen for feil.

4   Køyrereglar

  • Cerebrum utvikling skal gjere så mykje som mulig klart før oppgraderinga, så drift treng å gjere minst mulig.

  • Kodeendringar må vere mest mulig bakoverkompatible til versjonen som køyrer i produksjon. Dette for å unngå feil dersom konfigurasjonen ikkje er oppdatert.

    For å unngå dette:

    • Feature toggles for å slå av og på ny funksjonalitet, td. for eit begrensa utvalg personar.
    • Branching for å isolere store endringar fram til Cerebrum drift er klar til å utføre tilpassingane.

5   Rutiner

Hovudregelen ved prodsetting er: Ta kontakt med Cerebrum drift, enten via RT eller med vanlege tasks i Jira, for å informere om kva som trengs. Drift vil då prioritere det på lik linje med alt anna arbeid dei har.

Sjå meir info om dette i dokumentet Cerebrum produksjonssetting.

Vi har eit unntak, og det er for prodsettingssaker som er enkle, men som likevel krever litt arbeid. Sjå lenger ned.

5.1   Deployment-rutina

For å forenkle prodsettinga har vi ei enkel deployment-rutine. Krav til når deployment-rutina kan brukast:

  • Ingen behov for fleire avklaringar med andre.
  • Ingen behov for meir koordinering med andre.
  • Prodsettinga vil ta maks 15 minuttar, og er ferdig etter det.
  • Prodsettinga treng ikkje vente, men kan prodsettast her og no.
  • TODO: Skal konfigurasjon vere på plass? Skal utviklarane kunne endre i cerebrum_config? Må diskuterast.

På sikt er det ønskeleg at denne rutina kan automatiserast fullt ut.

Er du i tvil? Send inn ei vanleg sak til Cerebrum drift.

Av jokim
Publisert 26. mars 2015 07:40