Hvordan vi flyttet Docs & Folders til Google Cloud Platform

Da The Cloud People først startet opp, den gang som Symfoni Next, var et av hovedproduktene virksomheten baserte seg på et dokumenthåndteringssystem, kjent som Docs & Folders, eller Symfoni Suite. Symfoni Suite kjørte den gang på virtuelle maskiner på VMWare. Hver kunde hadde sin egen Docs & Folders instans og sin egen database. Det betydde en instans per kunde, hvor kundens database ble driftet på en separat server. Alt dette gjorde løsningen kostbar på grunn av alle ressursene som krevdes, og vanskelig å vedlikeholde.

På grunn av dette begynte vi å lete etter andre driftsalternativer, og Google Cloud Platform virket som et riktig og godt valg. Fordelene ved plattformen er mange;

  • Bedre prising enn konkurrentene. Google Cloud Platform introduserer fakturering per sekund, som betyr at brukeren ikke betaler for mer enn det som brukes
  • Google’s «Private Global Fiber Network». Kommunikasjonen skjer over Googles’ egne, private nettverk og ikke over internett
  • Økt ytelse
  • Bedre sikkerhet
  • Muligheter for ytterligere fremtidig utvikling
  • Pålitelige backups

Videre bestemte vi oss også for å omforme løsningen fra en monolittisk arkitektur til å bruke microservices i Docker containere. Å bruke et orkestreringssystem som Kubernetes virket som et godt alternativ. Av denne grunn valgte vi å utforske og utnytte egenskapene Google Kubernetes Engine på Google Cloud Platform kunne tilby.

Google Kubernetes Engine er en pålitelig, effektiv og sikker måte å kjøre Kubernetes clusters på. Et Kubernetes cluster på GCP er basert på instanser på Compute Engine. (Lenger nede kan du få en idé om hvordan løsningen Docs & Folders ble driftet.)

Applikasjonen

I Kubernetes kan containere kobles sammen til større komponenter, kalt pods. Vi brukte en pod for hver enkelt kundes instans, som består av forskjellige containere for vår hovedapplikasjon og de ulike mikrotjenestene (som e-post, dokumentkonvertering, etc.). Databasen ble plassert på en annen pod i samme cluster, med mulighet for å flytte denne til Cloud SQL i fremtiden. Google Cloud Kubernetes ga muligheten til å gjøre løsningen svært skalerbar og eliminerte de bekymringene en administrering av master node i Kubernetes måtte gi. Gjennom Kubernetes fikk vi også utnyttet fordelen av «ingress controllers» ved eksponering av vår tjeneste, noe som tilførte et ekstra lag med sikkerhet og skalerbarhet (fordi ingress kunne tilby lastbalansering og SSL-terminering).

Data

Det ble besluttet at hver kundes data skulle bli lagret på en separat persistent disk som ble koblet på hovedløsningen, mer spesifikt SSD disker for økt ytelse sammenlignet med standard persistente disker.

Backup

GCP tilbyr backup av disker i form av snapshots av en persistent disk, slik at du kan gjenopprette systemet til en tidligere tilstand dersom det skulle bli nødvendig. Før Cloud Scheduler ble introdusert brukte vi Kubernetes custom resource definisjon og Kubernetes cronjobs for å automatisere snapshots av disker. Backups av databaser kunne også bli lagret i Google Cloud Storage buckets. Vi måtte velge den beste lagrings-klassen for våre buckets, og gikk til slutt for Nearline. Vi la også inn livssyklusregler, som betød at vi kan bestemme at en backup skal slettes etter et visst antall dager. Denne funksjonen er en av mange fordeler en tjeneste administrert av Google Cloud Platform gir, og reduserer tid brukt på manuell behandling/prosessering.

Etter å ha flyttet vår løsning til GCP har våre kunder opplevd mindre nedetid, bedre service og redusert tiden brukt på vedlikehold av tjenesten.

Er du interessert i å flytte tjenesten dine fra ditt gamle vertsmiljø og inn i en moderne infrastruktur, og samtidig utnytte fordelene med Google Cloud Platform? Kontakt oss på sales@thecloudpeople.com.