Teknologien bak SUT-bloggen

SUT-bloggen ble satt opp i forbindelse med vår utprøving av sky teknologi, og nærmere bestemt google cloud. Kravene var i utgangspunktet ganske enkle. Vi ønsket oss noe som var enkelt å bruke, lettvekt, og som krevde minimalt med arbeid å installere og drifte.

Noen har lurt på hvorfor denne bloggen ikke ligger på vår egen bloggplattform blogg.hioa.no. Årsaken er todelt. For det første er bloggplattformen et større rammeverk som krever mye drifting og vedlikehold og er rettet mot ikke-tekniske sluttbrukere. Vi ønsket noe som ikke krever nevneverdig vedlikehold, og er fokusert mot tekniske brukere. Den andre delen, er at vi stadig har et behov for å holde oss oppdatert, og teste ut ny teknologi. Her har vi altså slått to fluer i en smekk. Vi har opprettet bloggen vår, og samtdig fått testet ut ny teknologi. Verdt å nevne her er skytjenester, docker, kubernetes, og micro-tjenester.

Digipost?

Digipost har et veldig godt utviklingsteam, deler store mengder kode fritt, har rask respons og kommuniserer godt med kundene sine. Digipost har et utviklingsmiljø som, i hvertfall jeg personlig vil fremheve som noe å se opp til.

Digipost har en slags "blogg", som de kaller labs, hvor de oppfordrer til toveiskommunikasjon mellom dem selv og kundene. Her er blogging, idémyldring, tilbakemelding, og delvis kundeservice blandet sammen til en herlig salat. Og det funker. Godt.

Og digipost har delt koden til labs på github, under Apache 2.0 lisens. Perfekt. Eller? Labs benytter en del teknologi som undertegnede ikke har noe særlig erfaring med, og som ingen i den umiddelbare nærhet har særlig erfaring med heller. Etter å ha lastet ned labs, kjørt gjennom installasjonsveiledningen, og løst noen små problemer som oppstod underveis, satt jeg igjen med en tom side med menyen til digipost, med unntak av innloggingsknappen, og et søkefelt. Ikke noe mer.

Labs er ikke produksjonsklart for eksterne. Ei heller er det kjapt og greit å ta i bruk for eksterne utviklere. Her har nok digipost teamet lagt ut koden, uten tilpassinger til eksternt bruk. Og det er ikke noe galt i det. Jeg ville gjort det samme. Men det krever også mer av meg, enn hva som er mulig for dette prosjektet. Teknologien som skal læres om her er google cloud, og kubernetes, ikke tilfeldige front-end og back-end teknologier.

Oppsumert, så ble labs valgt bort da vi som minimum måtte ha satt oss nok inn i koden til å implementere en egen innloggingsfunksjon, og dockerifisert koden, før vi kunne ta det i bruk.

Ghost

Neste mulighet var Ghost. Denne har jeg hatt liggende på min eviglange "teknologi jeg har lyst å undersøke" liste i flere år etter at jeg fikk tips om den fra en venn. Ghost er en bloggplattform bygget på moderne teknologi, som gjør noe så sjeldent som ikke forsøker å være noe annet enn en blogg. Den tilbyr det du trenger for en blogg, og ikke noe mer. Og det er en helt bevist filosofi fra utviklerene som står bak. Den er rask, lettvekts, og krever veldig lite både med tanke på oppsett, vedlikehold og ferdigheter. Og om man ikke ønsker å måtte gjøre noe som helst selv, så kan man kjøpe et ferdig oppsett klart i skyen (men det vil jo naturligvis ikke vi).

Ghost har et minimalistisk grensesnitt, uten masse mikkmakk. Er lett å bruke, lett å installere, lett å vedlikeholde, og forholdsvis lett å utvide og tilpasse, så fremt man har noe kunnskaper om moderne javascript-rammeverk. Man skriver innlegg i markdown. Jeg er jo som kjent en stor tilhenger av at skriftlig informasjon skal ligge i enkel og oversiktelige tekstfiler med minimalistisk markup, og da passer markdown utmerket. Særlig siden man nok må lete lenge etter en utvikler i dag som ikke har vært borti markdown på et eller annet tidspunkt.

En annen stor fordel er at Ghost er fullstendig API drevet. Dette betyr at i utgangspunktet kan all informasjon fra Ghost hentes over et API, og at alt man gjør i Ghost i teorien også kan gjøres fra andre steder over API-et. Utvidelser, integrasjoner og lek med systemet skal derfor være svært tilgjengelig. Og med hovedansvaret for Liferay, og dermed integrasjoner av alskens systemer, så er integrasjonsmuligheter alltid noe av det første jeg ser etter.

Best av alt så finnes det offisielle docker-images av ghost. Dermed passer den utmerket til bruk i skyen og i kubernetes. Dere vet sikkert at jeg er stor tilhenger av Docker og synes at hele verden skal dockerifiseres. Faktisk så tok det ca 15 minutter fra jeg tittet på nettsiden til Ghost, til jeg hadde en fungerende og kjørende instans av ghost i google cloud. Og det er imponerende. Det som tok til var å få dyttet inn Let's encrypt og TLS-terminering foran. Og det tok lang tid. Men det er en historie for en annen dag.

Disqus

Som nevnt er Ghost en blogg, hverken mer eller mindre. Men vi ønsker en to-veis dialog. Det leserene våre har å si er for oss minst like viktig som hva vi ønsker å si. Derfor har vi som et eksperiment lagt til kommentarfunksjoner gjennom Disqus. Dette er et eksperiment. Vi evaluerer hvor bra det fungerer, og vurderer deretter om vi skal fortsette med Disqus eller finne et alternativ.

Kort oppsummert

Teknologien bak SUT-bloggen er: