
Våre teknologiske mål for 2018
I Levelup 🔥vi for teknologi, derfor er det veldig passende at første blogg-posten vår på Medium er direkte relatert til det!
Under har vi laget en liste over våre teknologiske mål for 2018. Det er allerede september nå som denne posten blir skrevet, så tiden igjen av året er knapp. Til tross for dette har vi satt ambisiøse mål — som vi skal nå.
1. Migrere til Kubernetes
Kubernetes er en “open-source” løsning startet av Google. I omlag 15 år har Google jobbet med systemer for å håndtere container-baserte systemer, og Kubernetes er bygget på topp av denne metodikken.
De siste månedene har vi testet ut Kubernetes, og vi ser allerede store fordeler. Noen av disse er:
Mulighet for å konfigurere infrastrukturen i scripts
Kubernetes fungerer som en abstraksjon for håndtering av tjenester som:
- Publisering av container-basert kode
- Nettverk
- Disk-ressurser
- Cron-jobber
- Aksesskontroll
- …og mye annet
Å kunne konfigurere dette med scripts gir oss mer kraft. Skulle et Kubernetes Cluster gå ned, så har vi ferdigdefinerte “manus” for å sette opp et nytt cluster med akkurat samme innstillinger.
Trygg utrulling av ny kildekode
Kubernetes spiller veldig godt sammen med CI/CD systemer som CircleCI. Når vi publiserer oppdatert kildekode til Github (Versjonskontroll systemet vårt), henter CircleCI siste versjonen av koden og patcher riktig pods i Kubernetes.
Dette kombinert med at vi kjører flere kopier av hver pod på en gang (sett med containers), gjør at vi kan ta ned en kopi og se om alt fungerer som det skal før vi ruller ut en komplett oppdatering.
∞ skalerbarhet
Kubernetes er designet med Google sine behov i tankene. På Kubernetes sin egen nettside står det:
Designed on the same principles that allows Google to run billions of containers a week, Kubernetes can scale without increasing your ops team. — Kubernetes.io
Teknologiuavhengihet
Ved å kjøre Docker baserte containere åpner vi for å kunne kjøre et mylder av ulike teknologier på en og samme server uten å overkomplisere administrasjonen av infrastrukturen. Dette legger til rette for at vi kan levere produkter og tjenester basert på ulik teknologi kostnadseffektivt uten å skape teknisk gjeld for oss selv.
2. Forbedre hastighet og ytelse
Et annet mål for 2018 er å øke ytelsen og hastigheten av alle våre systemer. Migrasjonen over til Kubernetes vil være et skritt i riktig retning, men vi har planer om å gjøre mer.
Utføre målinger
Før vi gjør større endringer vil vi gjøre målinger av alle våre systemer. Her kjører vi diverse stikkprøver som vil sette konkrete tall på nåværende ytelse og hastighet.
Utvidet caching
En av de “raskeste” måtene å øke ytelse på er å ha bedre caching. Vi skal systematisk gå igjennom alle våre systemer og gjøre nødvendige justeringer for å forbedre caching.
Komprimering
Når en nettside lastes, eller data blir kvernet på serverene så har størrelsen på dataen naturligvis mye å si. Vi skal utvikle rutiner som automatisk filtrerer bort unødvendig informasjon fra filer og datasett, samt komprimerer så godt det lar seg gjøre uten å true dataintegriteten.
Segregere arbeidsprosesser fra offentlige systemer
I dag kjører en god del av arbeidsprosessene våre på samme infrastruktur som offentliggjorte systemer. Dette gjør at de særdeles tunge arbeidsprosessene kan gjøre at offentliggjorte systemer responderer tregere. Dette vil bli løst ved å flytte arbeidsprosessene over til sin egen infrastruktur.
3. Utvide Levelup sitt API
Vi har siden starten hatt fokus på å utvikle Levelup sitt eget API. Ved å utvikle vårt eget API med fellesfunksjonalitet kan vi tilby våre kunder raskere og rimeligere utvikling av systemer.
Levelup-APIet består nå av funksjonalitet som:
- Epost utsendelser med maler
- Autentisering
- Videoprosessering
- Generelle filoperasjoner
- … og mer
I løpet av 2018 ønsker vi å legge til følgende funksjonalitet:
- Lagring av filer i Google Cloud Storage
- Transformering av filer i Google Cloud Storage (Resize, Crop, Optimize/Compromise)
Avsluttende tanker
Det er ikke mange månedene igjen av 2018, men vi skal komme i mål. Ved å nå de teknologiske målene vi har satt vil vi få en smidigere utviklingsflyt, bedre ytelse og hastighet for tjenestene våre og større pondus.
Du kan bli bedre kjent med oss og hva vi kan hjelpe deg eller din bedrift med på levelup.no.

