Azure-skytjenester og DevOps
Infrastruktur som kode, pipelines som deployer flere ganger om dagen, et sikkerhetsfundament som nekter alt som standard, og en regning som er til å forutse. Slik bygger vi et skymiljø, og slik driver vi vårt eget.
Selve DevOps-arbeidet
- Pipelines. Bygg, test, sikkerhetsskanning og deploy i GitHub Actions, med føderert legitimasjon i stedet for lagrede hemmeligheter og hver action låst til en hash.
- Infrastruktur som kode. Terraform for alt, gjennomgått som en plan før den tas i bruk, med planlagt kontroll av konfigurasjonsavvik som melder fra om det noen har endret for hånd.
- Databaseleveranse. Skjemaendringer som versjonerte migreringer som kjører i pipelinen, slik at en deploy som sender ut kode uten tilhørende skjema, ikke kan skje.
- Overvåking og varsling. Logger, metrikker og traces i ett arbeidsområde, med varsler som bare når en person når en utvikler faktisk kan gjøre noe med dem.
- Kostnadskontroll. Riktig dimensjonerte nivåer, forbruksbasert prising der lasten svinger, og en månedlig regning som noen faktisk leser.
Hva vi bygger med
Hver ressurs er deklarert i Terraform og deployes fra GitHub Actions med føderert legitimasjon. Ingenting klikkes sammen i en portal, verken i våre miljøer eller i deres.
Compute
Azure Functions på .NET 10 isolated worker for API-et og 40 planlagte jobber; Container Apps Jobs kjører databasedeployer og EF Core-migreringer.
Data
Azure SQL med radnivåsikkerhet og Always Encrypted-kolonner under kundestyrte nøkler i Key Vault; Blob Storage for dokumenter og signerte PDF-er.
Frontender
To Static Web Apps, portalen og dette nettstedet, begge servert med en streng Content Security Policy og forhåndsrendret der crawlere trenger HTML.
Identitet
Entra ID for personer og grupper, brukertilordnede administrerte identiteter for hver arbeidsbelastning, OIDC fra GitHub Actions. Ingen langvarig legitimasjon i pipelinen.
Observerbarhet
Application Insights og Log Analytics med varslingsregler som når teamet som Teams-meldinger. Bare signaler en utvikler kan handle på, blir til varsler.
Styring
Policyer for ressursgrupper, ressurslåser, purge protection og diagnostikkinnstillinger, alt deklarert i Terraform med begrunnelsen ved siden av hver regel.
Kostnadsdisiplin
Utviklingsprinsippene våre rangerer prioriteringene i fast rekkefølge: kostnad først, deretter sikkerhet, deretter moderne løsninger, deretter ytelse. Et kostnadstak settes før arkitekturen tegnes, og hver designbeslutning sjekkes mot det. I praksis betyr det forbruksbasert prising i stedet for servere som alltid står på der lasten svinger, et riktig dimensjonert databasenivå i stedet for det leverandøren anbefaler, og varsling bygget på tjenester som allerede finnes i abonnementet i stedet for et betalt vaktprodukt.
Sikkerhetsfundament
- Brannmurer nekter som standard; SQL kan bare nås fra Functions-subnettet.
- Hemmeligheter finnes bare i Key Vault og leses via administrerte identiteter.
- Personopplysninger og økonomiske kolonner er Always Encrypted, slik at ikke engang en databaseadministrator kan lese dem.
- Actions og containerimages er låst til hash; oppdateringer av avhengigheter kommer som gjennomgåtte pull requests, og et sikkerhetsvarsel er en ubetinget grunn til å oppgradere.
- CodeQL kjører ved hver push, Terraform-planer valideres før de tas i bruk, og konfigurasjonsavvik oppdages etter en tidsplan.
Vår erfaring med sky
Over 20 CI/CD-pipelines bygget, toukersutgivelser gjort om til daglige deployer, utgivelsestid kuttet fra fire timer til 25 minutter, Azure-kostnader redusert med 30 prosent på én plattform. Tall fra leveransehistorikken vår.
Vi rekrutterer for det, vi improviserer ikke
DevOps er en rolle vi rekrutterer bevisst for: stillingshistorikken vår inkluderer en DevOps-ingeniør og en dedikert teknisk DevOps-intervjuer, slik at kandidater vurderes av en som gjør jobben, og ikke av en generalist som leser en sjekkliste.
Vil dere ha Azure-miljøet som kode, med en lavere regning?
Send lesetilgang til abonnementet deres eller en beskrivelse av hva som kjører hvor. Dere får en skriftlig vurdering og en plan innen én arbeidsdag.