Hjem Udvikling Mikroservices rolle i moderne softwareudvikling

Mikroservices rolle i moderne softwareudvikling

Indholdsfortegnelse:

Anonim

Mikroservices, skønt ikke nøjagtigt et nyt koncept eller praksis, har omdefineret softwareudvikling på mange måder. Mikroservices har potentialet til at erstatte monolitiske applikationer og er mere tilpasset virksomhedernes ændrede forretningsbehov. En typisk monolitisk applikation er en selvstændig softwareapplikation, hvor alle komponentdele er tæt forbundet med hinanden. Hvis nogen af ​​komponenterne påvirkes af en eller anden grund, påvirkes hele applikationen. For eksempel kan en ændring i en komponent nødvendiggøre en fuld systemregression og en fuld installation. Monolitiske applikationer betragtes som ufleksible systemer, og virksomheder bruger mange ressourcer på at vedligeholde sådanne applikationer. Mikroservices på den anden side viser sig at være mere smidige og fleksible. Det er små, uafhængige og genanvendelige tjenester, der kan ændres og uafhængigt implementeres. Dette gør det muligt for virksomheder at spare en masse investeringer. Selvom det ikke kan siges, at mikroservices bruges universelt, er der allerede nogle opmuntrende casestudier. (For mere om teknologitendenser, se Autonome systemer og Elevating Humans from Middleware.)

Hvad er mikroservices?

Microservices er en arkitektonisk stil for at udvikle en enkelt softwareapplikation med en kombination af små, uafhængige tjenester. Ideen er at være i stand til at arbejde eller ændre hver tjeneste på en isoleret måde, så i modsætning til i tilfælde af monolitiske applikationer, påvirkes ikke hele softwareapplikationen på grund af opdateringen. Hver service har sine egne processer og kommunikerer i en letvægtsmekanisme - ofte ved hjælp af en HTTP-ressourcewebtjeneste.

For at forstå funktionerne i mikroservicearkitektur kan det være relevant at sammenligne det med monolitiske softwaresystemer. Følgende tabel viser de vigtigste forskelle mellem monolitiske og mikroservicesoftwaresystemer.

Mikroservices rolle i moderne softwareudvikling