DevOps for web- og mobilprodukter
Vi setter opp hvordan produktet deres bygges, testes, rulles ut og overvåkes: CI/CD-løp, containere, sky- eller VPS-infrastruktur og separate miljøer. Lanseringer blir et rutinemessig steg i stedet for en sen kveld på kontoret.
Når DevOps-arbeid lønner seg
Signalet er som regel det samme: lanseringer er trege, risikable og avhengige av den ene personen som kan kommandoene.
- Utrulling gjøres manuelt over SSH og ødelegger av og til produksjonen
- Det finnes ikke noe testmiljø, så endringer testes på ekte brukere
- Bare én utvikler vet hvordan man ruller ut, og vedkommende skal slutte
- Skyregningen vokser raskere enn produktet
- Feil meldes av kunder fordi det ikke finnes logger eller målinger
- Å sette opp et miljø for en ny utvikler tar flere dager
Hva vi gjør
CI/CD-løp
Hver endring bygges og testes automatisk, og en sammenslåing til hovedgrenen rulles ut til test eller produksjon. Mobilapper får automatiske bygg levert til TestFlight og testspor i Google Play.
Containere
Applikasjoner og avhengighetene deres pakket med Docker, slik at det samme bildet kjører på en bærbar PC, i testmiljøet og i produksjon.
Sky- og VPS-infrastruktur
Infrastruktur i en offentlig sky eller på dedikerte servere og VPS, valgt ut fra belastning og budsjett og ikke av vane, og satt opp i kontoer som tilhører dere.
Infrastruktur som kode
Servere, nettverk, DNS og tilganger beskrevet i kode og lagret i repositoriet. Miljøet kan gjennomgås, gjenskapes og endres som all annen kode.
Dev, stage og prod
Separate miljøer for utvikling, test og produksjon med egne data og innstillinger, slik at hver endring kontrolleres før ekte brukere ser den.
Overvåking og logger
Målinger, sentraliserte logger og feilsporing med varsler, slik at teamet oppdager problemer først og diagnostiserer dem ut fra data og ikke gjetning.
Utrulling som ikke avhenger av én person
Når en lansering betyr at en utvikler kobler seg til serveren og kjører kommandoer etter hukommelsen, er hver lansering en risiko og hver ferie et problem. Vi flytter denne kunnskapen inn i et automatisert løp: bygg, tester, databasemigreringer og utrulling kjøres på samme måte hver gang, og en mislykket lansering kan rulles tilbake i ett steg. Hemmeligheter og tilganger lagres sentralt, ikke på personlige bærbare maskiner.
- Automatisk bygg og testing ved hver endring
- Utrulling og tilbakerulling i ett steg
- Databasemigreringer som del av lanseringen
- Hemmeligheter og tilganger styrt fra ett sted
Infrastruktur som koster det den skal
Regningene for infrastruktur vokser i det stille: overdimensjonerte instanser, glemte testservere, betalte tjenester som overlapper hverandre. Vi går gjennom hva som kjører, hva det brukes til og hva det koster, og foreslår endringer med anslått besparelse for hver av dem. Noen ganger betyr det riktig dimensjonering i samme sky, andre ganger å flytte jevne arbeidslaster fra en skyleverandør til dedikerte servere.
- Oversikt over ressurser og månedlig kostnad for hver
- Ubrukte og overdimensjonerte ressurser fjernet
- En anslått besparelse for hver foreslått endring
- En migreringsplan der det lønner seg økonomisk å flytte arbeidslaster
Vite hva som skjer i produksjon
Uten overvåking kommer den første meldingen om et problem fra en kunde. Vi setter opp målinger for servere og applikasjonen, samler logger på ett sted og kobler til feilsporing for backend, web- og mobilklienter. Varsler går til dem som kan gjøre noe med dem, og justeres slik at de ikke blir ignorert.
- Dashbord for servere, databaser og applikasjonsmålinger
- Sentraliserte, søkbare logger
- Feilsporing for backend, web og mobil
- Varsler sendt til riktige personer
Slik foregår DevOps-arbeidet
Gjennomgang
Vi ser på repositoriene, dagens utrullingsprosess, infrastrukturen og regningene. Dere får en rapport med problemene og de foreslåtte endringene.
Plan
Endringene sorteres etter verdi og risiko og estimeres. Dere bestemmer hva som gjøres først.
Gjennomføring
Automatiserte løp, containere, miljøer og overvåking innføres steg for steg, uten å stoppe pågående lanseringer.
Overlevering
Teamet deres får dokumentasjon og en gjennomgang, slik at oppsettet forstås av mer enn én person.
Løpende drift
Om dere ønsker det, holder vi infrastrukturen i gang og forbedrer den under en driftsavtale.
Verktøy vi bruker
CI/CD
- GitHub Actions
- GitLab CI
- Bitbucket Pipelines
- fastlane
Containere
- Docker
- Docker Compose
- Kubernetes
Sky og IaC
- AWS
- Google Cloud
- Hetzner
- DigitalOcean
- Terraform
- Ansible
Overvåking
- Prometheus
- Grafana
- Sentry
Slik kan dere jobbe med oss
Oppsettsprosjekt
Et prosjekt med fast omfang: for eksempel et CI/CD-løp, containerisering eller flytting til ny infrastruktur.
Løpende DevOps-drift
Månedlig oppfølging av automatiserte løp, miljøer og infrastruktur, kombinert med serverdrift ved behov.
Timebasert eller dedikert ingeniør
Rådgivning og enkeltoppgaver fakturert per time, eller en ingeniør tildelt teamet deres.
Tilbakemeldinger
Revol-teamet fortsetter å effektivisere kundens utviklingskapasitet med arbeid av høy kvalitet og pålitelig support. De kommuniserer godt og viser en solid forståelse av kundens behov og virksomhet.
Tomas
Arbeidet fra Revol har fullt ut innfridd forventningene, og kunden er fornøyd. Den friske tilnærmingen og evnen til å være tilgjengelige for support har vært verdifulle. Kunder kan trygt velge dem som et kommunikativt og kundeorientert team som hjelper dem å nå målene sine.
Andrey
Ofte stilte spørsmål
Trenger vi Kubernetes?
De fleste produkter gjør ikke det. Noen få servere med Docker og et godt bygd automatisert løp dekker behovene til de fleste backender for web og mobil, med en brøkdel av kompleksiteten. Vi foreslår Kubernetes når antallet tjenester og belastningen faktisk krever det.
Kan dere jobbe i vår eksisterende skykonto?
Ja. Vi jobber i deres sky- eller hostingkontoer med de tilgangene dere gir oss, og alt vi bygger, forblir deres. Vi flytter ikke infrastrukturen deres inn i kontoer vi kontrollerer.
Vil endringene forstyrre de pågående lanseringene våre?
Nei. Endringene innføres steg for steg, som regel med et automatisert løp som ruller ut til et nytt testmiljø først. Produksjonen legges om når den nye prosessen har bevist at den fungerer.
Kan dere redusere hostingregningen vår?
Ofte, men hvor mye avhenger av hva dere har. Etter gjennomgangen får dere en liste over konkrete endringer med anslått besparelse for hver, og dere bestemmer hvilke som skal gjennomføres.
Setter dere opp CI/CD for mobilapper?
Ja: automatiske bygg, signering, tester og levering til TestFlight og testspor i Google Play, slik at testerne får hver versjon uten manuelle steg.
Hva er forskjellen mellom DevOps og serverdrift?
Serverdrift holder eksisterende servere friske: oppdateringer, sikkerhetskopier, overvåking. DevOps endrer hvordan produktet bygges og rulles ut. Mange kunder trenger begge deler, og de kan kombineres i én avtale.
Fortell oss om prosjektet deres
Beskriv oppgaven med noen få linjer. Innen én virkedag svarer vi med spørsmål eller en første vurdering av omfang og kostnad.
Foretrekker dere e-post eller en samtale?
welcome@revolsource.com
+38 097 662 23 20
Revol Software OÜ, Tallinn, Estland. Teamet vårt er distribuert over hele verden.
Bli med i teamet vårt
Send CV-en din til career@revolsource.com