Status for mikrotjenester ifølge Temporal Technologies

0
146

Tony Baer (dbInsight)Skrevet af Tony Baer (dbInsight), medvirkende skribent Tony Baer (dbInsight) Tony Baer (dbInsight) Bidragende skribent

Tony Baer, ​​grundlægger og rektor af dbInsight, er en anerkendt brancheekspert i datadrevet transformation, som rådgiver cloud-dataplatformsudbydere om konkurrencemæssig positionering og produktkøreplaner. Hans kombinerede ekspertise inden for både ældre databaseteknologier og nye cloud- og analyseteknologier former, hvordan teknologiudbydere går på markedet i en industri, der gennemgår betydelig transformation.

Fuld biografi udgivet i Big on Data den 21. februar 2022 | Emne: Big Data

clock.jpg

< /p>

For slutbrugeren er det meningen, at cloud-native tjenester skal forenkle livet og give mere smidighed. Alligevel kan de for udvikleren gøre livet langt mere komplekst på grund af deres distribuerede natur. Blandt udfordringerne er styring af tilstand, noget der er anden natur for databaseudøvere, men ikke nødvendigvis app-udviklere. Det er den udfordring, som Temporal Technologies har påtaget sig ved at levere den statslige ledelse bag orkestreringen af ​​mikrotjenester og fortsætte, hvor servicenet som Istio stopper.

Forståeligt nok har du sikkert aldrig hørt om denne to år gamle virksomhed før, da dens sparsomme hjemmeside får virksomheden til næsten at se ud som om den stadig er stjålet. Men Temporal har flere dusin betalende kunder, blandt dem Datadog, Netflix, Instacart, Qualtrics, Box og andre. Og graver man tæt nok ned, kan man faktisk finde noget rigtig dokumentation. Og bare hvis vi glemmer at nævne det, har Temporal netop sikret sig en serie B-runde på $103 millioner.

Specifikt udpeger Temporal en snæver opgave: styring af mikrotjenesters tilstand. I betragtning af at mikrotjenester typisk tændes i højt distribuerede cloudmiljøer, er administration af tilstand beslægtet med koreografering af transaktioner i en masterless- eller multimasterdatabase. Det er en udfordring, som for eksempel Cassandra-udviklere godt ved. I databaser handler det om at balancere transaktionskonsistens med skrivetilgængelighed. I applikations- eller mikroserviceniveauet handler det om tilgængelighed, hvor kæden (i dette tilfælde computerknudepunkter, der hoster specifikke mikrotjenester) kun vil være så stærk som dens svageste led.

Administrationstilstand, som forpligter transaktioner, er nøglen til at sikre, at resultaterne er gyldige og aktuelle og for at forhindre systemet – uanset om det er en database eller applikation – fra at gå ned. For eksempel, når du hæver kontanter fra en bankautomat, er statens styring afgørende for at sikre, at transaktionen først gennemføres, når kontoen er blevet debiteret.

Behovet for at styre tilstand i distribuerede miljøer er meget kritisk, fordi der med flere bevægelige dele er en anstændig sandsynlighed for, at en af ​​dem vil fejltænde. Så alt, der kører på internettet eller i skyen, kræver teknik for fejl, der involverer failover og løsninger, så udfaldet af en enkelt node vil ikke nedbryde hele applikationen eller tjenesten.

I databaseverdenen var statsmotorer typisk indbygget; hvis du starter en database, behøver du ikke skrive din egen statsmotor. I AppDev-verdenen er det ikke tilfældet; udviklere skulle typisk skrive deres egne.

For mikrotjenester vil organisationer typisk skulle skrive deres egne statsmaskiner ud over applikationsco e. For Temporal customer Checkr, en tjeneste, der leverer online medarbejderbaggrundstjek, involverer en typisk arbejdsgang ofte en række på 50 – 60 – automatiserede og manuelle trin (hver af dem mikrotjenester), der henter data fra en lang række eksterne kilder. Der var masser af Kafka-køer til at jonglere med, skrive data til flere måldatabaser og derefter skrive logik for at flette resultaterne. Med en Temporal-server kunne de fokusere på appen i stedet for tilstandsmotoren.

Temporal karakteriserer sin løsning som “open source-platformen til at orkestrere yderst pålidelige, missionskritiske applikationer i skala.” For mikrotjenester lyder det ved første øjekast meget som, hvad servicemasker gør. Men servicemasker fungerer på infrastrukturniveau, skaber forbindelser og sikrer failover, hvis noder går ikke. I modsætning hertil fokuserer Temporal på et applikationsniveau og mere specifikt at kontrollere, om koden eller logikken i mikrotjenesten udføres, og hvis ikke, administrerer de løsninger, der omhandler kaskadeafhængigheder.

Problemet, som Temporal løser med mikrotjenester, er intet n w. Som nævnt ovenfor skal statsmotorer i AppDev-verdenen være skrevet som ekstern kode eller bundtet som en del af en ramme. Det er præcis det problem, som internetapplikationer også skulle løse, fordi nettet var statsløst, og det var det, der førte til dedikeret middleware eller app-servere til at håndtere processen med webapplikationer, hvor populært sprog som Java bar deres egne mekanismer til styring af tilstand .

Med Temporal gentager historien sig selv i mikroserviceniveauet. Dens state management serverteknologi kommer fra et fem år gammelt open source-projekt, der var udløbet af arbejde udviklet hos Uber. Den er bygget op omkring Temporal Server, en mikroservice-orkestreringsplatform, der sidder mellem computerservere og eksekverbar kildekode.

Det rejser det åbenlyse spørgsmål: hvis mikrotjenester er distribueret i naturen, vil eksekvering i distribuerede computermiljøer ikke central orkestreringsserver besejre formålet ved at indføre et enkelt fejlpunkt? Svaret er en ny “eksperimentel” multi-cluster asynkron replikeringsfunktion, der skulle give de nødvendige failover-funktioner. Når det kommer til transaktionsgarantier for mikrotjenester, er fremtiden stadig et arbejde i gang.

Big Data

Sync Computing har til formål at fortsætte, hvor serverløs stopper Nyt filformat hjælper forskere reducerer DNA-analysetid Google afslører differentielt privatlivsværktøj til Python-udviklere, der behandler data Rapport: IT-migrering til skyen rammer store forhindringer Cloud | Digital transformation | Robotik | Internet of Things | Innovation | Enterprise Software