Tijdens de eerste editie van het Dutch Umbraco Alliance Festival namen Lottie en Sebastian van Umbraco HQ de zaal mee door een jaar vol ontwikkelingen bij Umbraco. De rode draad van de sessie: bijna alles wat er dit jaar is gebouwd, is direct terug te voeren op feedback en initiatieven vanuit de community. Hieronder een overzicht van de belangrijkste updates.
Deze blog is geschreven voor IT professionals. In dit blog bespreken we enkele hoogtepunten. In deze blog geef ik een samenvatting van de verschillende sessies:
Updates vanuit Umbraco HQ
Waar staan we nu?
Umbraco 17 is nog altijd de actuele LTS-versie en blijft ondersteund tot december 2029. Umbraco 18 is de huidige STS-release. STS is een versie met een kortere tijd dat die ondersteund wordt. Wie nog op Umbraco versie 13 draait, moet nu echt actie ondernemen: die versie bereikt binnenkort end-of-life, tenzij je kiest voor een extended support contract. Naast de CMS-core is de productlijn dit jaar uitgebreid met twee nieuwe open source add-ons: Umbraco AI en Umbraco Automate. Het team benadrukt nadrukkelijk dat dit geen los zand is, maar een samenhangend portfolio dat echte, dagelijkse problemen van bureaus oplost.
Umbraco AI: AI op jouw voorwaarden
Umbraco AI is een optionele add-on bovenop Umbraco en is dit jaar flink doorontwikkeld: betere prompts, permissie- en contextbewuste tools en een stevigere basis voor testen en evalueren. Er zijn ook nieuwe providers toegevoegd, waaronder Alibaba.
De grootste toevoeging is Umbraco Copilot Workspace, momenteel als release candidate beschikbaar. Waar het bestaande AI-paneel alleen kan werken op de pagina die je op dat moment open hebt staan, biedt Workspace een volwaardige sectie met projecten, chats en resources, met een interface die opvallend veel weg heeft van Claude's eigen werkomgeving. Je kunt er meerdere content- en media-items aan toevoegen en er bijvoorbeeld de kwartaalcijfers aan diverse artikelen mee vernieuwen. Er zit ook bescherming ingebouwd voor redacteuren: eenvoudige acties zoals het aanmaken van een pagina vragen alleen een goedkeuring, maar bij het verwijderen of depubliceren van content moet je expliciet een bevestigingswoord intypen.
Deze functionaliteit is mede tot stand gekomen dankzij de Umbraco AI advisory board. Een mooi voorbeeld: community-lid Kenneth werkt samen met het team aan beeldgeneratie waarbij de image cropper niet alleen kan uitsnijden, maar ook content kan aanvullen, bijvoorbeeld een boom die "doorloopt" buiten de originele foto. Deze functie zit nog achter een feature flag.
Umbraco in AI: MCP-servers en agent skills
Naast AI ín Umbraco werkt het team ook aan Umbraco vindbaar maken vóór AI-tools. Er is inmiddels een (bèta) editor MCP-server, een SDK en vooral Create Umbraco MCP Server: een CLI-tool die pakketontwikkelaars stap voor stap helpt een volledige MCP-server te genereren voor hun eigen implementatie.
Op het gebied van agent skills zijn nu de Umbraco backoffice skills beschikbaar, met documentatie en skills die continu synchroon worden gehouden. Cloud skills volgen later. Ook komt er binnenkort hosted MCP in Umbraco Cloud, zodat je geen lokale MCP-server meer hoeft op te zetten en voor niet-cloud sites is er een open source variant.
Community-bijdragen die hierbij hielpen: Dean Lee bouwde het package UpDoc (documenten importeren als nodes) en stresstestte de MCP-servers grondig, waarbij hij waardevolle bugs vond. Matt Weiss, een van de oorspronkelijke auteurs van de Umbraco MCP-server, werkt aan een self-hosted variant via een Cloudflare worker én kreeg MCP werkend als CLI.
Umbraco Forms: het belang van issues melden
Een mooi eerbetoon ging naar Bjarne, die dit jaar 85 bugs meldde op de publieke issue tracker van Umbraco Forms, waarvan de meeste inmiddels zijn opgelost, plus 48 suggesties op de discussieborden. Als MVP kreeg hij toegang tot de broncode van de commerciële producten en diende hij vier pull requests in. De boodschap is duidelijk: alle commerciële Umbraco-producten hebben publieke issue trackers, dus houd feedback niet voor jezelf.
Umbraco Automate: community bouwt door
Sinds de release van Umbraco Automate zijn er nieuwe triggers bijgekomen vanuit Umbraco Forms, Umbraco Engage (A/B-testen, persona's) en Umbraco Commerce. Community-leden gingen er meteen mee aan de slag:
- Owain koppelde zijn blog automatisch aan LinkedIn, Bluesky en Mastodon.
- Paul Wright bouwde tijdregistratie, notificaties, QR-codegeneratie en zelfs een weer- en Lego-integratie.
- Erik Jan maakte generieke acties en een Cloudflare-integratie
- Warren bouwde een volledige Google Sheets-integratie.
Deze losse extensies worden nu gebundeld in een gezamenlijke community-repository, zodat iedereen er makkelijker gebruik van kan maken.
Umbraco Cloud: blokkades weggenomen
Een Zweeds bureau, Toxic Interactive, gaf via de nieuwe "cloud success team sessions" ongezouten feedback op Umbraco Cloud, met name over de navigatie in het cloudportaal. Dat leidt tot concrete verbeteringen:
- Scheduled upgrades: de backend hiervoor (in Umbraco cloud) ging vandaag live, zodat je straks zelf kunt kiezen wanneer je site gepatcht wordt.
- Alerts en notificaties: instelbaar op organisatie- en projectniveau, voor zaken als DDoS-aanvallen en deployment-fouten.
- Aanbevelingen/health checks: Umbraco Cloud gaat straks signaleren als je bijvoorbeeld betaalt voor iets dat je niet gebruikt, zonder dat automatisch aan te passen, wel om je bewust te maken.
- Artifact deployments & rolling updates (Q4): de langverwachte mogelijkheid om je eigen CI/CD-pipeline te gebruiken en naar Cloud te deployen zoals bij elke andere hosting provider. Dit staat al sinds 2019 op het verlanglijstje van community-lid Lennard en is nu eindelijk mogelijk. Early access is beschikbaar via aanmelding.
Umbraco 19: search en herbruikbare content
De bèta van Umbraco 19 komt in oktober, met twee grote nieuwe features: Umbraco Search wordt geïntegreerd in de CMS-core (bovenop Examine/Lucene.net) en maakt het mogelijk om eenvoudig te wisselen van search-engine, voorbeelden zijn al gebouwd voor Elasticsearch en Typesense. Nieuw zijn ingebouwde segmentatie, automatisch afgeschermde content, betere meertaligheid en zero-downtime index rebuilding: de nieuwe index wordt eerst volledig opgebouwd en getest en pas daarna live geschakeld. Community-input speelde hier een grote rol: De bouwer van Examine dacht mee over de vervanging, Acadius zorgde dat zero-downtime rebuilds uitschakelbaar zijn en Fernando overtuigde het team om documenten en media toch gescheiden te houden (met optie om te combineren).
De tweede grote feature heet uiteindelijk "Reusable Content of Blocks" (na wat interne verwarring over de naam). Je kunt blocks nu kiezen uit een centrale elementenbibliotheek: gerefereerde (globale) blocks zijn paars met een link-icoon, lokale blocks blijven blauw. Je kunt een lokaal block naar de bibliotheek overzetten (globaal maken) of juist loskoppelen (een lokale kopie maken zonder het globale element te wijzigen). Dit werkt in alle vier de block-editors: block grid, block list, de losse block editor en de rich text editor. Belangrijk: instellingen (zoals een achtergrondkleur) blijven altijd lokaal, alleen de content zelf is globaal. Ook hier weer community-vingerafdrukken: Miguel en Ravi stelden de naam "reusable blocks/content" voor, Lee Keller bedacht de term "library" (in plaats van "repository"), Robert vroeg om scoping per site zodat instellingen niet gaan "lekken" en Espen zorgde ervoor dat lokale overrides nooit automatisch globaal worden.
Packages en de kracht van bijdragen
Ook op pakketniveau blijft de community het CMS verrijken. Joe Glombek bouwde Umbicosaurus, een pakket met vriendelijke aliassen voor iconen (zoek op "paper" in plaats van "attachment"). Met zijn toestemming is dit sinds versie 17.4 in de core opgenomen, inclusief fuzzy search. Luuk Peters bouwde een package voor geavanceerde permissies en ontdekte daarbij inconsistenties tussen API en UI die vervolgens zijn opgelost en won bovendien de TikTok-competitie van het festival.
Tot slot
De kernboodschap van de sessie was minstens zo belangrijk als de featurelijst zelf: bijna elke verbetering die vandaag werd getoond, is voortgekomen uit een community-lid dat een issue meldde, een package bouwde, of gewoon hardop zei "dit klopt niet". Het team lanceert nu ook een nieuw initiatief genaamd "From Lurker to Leader": elke paar weken een inspirerend verhaal over iemands eerste stappen als contributor, bedoeld om mensen (met expliciete aandacht voor meer diversiteit) te stimuleren zelf ook bij te dragen.
Van AI-scepticus naar AI-advocaat: Luuk Peters over zijn workflow bij Proud Nerds
Tijdens het Dutch Umbraco Alliance Festival nam Luuk Peters, senior developer bij Proud Nerds in Nijmegen en oprichter van onder andere Advanced Permissions en Umbra Desktop, de zaal mee in zijn persoonlijke reis: van uitgesproken AI-scepticus naar iemand die nauwelijks nog zelf code schrijft. Een eerlijk en praktisch verhaal over wat er precies veranderde en hoe hij AI nu inzet, zowel individueel als binnen een heel bureau.
De scepticus
Luuk trapt af met een geruststellende zelfkarakterisering: hij houdt niet van verandering. Als bewijs voert hij zijn CV op, 21 jaar bij hetzelfde bedrijf (ondanks een fusie), begonnen met Visual Studio 2003 en nog altijd Visual Studio gebruikend en actief in Umbraco sinds versie 4, inmiddels toe aan versie 18. Hij omschrijft zichzelf als iemand die zijn manier van werken tot in de puntjes heeft geperfectioneerd: perfecte inspringing, XML-documentatie, het liefst geen pull request zonder inline documentatie. Zijn eerste kennismaking met AI, via GitHub Copilot op het werk, was dan ook een moeizame. Hij vertrouwde de suggesties niet, de Umbraco-broncode was simpelweg te groot en te complex voor de tool om goed te begrijpen en hij voelde zich voortdurend tegen de AI aan het vechten in plaats van ermee samen te werken. Toen Anthropic's CEO in maart 2025 voorspelde dat AI binnen twaalf maanden het merendeel van de code zou schrijven, geloofde Luuk er geen woord van.
Wat er veranderde
En toch: inmiddels schrijft hij nauwelijks nog zelf code en het kan hem niet eens meer schelen hoe die code er op microniveau uitziet. De omslag kwam er niet door een simpele conclusie, maar door een besef: hij houdt niet zozeer van code schrijven, hij houdt van het opleveren van coole features. Code schrijven was daarbij soms eerder een last dan een doel. Met Claude en specifiek Claude Desktop, zijn dagelijkse IDE naast Visual Studio, veranderde dat. Hij noemt drie concrete voordelen:
- Sparren en itereren: features brainstormen en makkelijk aanpassen ("verplaats die knop en pas alle bijbehorende code aan") zonder dat het de moeite niet meer waard voelt.
- Parallel werken: meerdere prompts tegelijk laten draaien, ook tijdens een meeting, met als enige minpunt de vijf-uurs sessielimiet van Claude, die je soms zomaar kunt verspillen.
- Grondiger onderzoek dankzij grotere context: hierdoor kan hij extensiepunten in Umbraco vinden zonder bestaande functionaliteit opnieuw te bouwen.
Dat laatste punt bracht hem letterlijk tot een nieuwe Umbraco plugin: Advanced Permissions. Een feature die al jaren op de roadmap stond maar er nooit kwam, omdat het permissiesysteem van Umbraco in complexe scenario's tekortschiet. Dankzij AI kon hij de broncode grondig genoeg doorgronden om het alsnog te bouwen en ontdekte hij er meteen een paar bugs in.
Hoe hij nu werkt
Luuk deelt een gedetailleerde blik in zijn workflow, met de kanttekening dat dit is wat voor hém werkt, niet een dwingend advies.
Context is koning. Hij verbindt Claude aan MCP-servers (GitHub, Azure DevOps, Azure, Confluence, Jira, Figma, Context7), maar waarschuwt dat elke actieve MCP tokens kost, ook ongebruikt. Verder werkt hij graag met lokale bestanden: de Umbraco-broncode staat lokaal op zijn machine, wat sneller doorzoekbaar is dan via GitHub. Umbraco skills noemt hij essentieel voor wie extensies bouwt.
Security serieus nemen. Omdat een AI-agent lokaal commando's kan uitvoeren, zeker in "autopilot"-modus, pleit hij voor het standaard beperken van toegangsrechten. Bij Proud Nerds is bijvoorbeeld expliciet geregeld dat een Azure-koppeling nooit een productiedatabase kan verwijderen: wat jij kunt, kan je AI-agent namelijk ook.
Plan, itereer, begrijp. Hij gebruikt de skillset Superpowers, die een gestructureerde workflow afdwingt: eerst een plan maken (als markdown-bestand), dat plan grondig doornemen en vooral, echt begrijpen wat er gebouwd gaat worden. Zijn devies: behandel de AI-agent als een collega. Vraag door als het een bepaalde tool of aanpak voorstelt ("waarom deze tool, waarom niet die drie andere?"), zodat de AI gedwongen wordt zijn keuzes te onderbouwen. Het plan opslaan op schijf (niet alleen in de sessie) is daarbij cruciaal, zodat kennis niet verloren gaat als een sessie wordt gearchiveerd.
Bouwen met een review-loop. De AI extensie Superpowers werkt met sub-agents die elk hun eigen, onbevooroordeelde context krijgen voor een specifieke taak, gevolgd door een review-agent en een orchestrator die alles overziet. Test-driven development is daarbij een vast onderdeel: eerst een falende test schrijven, dan pas implementeren, slaagt de test meteen, dan is er vermoedelijk iets mis met de test zelf.
Pull requests door een andere bril. Luuk laat PR's het liefst beoordelen door een ander model of een verse sessie, onbevooroordeeld door eerdere context. Hij bouwde er zelfs een eigen skill voor, die op basis van de complexiteit en het risico van een PR bepaalt hoe diepgaand gecontroleerd moet worden, bij de hoogste controle-diepte wordt de hele repository gebouwd en getest. De menselijke check blijft volgens hem onmisbaar, niet om elke regel code te controleren, maar om overkoepelende architectuurkeuzes te toetsen en te herkennen wanneer AI iets herbouwt dat al bestaat als package of helper.
Opschalen naar bureauniveau
Bij agencyprojecten met meerdere developers komt er een extra laag bij: iedereen werkt anders, heeft een ander ervaringsniveau en kennisoverdracht is essentieel. Proud Nerds bouwt daarom een eigen skillset die bepaalt hoe user stories, checklists, PR-richtlijnen en codestandaarden eruit moeten zien, bijvoorbeeld de eis dat acceptatiecriteria altijd functioneel (niet technisch) worden geformuleerd en volledig herleidbaar zijn uit de beschrijving.
Bij een groter, modulair klantproject (met meerdere pricing tiers) begon het allemaal met Architecture Decision Records (ADR's) als allereerste commit in de repository, nog vóór er een regel code was geschreven. Deze vastgelegde keuzes, plannen en user stories geven de AI vervolgens het grotere plaatje mee bij elke volgende taak, waardoor het zelfs kan signaleren wanneer nieuw werk niet meer overeenkomt met een bestaande user story.
Neemt AI je baan over?
Luuks antwoord: nee, niet op dit moment, met een sterretje. Hij vergelijkt de omslag met eerdere technologische sprongen: van assembly naar hogere programmeertalen, het vertrouwen dat we inmiddels in compilers hebben, de komst van Photoshop. AI is een tool, geen vervanging van het vak. Softwareontwikkeling ging volgens hem nooit alleen over code, maar over het begrijpen van de vraag van de klant, het kiezen van het juiste gereedschap voor de klus en gevoel voor UX.
Als voorbeeld noemt hij Umbra Desktop: een volledig met AI gebouwd package waarvan hij zelf geen regel code schreef, maar waarbij al het UX-denken en de designkeuzes wél van hem kwamen. Zijn advies aan de zaal: ken de tool, gebruik de tool en bepaal zelf bewust waar en hoe je AI wilt inzetten in je werk, wie dat nú niet doet, loopt op termijn wél risico.
Microsoft Aspire: hoe je local development weer leuk maakt
Thimo Koolen, .NET software consultant en regelmatig spreker op dit soort events, nam de zaal tijdens het festival mee in de wereld van Microsoft Aspire. Zijn boodschap: de meeste software is complex en dat begint al bij het simpelweg opstarten van een project op je eigen laptop.
De pijn die iedereen herkent
Thimo opent met een herkenbaar scenario: je sluit aan bij een nieuw team of project, krijgt een laptop en account (met een beetje geluk werkt alles al op dag één), kloont de repository, opent je IDE naar keuze en dan zoek je naar het README-bestand. Soms is dat compleet, vaak is het verouderd, mist er iets, of is er gewoon geen README.md. Onboarding kan hierdoor letterlijk weken kosten. Thimo vertelt over een oud, complex legacy content framework waarbij het alleen al meer dan een week kostte om lokaal aan de praat te krijgen.
En het stopt niet bij onboarding. Werk je aan een applicatie met acht services, dan heb je al snel acht terminals open staan. De API crasht omdat de database nog niet is opgestart. Poorten zijn al in gebruik en moeten handmatig beheerd worden. Je docker-compose bestand groeit uit tot een onleesbaar YAML-monster. Connection strings staan hardcoded en verspreid door de codebase. En dan is er nog wat Thimo treffend "service hiding" noemt: service A heeft service B nodig, maar op welke poort draait die ook alweer? Debuggen over meerdere services heen wordt al snel een crime.
Wat is Aspire eigenlijk?
Thimo's definitie: Aspire is een polyglot orchestration tool waarmee je applicaties lokaal kunt definiëren, draaien en distribueren met één enkel commando.
- Polyglot betekent dat .NET, Python, JavaScript, TypeScript, Rust en containers naadloos samenwerken, sinds Aspire 13 (uitgebracht afgelopen november, gelijktijdig met .NET 10) nog gemakkelijker dan voorheen.
- Orchestratie houdt in dat alle services in de juiste volgorde opstarten, rekening houdend met onderlinge afhankelijkheden en dat ze elkaar automatisch kunnen vinden.
- Lokaal betekent: op je eigen laptop.
- Eén commando is letterlijk dotnet run of aspire start.
Interessant genoeg had het Aspire-team, toen ze twee jaar geleden begonnen, al vroeg gekozen voor een CLI, nog voordat MCP en AI-agents echt op de kaart stonden. Die vooruitziende blik betaalt zich nu uit: sinds versie 13.5 luidt de definitie dan ook "agent-ready, code-first tool for composing, debugging and deploying distributed applications." Agent-ready wil zeggen dat Aspire een MCP-server en skills aanbiedt waarmee AI-agents er goed mee overweg kunnen. Code-first betekent: geen YAML meer, alles in C# (of sinds kort ook TypeScript).
De bouwstenen van Aspire
Thimo verdeelt de out-of-the-box onderdelen in twee blokken:
Dashboard & observability, gebaseerd op OpenTelemetry, de open standaard die door vrijwel elk modern observability-platform (zoals Application Insights) wordt ondersteund. Het dashboard fungeert als centrale UI voor logs, traces, health status en meer.
CLI & tooling, de Aspire CLI werkt met Visual Studio, Rider, VS Code, of eigenlijk elke omgeving die .NET draait. Daarnaast zijn er service defaults: een .NET-project met verstandige standaardinstellingen voor health checks, resilience en service discovery. En centraal staat de app host: het orchestratieproject dat de architectuur van je applicatie beschrijft, welke services er zijn en hoe ze samenhangen.
Verder biedt Aspire kant-en-klare integraties voor populaire diensten zoals SQL Server, Redis en RabbitMQ, deze NuGet-packages spinnen automatisch de bijbehorende container op. Er zijn ook community-integraties beschikbaar en je kunt er zelf een bouwen als iets niet bestaat.
Wat Aspire niet is
Thimo is duidelijk over de grenzen van de tool:
- Geen vervanging voor Kubernetes. Aspire richt zich vooral op lokale ontwikkeling; deployment is mogelijk naar meerdere targets (waaronder Kubernetes en, als standaard, Azure Container Apps), maar dat is niet de kern.
- Niet alleen voor .NET. De app host is nog wel C# of TypeScript, maar de services zelf kunnen in vrijwel elke taal geschreven zijn.
- Geen fancy docker-compose. Het is echte code, met strong typing en het maakt gewoon onderdeel uit van je normale code review-proces.
- Niet voor productiemonitoring. Het dashboard bewaart alles in-memory. Voor productie gebruik je iets als Grafana of Application Insights.
- Geen alles-of-niets-verhaal. Je kunt met één service beginnen en incrementeel uitbreiden, of stoppen als het niet past.
Zo werkt het onder de motorkap
In een voorbeeld-app host laat hij zien hoe je met een DistributedApplicationBuilder een Postgres-database, een API en een Vite-frontend aan elkaar knoopt. Een referentie tussen services regelt automatisch de service discovery: de API "weet" van de database en krijgt er een connection string voor en de frontend wacht (WaitFor) tot de API healthy is voordat hij zelf opstart.
Dit werkt allemaal via environment variables die de app settings overschrijven. De app host start bijvoorbeeld eerst SQL Server op, genereert daarna een connection string en injecteert die automatisch in de juiste service. Kortom: je app host is een blauwdruk van je distributed application, leesbaar in plain C#, zodat iedereen in het team precies ziet hoe alles samenhangt.
Waar Aspire uitblinkt (en waar niet)
Sterke punten:
- Lokale ontwikkeling en onboarding worden drastisch eenvoudiger, clone, open, druk op F5 (in Visual Studio).
- Polyglotte teams (bijvoorbeeld Python-backend, JavaScript-frontend, .NET-API) werken naadloos samen dankzij ingebouwde service discovery.
- Cross-service debugging, vooral met de Aspire-plugin in VS Code.
- Uitstekend voor wie microservices wil leren, het werkt bijna als een sandbox.
- Sterke lokale Azure-integraties (denk aan de Azure Storage-emulator).
- Zorgt voor teamalignment: iedereen kijkt naar dezelfde blueprint.
Minder geschikt voor:
- Een simpele monoliet, dan is Aspire waarschijnlijk overkill.
- Niet-gecontaineriseerde afhankelijkheden zoals lokale bestandssystemen of native tools.
- Teams die niet primair met C# of TypeScript werken.
- Productiemonitoring.
- Legacy .NET Framework-toepassingen (Aspire draait op Kestrel, dus alles wat alleen via IIS werkt, valt af).
- Zeer aangepaste of dichtgetimmerde infrastructuur.
Zoals Thimo het samenvat: Aspire kan een force multiplier zijn, maar dan moet je wel met meer dan één vermenigvuldigen.
De demo: een pretparkwebsite
Om alles concreet te maken bouwde hij live een demo rond een fictief pretpark ("Artheua Resort"). In het dashboard zijn alle resources zichtbaar: een SQL Server-database (met een wachtwoord-parameter die veilig in user secrets wordt opgeslagen en een volume voor persistent data zodat de container niet steeds opnieuw hoeft op te starten), een Redis-cache voor operationele data, een .NET API en een Umbraco-frontend.
In Umbraco maakte hij twee document types: een homepage en een "attraction" content type met onder meer een minimumlengte en angstniveau (van de attractie). De attractiepagina haalt data op van zowel Umbraco als de losse operations-API, waarbij wachttijden voor attracties live worden bijgewerkt via een custom command in het dashboard.
Het echte hoogtepunt was de OpenTelemetry-integration: in het dashboard zag je precies hoe een request door de verschillende services liep, inclusief exacte doorlooptijden (23 milliseconden, tot hij voor demo-doeleinden bewust 2 seconden vertraging toevoegde). Met een zelfgebouwde "simulator" liet hij wachttijden voor attracties realistisch fluctueren, van een rustige ochtend tot een drukke piekdag, zichtbaar via custom metrics en traces, inclusief attractie-ID en scenario-informatie die rechtstreeks in de telemetrie werd meegegeven. Technisch gezien draait dit alles op de standaard service defaults (OpenTelemetry, health checks, service discovery, resilience via HTTP client defaults) gecombineerd met een strongly-typed HTTP-client die dankzij de http+https-notatie automatisch de juiste beschikbare verbinding kiest.
De belangrijkste lessen
Hij sluit af met drie kernpunten:
- Aspire is code-first orchestratie, het is de blauwdruk van je systeem: kijk ernaar en je begrijpt meteen hoe alles samenhangt.
- Aspire lost pijnpunten op van setup tot debuggen en service discovery, vooral voor lokale ontwikkeling.
- Het is optioneel, begin met één service en bouw incrementeel uit, of laat het gewoon links liggen als het niet bij je team past.
Aspire maakt microservices niet simpel, die complexiteit blijft bestaan, maar het organiseert die complexiteit wél, waardoor onboarding sneller gaat en debuggen effectiever wordt.
Meer informatie is te vinden op aspire.dev, de source code staat volledig open source op github.com/microsoft/aspire (recent verhuisd naar de Microsoft-organisatie) en er is een actieve Discord-community waar ook het Aspire-team zelf aanwezig is.
Conclusie
Wat deze conferentie vooral duidelijk maakte, is dat de drie verhalen eigenlijk één en hetzelfde verhaal vertellen vanuit verschillende invalshoeken: AI en goede tooling verlagen de drempel om te bouwen, te experimenteren en bij te dragen, maar de mens blijft daarbij onmisbaar. Umbraco HQ liet zien hoe community-feedback het product jaar na jaar vormgeeft, Luuk Peters bewees dat AI geen bedreiging is maar een versneller wanneer je het kritisch en doordacht inzet, en Thimo Koolen toonde met Aspire hoe goede tooling complexiteit niet wegneemt maar wél beheersbaar maakt. De rode draad is duidelijk: technologie wordt pas echt waardevol wanneer een betrokken community en scherp nadenkende developers er hun stempel op drukken, of het nu gaat om een CMS, een AI-workflow of een orchestratietool.













