Our Blog
Sharing Our Experiences
- Java project & consultancy
- Cloud Native Development
- AI & IoT

Faros Team
AWS Infrasturctuur voor XploreBay
- by Faros Team
- -
- - Cloud, Customer Stories, Development, Java
XploreBay is een webgebaseerd veilingplatform voor kantoorbenodigdheden die een tweede leven verdienen. Oorspronkelijk gestart als een stageproject bij Lykios, heeft Faros de applicatie verder ontwikkeld en gemigreerd naar de cloud met behulp van AWS. In deze blogpost duiken we diep in de technische architectuur en implementatie van AWS-infrastructuur voor XploreBay.
Doelen van de AWS-implementatie
De AWS-implementatie voor het XploreBay-project is ontworpen om zowel de technische als operationele aspecten van de applicatie te ondersteunen. De focus ligt op het creëren van een robuuste, schaalbare en efficiënte infrastructuur die eenvoudig te beheren is. Hieronder staan de belangrijkste doelen en componenten van deze implementatie.
1. Opzetten van een test- en productieomgeving
We creëren twee aparte omgevingen—test en productie—om de applicatie in verschillende fasen te kunnen ontwikkelen en testen zonder dat dit invloed heeft op de uiteindelijke productie. Deze scheiding zorgt voor betere controle over de wijzigingen en waarborgt de stabiliteit van de productieomgeving.
2. Implementatie van een CI/CD pipeline
Door een volledig geautomatiseerde CI/CD-pijplijn op te zetten, kunnen we de ontwikkeling van de applicatie sneller en efficiënter maken. De pijplijn is ontworpen om automatisch builds en deploys uit te voeren, met Git als trigger. Dit maakt het mogelijk om de applicatie continu te integreren en te leveren zonder handmatige tussenkomst, waardoor de snelheid en betrouwbaarheid van de softwareontwikkeling verhoogd worden.
3. Backend met Spring Framework
De backend van de applicatie is opgebouwd met het Spring Framework, een krachtige en flexibele tool voor het ontwikkelen van Java-gebaseerde applicaties. Dit stelt ons in staat om robuuste, onderhoudbare en schaalbare backends te bouwen die eenvoudig te integreren zijn met andere systemen.
4. Frontend gebaseerd op React
Voor de frontend gebruiken we React, een populaire JavaScript-bibliotheek voor het bouwen van dynamische gebruikersinterfaces. React maakt de ontwikkeling van interactieve en snel reagerende webapplicaties mogelijk, wat essentieel is voor een moderne gebruikerservaring.
5. Aurora RDS database-infrastructuur
De database-infrastructuur is gebaseerd op Amazon Aurora RDS, die zorgt voor een schaalbare, betrouwbare en snelle databaseoplossing binnen de AWS-cloud. Door gebruik te maken van een volledig beheerde database kunnen we ons concentreren op de applicatie zelf, terwijl we tegelijkertijd profiteren van geavanceerde beveiligings- en schalingmogelijkheden.
6. Authenticatie via Cronos login
Om de beveiliging van de applicatie te verbeteren, maakt de implementatie gebruik van SSO via de Cronos login voor authenticatie. Deze oplossing maakt het eenvoudig voor gebruikers om in te loggen met hun bestaande credentials, waardoor de toegang tot de applicatie veilig en gebruiksvriendelijk blijft.
7. Automatische e-mails versturen via AWS SES
Voor communicatie met gebruikers maken we gebruik van AWS SES (Simple Email Service), dat het mogelijk maakt om automatische e-mails te versturen, bijvoorbeeld voor notificaties of bevestigingen. SES biedt een betrouwbare en schaalbare oplossing voor het verzenden van e-mails, zonder dat dit ten koste gaat van de applicatieprestaties.
8. Domeinnaam en URL
De applicatie is toegankelijk via de domeinnaam auctions.xploregroup.be
, wat zorgt voor een professionele uitstraling en een eenvoudige toegang voor gebruikers. Het subdomein voor de testomgeving is test.auctions.xploregroup.be
, zodat de productieomgeving veilig kan worden gescheiden van de testomgeving.
9. Infrastructure as Code (IaC) implementatie
De volledige infrastructuur wordt beheerd via Infrastructure as Code (IaC), wat betekent dat we de infrastructuur definiëren en beheren met behulp van code. Dit maakt het mogelijk om de infrastructuur eenvoudig te automatiseren, te hergebruiken en te schalen. Alle componenten van de infrastructuur, van netwerken tot applicaties, worden in code vastgelegd, waardoor we een consistente en reproduceerbare omgeving kunnen creëren.
10. CloudFormation voor IaC
Voor de implementatie van IaC maken we gebruik van AWS CloudFormation. Dit stelt ons in staat om de infrastructuur op een modulaire manier te definiëren, zodat we flexibel kunnen inspelen op veranderingen. De belangrijkste componenten van CloudFormation zijn:
- YAML-templates voor het definiëren van infrastructuurcomponenten
- Modulaire stacks die de verschillende delen van de infrastructuur scheiden, zoals:
- Basisinfrastructuur
- Deployment-infrastructuur
- CI/CD-pijplijn
- Beveiligingsinfrastructuur
- Schaalbeheer voor de database-infrastructuur
Door CloudFormation te gebruiken, kunnen we de infrastructuur eenvoudig beheren en snel aanpassen aan veranderende behoeften, terwijl we tegelijkertijd de efficiëntie en betrouwbaarheid van het beheer van de infrastructuur verbeteren.
Architectuuroverzicht
Hieronder zie je een visuele weergave van de infrastructuur:

CI/CD pipeline
In onze CI/CD-pijplijn maken we gebruik van een Git-triggered build & deploy proces, waarmee we de overgang van ontwikkeling naar productie naadloos kunnen beheren. Dit proces is opgebouwd rondom twee omgevingen: een voor testen en een voor productie. Elke omgeving heeft zijn eigen infrastructuur, die automatisch wordt beheerd op basis van de laatste tags in de code.
Een belangrijke schakel in deze workflow is AWS CodeBuild, dat automatisch container images genereert voor onze applicaties. Dit proces is volledig geconfigureerd via de buildspec.yml
-file, die zorgt voor de juiste instellingen en acties tijdens de buildfase.
Basis infrastructuur
Onze basisinfrastructuur is ontworpen voor schaalbaarheid en betrouwbaarheid. Elke omgeving—test en productie—heeft een eigen stack, die zowel de backend als de frontend integreert.
De backend draait op AWS AppRunner, waar we container images hosten in het Elastic Container Registry (ECR). Dankzij de ingebouwde automatische scaling en load balancing kunnen we de applicatie efficiënt schalen op basis van het verkeer. Alle gevoelige gegevens, zoals credentials, worden veilig opgeslagen en beheerd in AWS Secrets Manager, zodat we zeker zijn van de veiligheid en integriteit van onze applicatie.
Aan de frontend-zijde maken we gebruik van Amazon S3 voor het hosten van statische bestanden, terwijl CloudFront zorgt voor snelle en betrouwbare content delivery over het wereldwijde netwerk van Amazon.
De database draait in een Aurora RDS-cluster binnen een Virtual Private Cloud (VPC), wat zorgt voor een veilige en geïsoleerde omgeving voor onze gegevens. Zowel de database als de AppRunner-services draaien in private subnets, wat extra beveiliging biedt voor onze infrastructuur. Het public subnet wordt enkel gebruikt voor de communicatie met AWS Cognito voor gebruikersauthenticatie, wat zorgt voor een veilige toegang zonder al te veel blootstelling van onze systemen.
Secret management
Een belangrijk aspect van de infrastructuur is ons gebruik van AWS Secrets Manager voor het beheren van alle gevoelige informatie. Alle credentials worden opgeslagen in Secrets Manager en geïntegreerd in de Spring-applicatie via de configuratiebestanden pom.xml
en application.properties
. Dit zorgt ervoor dat gevoelige informatie nooit hardcoded in de code terechtkomt en altijd veilig en up-to-date blijft.
Conclusie
De migratie van XploreBay naar AWS heeft gezorgd voor een efficiënte, schaalbare en goed beheersbare infrastructuur. Door gebruik te maken van Infrastructure as Code, een goed ingerichte CI/CD pipeline en AWS-services zoals AppRunner, Aurora RDS en CloudFormation, is een robuuste cloudomgeving gerealiseerd.
Share this post
