Prestatiebeperkingen van een monolithische toepassing
Er zijn veel redenen waarom u ervoor kunt kiezen om de architectuur van een systeem te wijzigen. Operationele flexibiliteit, kosten, schaalbaarheid en prestaties zijn slechts enkele van de factoren die een rol spelen bij het bepalen van de architectuur van een systeem. In ons voorbeeld bekijken we hoe de prestaties een factor worden voor het droneleveringssysteem.
Naarmate het bedrijf voor dronelevering van Fabrikam groeit, neemt de systeembelasting toe. De huidige architectuur kraakt onder de belasting. Fabrikam wil betere flexibiliteit bieden bij het schalen van de toepassing die niet beschikbaar is in de huidige monolithische architectuur. Het verbeteren van de schaalbaarheid van de toepassing is een van de drijfveren voor Fabrikam om na te denken over het verplaatsen van hun toepassing naar een microservicesarchitectuur.
Het schalen van een monoliet versus microservices
Een van de belangrijkste voordelen van een microservicesarchitectuur is de verbeterde schaalmogelijkheden. Omdat services worden gescheiden, is het eenvoudiger om elke service afzonderlijk te schalen naarmate de belasting toeneemt.
We kunnen dit verschil in mogelijkheden in het droneleveringssysteem zien. Met een monolithische architectuur bevinden alle services zich in één exemplaar van de toepassing. Ze maken een API-interface beschikbaar voor klanten om leveringsaanvragen in te dienen en te beheren. Naarmate de aanvragen van klanten toenemen, neemt de belasting van het systeem toe. Er moeten meer resources worden toegewezen aan het systeem om negatieve gevolgen voor de gebruikerservaring te voorkomen.
In een monolithische architectuur vereist het afzonderlijk schalen van deze dienst ook het schalen van de resources voor de andere diensten, omdat ze zich binnen elke toepassingsexemplaar bevinden. Deze rangschikking is inefficiënt omdat belasting voor de andere services mogelijk minimaal is en niet het extra resourcegebruik vereist.
In een microservicesarchitectuur, omdat elke service afzonderlijk is, kunnen we de API onafhankelijk van de andere services schalen. Deze regeling verhoogt de efficiëntie omdat we de resources van onnodige services niet hoeven te verbruiken.
Uitdagingen met de monolithische architectuur van Drone Delivery
De pakketservice is geïdentificeerd als een essentieel onderdeel van het bedrijf en was oorspronkelijk onderdeel van de monoliet. Klanten nemen hun afhankelijkheid aanzienlijk toe en de prestaties worden negatief beïnvloed wanneer deze belasting toeneemt. Om deze situatie aan te pakken, heeft Fabrikam een ontwikkelingsteam toegewezen met volledige controle over dit onderdeel van het bedrijf. Het team is van plan om deze service te ontwikkelen en te herhalen en alleen verantwoordelijk te zijn voor alle aspecten van de pakketservice.
Omdat de pakketdienst zich in de monoliet bevindt, kan het team niet autonoom werken. Ze moeten vertrouwen op gedeelde gegevens en gegevensstructuren. Ze kunnen ook niet zo snel herhalen als ze nodig hebben. Naast de prestatie- en schaalbaarheidsproblemen wordt deze service geïdentificeerd als een belangrijke kandidaat voor een microservice.
Laten we eens kijken hoe Fabrikam hun toepassing kan analyseren en decompeteren om te profiteren van een microservicesarchitectuur.