microservices-enonic-xp

Innen programvaresystemarkitektur refererer “mikrotjenester” til applikasjoner som er organisert som en samling av separate tjenester – i motsetning til et monolittisk system der all funksjonalitet og kode er smeltet sammen.

Ved å være isolert kan mikrotjenester utvikles, oppgraderes og skaleres uavhengig. Dette muliggjør raskere og potensielt tryggere utvikling og endringer av store systemer i din organisasjon.

Fordelene med mikrotjenester er ganske enkelt å forstå, men hva kan Enonic-plattformen tilføre miksen? Vi skal se hvordan Enonic passer inn i ditt eksisterende mikrotjenestemiljø, og hvordan den kan gi ditt prosjekt både et rammeverk, runtime og datalagring.

Skybaserte mikrotjenesteplattformer

Moderne skyplattformer har utviklet seg fra grunnleggende beregnings- og lagringstjenester, og tilbyr nå et bredt spekter av plattformtjenester. Dette inkluderer databaser, tilstandshåndtering, lastbalansere og containerorkestrering. Sistnevnte er kjernen i mikrotjenestearkitekturen.

Verktøy som Kubernetes og Docker gjør det enkelt for utviklere å pakke applikasjonene sine i en kjøretid, samt å distribuere og skalere dem dynamisk. Avhengigheter til ressurser – som lagring eller andre applikasjoner – opprettes og klargjøres dynamisk, basert på konfigurasjon.

En av de mer spesialiserte utviklingene på dette området, kalt ServerLess, lar deg til og med kjøre kode og skript uten bruk av containere.

Skybaserte plattformer gir en høy grad av fleksibilitet når det gjelder skalering, programmeringsspråk, runtime og lagringsalternativer. Ulempen er hovedsakelig knyttet til låsing til de ulike nisjetjenestene som tilbys av leverandørene – selv om de ofte kan gjøre livet ditt enklere.

Enonic bruker apper

Enonic gir utviklere både runtime og lagring, og er på mange måter en mikrotjenesteplattform i seg selv. I stedet for å snakke om mikrotjenester, bruker Enonic begrepet apper. I motsetning til skybaserte plattformer som krever klarering, får Enonic-apper umiddelbart tilgang til Enonics plattformtjenester som lagring og søk.

Enonics kjøretid er i stand til å kjøre flere apper i en enkel instans. Denne fleksibiliteten muliggjør modulering av en enkelt “mikrotjeneste”. Det gir også bedre utnyttelse av underliggende infrastruktur, da du ikke trenger å tildele nye databehandlingsressurser for hver nye app du distribuerer.

Akkurat som mikrotjenester, muliggjør apper isolasjon og modularitet, noe som betyr at apper kan installeres, kjøres og stoppes individuelt. Med Enonics runtime kan dette til og med gjøres uten å stoppe selve runtimen. Når plattformen kjører, kan du kjøre et stort antall apper, uten å måtte starte nye containere for hver eneste en.

Se også: Mikrotjenester: Forventninger vs. virkelighet »

Få fortgang på utviklingen med Enonic

Enonic tilbyr et kommandolinjegrensesnitt (CLI) for Mac, Linux og Windows som lar deg installere programvareutviklingssettet (SDK) og bygge din første app på minutter.

Enonic tilbyr også et serverside-JavaScript-rammeverk som er lett å forstå og bruke. Som webens språk er JavaScript noe enhver webutvikler kjenner til. Dette sikrer en rask læringskurve og kort tid til produktivitet.

På grunn av Enonic-plattformens natur er kontinuerlig levering en selvfølge. Som et resultat kan utviklerne dine sømløst integrere Enonic-apputvikling i eksisterende verktøy og distribusjonspipelines.

Lagre og søke

Enonic tilbyr en kraftig NoSQL-lagring med integrert søk. Den unike og kraftige dokumentorienterte datalagringen er bygget på den raske og robuste søkemotoren Elasticsearch.

Enonics datalagring lar deg ta vare på, sikre, indeksere, søke og få tilgang til data av praktisk talt alle slag, på en rask og effektiv måte. Denne funksjonen er viktig når du håndterer flere apper og tjenester som får tilgang til data samtidig.

Les mer om datalagringsfunksjonene i vår lagringsdokumentasjon.

Enonic og containere

Så, hvordan passer Enonic inn i en eksisterende containerorkestreringsarkitektur? For det første bidrar Enonic med standard docker-bilder, samt distribusjoner for de mest populære operativsystemene – Linux, Mac OS og Windows. Enonic kan kjøre i hvilken som helst sky eller lokalt.

I motsetning til containerplattformer håndterer ikke Enonic skalering selv, og det er her de to løsningene samarbeider perfekt. Ved å plassere Enonic inn i en plattform som Kubernetes, får du fordelene av begge verdener. Nå kan du automatisk konfigurere, skalere og dyrke ditt Enonic-cluster – mens du nyter fordelene av Enonics enkelhet og kraftige funksjoner, som CMS-et.

Akkurat som enhver annen mikrotjeneste kan Enonic-containere konfigureres til å få tilgang til andre mikrotjenester, og omvendt. Med andre ord passer Enonic sømløst inn i en moderne arkitektur, mikrotjenestestrategi og Kubernetes-verden.

Enonic er ikke designet for å erstatte din eksisterende arkitektur eller investering, men heller å utfylle den.

Lær mer: Mikrotjenester: Hva betyr det for suksessen til ditt digitale prosjekt?

Innhold og CMS

CMS-grensesnittet til Enonic – Content Studio – er helt valgfritt og er bygget på toppen av Enonic-kjernen. CMS-et gir funksjonalitet for å produsere og levere redaksjonelt innhold til dine nettsteder og tjenester. Hvis redaksjonelt innhold er nødvendig for din organisasjon, gjør Enonic prosessen enkel.

Enonic begynner virkelig å skinne når du bruker alle kjernefunksjonene kombinert, inkludert lokalisering, søk, frontend-rammeverk, og mer – som vist i denne illustrasjonen:

Enonic Platform Components

Når du ikke bør bruke Enonic

Selv om Enonic er en kraftig innholdsplattform, kan den ikke være alt for alle på én gang. Derfor er ikke Enonic alltid den optimale løsningen for ditt prosjekt. For eksempel, hvis du ikke trenger å lagre data, eller applikasjonen din ikke er relatert til web, er Enonic sannsynligvis ikke plattformen du trenger.

Hvis containere og mikrotjenester ikke er din greie til å begynne med, kan Enonic selvfølgelig distribueres i mer tradisjonelle infrastrukturer.

***

Med de rette forberedelsene og overveielsene vil Enonic ikke bare passe inn i din eksisterende mikrotjeneste og containerarkitektur – det vil styrke og forsterke den. Ved å tilby både en runtime, CMS og en lagringskomponent, gir Enonic deg alle fordelene av en fullverdig digital opplevelse sammen med dine mikrotjenester.

Vil du dykke enda dypere? Les vår dokumentasjon om arkitektur og distribusjonsstrategier.

Registrer deg for Enonic Cloud

Først publisert 18. september 2019, oppdatert 19. desember 2022.

Relaterte blogginnlegg

Få enda mer innsikt 🤓