21 February 2020

Een flexibel en schaalbaar applicatielandschap met Mendix

Een multi-app solution: misschien heb je er wel eens van gehoord of klinkt de term microservices architectuur je bekend in de oren. Beiden zorgen ervoor dat je bedrijf wendbaarder wordt én sneller kunt inspelen op de wensen van je klanten. Maar wat is een multi-app solution nu precies? We leggen het je graag uit!

Een stapje terug

Voordat we uitleggen wat een multi-app solution is, is het belangrijk dat je begrijpt waarin deze manier van software ontwikkelen anders is dan de methoden die tot nu toe gangbaar waren. We zetten dus eerst even een stapje terug en staan stil bij andere ontwikkelmethodes.

De klassieke IT-organisatie

Een business afdeling in een organisatie, zoals bijvoorbeeld de Sales-afdeling, wil een nieuwe oplossing laten ontwikkelen. Zij geven hun wensen aan bij de IT-afdeling en die gaan er mee aan de slag. Een project wordt opgezet en een groot ontwikkelteam team wordt samengesteld dat de architectuur en processen ontwerpt, de oplossing bouwt en test. Zodra het project gereed is, levert het ontwikkelteam de software op aan het beheerteam. Zij verzorgen dat de oplossing in productie wordt gesteld en het beheer wordt uitgevoerd.

Een flexibel en schaalbaar applicatielandschap met Mendix - JoelDe totale doorlooptijd om een oplossing aan de business te leveren is lang. Het ontwikkelteam wordt vaak voor één enkel project bij elkaar gebracht en de ontwikkelaars gaan, zodra het project is afgerond, weer uit elkaar. Daardoor bouwt een team beperkte kennis op.

Dit projectgericht werken, werkt heel anders dan productgericht werken. Bij productgericht werken zie je dan ook vaak een andere architectuur die wordt ingezet; de microservices architectuur. In ons geval, omdat wij met Mendix werken, een multi-app solution.

Een microservices architectuur

Een flexibel en schaalbaar applicatielandschap met Mendix - Joel 2Een microservices architectuur komt voort uit een andere inrichting van je IT-organisatie. Je voegt onder andere vaak de traditionele ‘dev’ (ontwikkelaars)- en ‘ops’ (beheerders) teams samen in kleine teams. Elk team is verantwoordelijk voor één of meerdere kleine componenten van de complete software voor je business. Zij ontwikkelen en onderhouden die componenten en kunnen die op ieder gewenst moment live zetten. Daarbij zijn zij niet afhankelijk van andere teams of een alles overkoepelende planning, maar hebben hun eigen planning.

Door de IT-afdeling op deze manier te organiseren, moet ook je applicatie landschap op een andere manier worden georganiseerd. En daar komt microservice architectuur goed van pas.

Voordelen van microservices architectuur en een multi-app solution

Dankzij het implementeren van een microservices architectuur of een multi-app solution realiseer je een structuur die het mogelijk maakt individuele opleveringen te faciliteren om snel waarde toe te voegen aan de organisatie. Het applicatielandschap bestaat namelijk uit kleine op zichzelf opererende componenten die middels integraties met elkaar communiceren. Elk team is verantwoordelijk voor zijn eigen componenten en de teams zijn niet meer afhankelijk van elkaar, zij kunnen nieuwe inzichten sneller implementeren en beter reageren op ontwikkelingen in de markt waarin de organisatie zich bevindt. Vanwege deze snelheid, kun je nieuwe business concepten sneller uitproberen om zo bijvoorbeeld de omzet van je product te vergroten. En ten slotte borg je met een microservices architectuur de kennis binnen de teams en ben je niet langer afhankelijk van de individuen daarbuiten.

Het verschil tussen een microservice architectuur en een multi-app solution is zeer klein, ze delen dezelfde organisatiestructuur. Een microservice architectuur bestaat uit verschillende soorten componenten: UI (Userinterface), applicatielogica en dataopslag zoals bestanden en een database. Door deze componenten te combineren als 1 pakket ontstaat er een applicatie. Mendix is een low code applicatieplatform en is specifiek ontworpen om de ontwikkeling van kleinere applicaties tijdens de volledige levenscyclus te versnellen. Ze hebben de componenten gebundeld tot één applicatie om de afhankelijkheden tussen de verschillende soorten componenten te standaardiseren en te automatiseren.

Waarom is Mendix zo geschikt voor een multi-app solution?

Het gaat erom dat kleine apps onafhankelijk van elkaar opereren en ontwikkeld worden door zelfstandige teams. Mendix als low code applicatieplatform is uitermate geschikt om een multi-app solution mee te realiseren. Mendix ondersteunt de volledige lifecycle van de ontwikkelde applicaties, waardoor de ontwikkelaars zich kunnen richten op het snel maken van de best mogelijke apps.

Waarom kiest Appronto voor deze methode?

Appronto wil haar klanten in staat stellen snel te kunnen innoveren, dat gebeurt op twee vlakken. Als eerste zijn er schaalbare en flexibele oplossingen nodig. Zodoende zetten we een multi-app solution in om het IT-landschap van onze klanten flexibel te maken en gebruiken we Mendix om snel applicaties te kunnen ontwikkelen. We creëren eerst een basislandschap als fundament, waar we snel steeds meer applicaties aan kunnen toevoegen. Middels slimme integratie API’s worden bepaalde functionaliteiten en business-logica herbruikbaar gemaakt.

Ten tweede zijn de teams bij klanten altijd klein. Ze zijn zelf verantwoordelijk voor hun eigen applicatie en communiceren direct met de business die zij ondersteunen. Alles om de time-to-market te versnellen.

Multi-app solution in de praktijk

Een voorbeeld hiervan is Avans Hogeschool. Avans timmert als organisatie flink aan de weg als het gaat om het personaliseren van hun opleidingsaanbod. De opleidingen worden steeds vaker en meer toegespitst op de behoefte van individuele studenten. Daar is achter de schermen een behoorlijke aanpassing in het IT-landschap voor nodig: het moet wendbaarder worden en er moet ruimte zijn voor innovatie.

Appronto werkt samen met de IT afdeling van Avans in vier Scrum teams aan vier verschillende applicaties voor verschillende domeinen binnen Avans. Het ene team ontwikkelt een centraal portaal voor de studenten, waar het ander team een applicatie realiseert om het stage aanbod dichter bij de studenten te brengen. Doordat deze teams niet afhankelijk zijn van anderen, kunnen zij los van elkaar snel schakelen en kan Avans sneller nieuwe functionaliteiten aanbieden aan haar gebruikers. De eisen voor bijvoorbeeld infrastructuur en integratie zijn gebouwd in een Avans template, waardoor nieuwe functionaliteiten eenvoudiger toegevoegd kunnen worden en de applicaties sneller ontwikkeld worden.

multi-app solution