Microservices zijn een populaire architectuurstijl geworden voor het bouwen van robuuste en zeer schaalbare en onafhankelijk implementeerbare cloudtoepassingen die snel met veranderende vereisten kunnen meegroeien. Om microservices meer dan een modewoord te laten zijn, is er echter een andere benadering gewenst bij het ontwerpen en ontwikkelen van toepassingen.
In deze serie artikelen wordt besproken hoe u een microservicearchitectuur kunt bouwen in Azure. Dit zijn een aantal van de onderwerpen:
- Opties voor berekenen voor microservices
- Communicatie tussen services
- API-ontwerp
- API-gateways
- Overwegingen bij gegevens
- Ontwerppatronen
Vereisten
Voordat u deze artikelen leest, kunt u bijvoorbeeld beginnen met het volgende:
- Inleiding tot microservicearchitecturen. Informatie over de voordelen en uitdagingen van microservices en wanneer u deze architectuurstijl kunt gebruiken.
- Domeinanalyse gebruiken om microservices te modelleren. Meer informatie over een op een domein gebaseerde benadering voor het modelleren van microservices.
Referentie-implementatie
We hebben een referentie-implementatie gemaakt om een aantal aanbevolen procedures voor een microservicearchitectuur te illustreren. Die implementatie hebben we de Drone Delivery-app genoemd. Deze implementatie wordt uitgevoerd in Kubernetes met Azure Kubernetes Service (AKS). Deze referentie-implementatie vindt u op GitHub.
Een Visio-bestand van deze architectuur downloaden.
Scenario
Fabrikam, Inc. begint met een service voor het leveren van pakketjes per drone. Het bedrijf beheert een hele vloot van drones. Bedrijven registreren zich bij de service en gebruikers kunnen dan een aanvraag indienen om pakketjes door een drone te laten ophalen. Wanneer een klant een datum en tijd opgeeft waarop het pakketje moet worden opgehaald, wordt er een drone toegewezen en de gebruiker op de hoogte gesteld van de geschatte levertijd. Terwijl de levering wordt uitgevoerd, kan de klant de locatie van de drone zien, met een doorlopend bijgewerkte verwachte aankomsttijd.
Deze oplossing is ideaal voor de luchtvaart- en vliegtuigindustrie.
Voor dit scenario is een tamelijk gecompliceerd domein een vereiste. Een aantal van de problemen die het bedrijf ondervindt, is het plannen van de drone-inzet, het traceren van pakketjes, het beheren van gebruikersaccounts, en het opslaan en analyseren van historische gegevens. Bovendien wil Fabrikam zijn toepassingen sneller op de markt kunnen afzetten en met een hogere frequentie, waarbij nieuwe functionaliteit en mogelijkheden worden toegevoegd. De toepassing moet op cloudschaal werken en een hoge serviceniveaudoelstelling hebben. Fabrikam verwacht ook dat de verschillende onderdelen van het systeem volledig verschillende vereisten hebben voor wat betreft gegevensopslag en het uitvoeren van query's. Op basis van al deze overwegingen kiest Fabrikam ervoor een microservicearchitectuur te gebruiken voor de toepassing Drone Delivery.
Notitie
Zie de Azure Application Architecture Guide (Gids voor de toepassingsarchitectuur in Azure) voor hulp bij het kiezen voor een microservicearchitectuur of andere architectuurstijlen.
In onze referentie-implementatie maken we gebruik van Kubernetes met Azure Kubernetes Service (AKS). Veel van de beslissingen en uitdagingen op hoog niveau zijn echter van toepassing op elke containerorchestrator.