Inhoudsopgave:
Hoewel microservices niet bepaald een nieuw concept of praktijk zijn, hebben ze de ontwikkeling van software op veel manieren opnieuw gedefinieerd. Microservices kunnen monolithische toepassingen vervangen en zijn beter afgestemd op de veranderende bedrijfsbehoeften van ondernemingen. Een typische monolithische applicatie is een zelfstandige softwareapplicatie waarin alle componenten nauw met elkaar zijn verbonden. Als onderdelen om welke reden dan ook worden beïnvloed, heeft dit gevolgen voor de hele applicatie. Een wijziging in één component kan bijvoorbeeld een volledige systeemregressie en een volledige implementatie vereisen. Monolithische applicaties worden gezien als inflexibele systemen en bedrijven besteden veel middelen om dergelijke applicaties te onderhouden. Microservices blijken daarentegen wendbaarder en flexibeler te zijn. Het zijn kleine, onafhankelijke en herbruikbare services die kunnen worden aangepast en onafhankelijk worden ingezet. Hierdoor kunnen ondernemingen veel investeringen besparen. Hoewel niet kan worden gezegd dat microservices universeel worden gebruikt, zijn er al enkele bemoedigende casestudy's. (Zie Autonomische systemen en mensen verheffen van middleware zijn voor meer informatie over technologietrends.)
Wat zijn microservices?
Microservices is een architecturale stijl van het ontwikkelen van een enkele softwareapplicatie met een combinatie van kleine, onafhankelijke services. Het idee is om elke service op een geïsoleerde manier te laten werken of wijzigen, zodat, anders dan in het geval van monolithische applicaties, de hele softwareapplicatie niet wordt beïnvloed door de update. Elke service heeft zijn eigen processen en communiceert in een lichtgewichtmechanisme - vaak met behulp van een HTTP-resource-webservice.
Om de functies van microservice-architectuur te begrijpen, kan het relevant zijn om deze te vergelijken met monolithische softwaresystemen. De volgende tabel geeft de belangrijkste verschillen tussen softwaresystemen voor monolithische en microservices.