Architectuuroverzicht van ODC

Door Onno Poelmeyer
Consultant bij CoolProfs

ODC is cloud-agnostisch ontworpen. Hoewel ODC momenteel alleen beschikbaar is op Amazon Web Services, is het gemaakt om onafhankelijk te zijn van het cloudaanbod. ODC kan dus in principe ook op de platformen van Microsoft of Google kunnen draaien. Dit helpt om vendor lock-in te voorkomen.

Tenants en environments

ODC is volledig multi-tenant en zorgt er niet alleen voor dat je omgeving en data volledig onafhankelijk zijn van andere OutSystems klanten, maar ook van je andere omgevingen ofwel environments. Eigenlijk wordt de term environment niet meer gebruikt. ODC gebruikt de term stage. Dus dat doen wij vanaf nu ook!
De stages zijn onafhankelijk gemaakt van het platform zelf. Klanten kunnen een willekeurig aantal stages hebben. Standaard zijn er bijvoorbeeld development (Dev) en productie (Prod) stages, zodat code direct van ontwikkeling naar productie kan worden gebracht. Het is mogelijk hier één of twee stages tussen te zetten. In onderstaande afbeelding zie we Dev, QA en Prod. Elke stage is volledig onafhankelijk van de andere.

CoolProfs Road to ODC architectuur 1

Wanneer een applicatie klaar is wordt deze verpakt in een container. Deze container images worden vervolgens opgeslagen in een Elastic container repository. Bij een deployment naar de volgende stage wordt applicatiecode niet opnieuw gecompileerd. De hele container image wordt simpelweg gekopieerd naar een andere stage. Bijvoorbeeld van Dev naar QA of van QA naar Prod. Dit heeft verschillende voordelen:

  • De code is absoluut identiek tussen de stages
  • De tijdsduur van deployments wordt drastisch verkort

Platform

ODC maakt momenteel gebruik van het (AWS) cloudplatform en benut veel van de ingebouwde mogelijkheden hiervan. De afbeelding hieronder toont er een aantal:

  • WAF: Firewall voor webtoepassingen
  • CDN: Content Delivery Netwerk
  • Identity Services
  • Meerdere load balancers
  • Een oplossing voor key and secrets management
CoolProfs Road to ODC architectuur 2

Elke platformservice is een .NET6-service die in zijn eigen container draait en wordt beheerd door Kubernetes. Platformservices zijn volledig API-gestuurd.
Het platform slaat gegevens op per tenant. Daarbij wordt Aurora PostgreSQL gebruikt. Dit is een volledig beheerde relationele database-engine die sterk schaalbaar is en gegevens over meerdere zones kan repliceren.

Applicaties

Wanneer een ontwikkelaar een applicatie compileert (nog steeds met behulp van de handige one-click publish knop) wordt er een runtime gemaakt in de Dev stage. Apps worden uitgevoerd in hun eigen containers om de schaalbaarheid te bevorderen. Een extra voordeel is dat apps geen invloed kunnen hebben op elkaars resources. Zoals gezegd wordt de applicatiedata opgeslagen in Aurora PostgreSQL, dat automatisch omhoog en omlaag schaalt wanneer dat nodig is. Een CDN of Content Delivery Network wordt gebruikt om zoveel mogelijk latency te elimineren: de gegevens worden zo dicht mogelijk bij de gebruiker gebracht.

Regions en zones

OutSystems maakt gebruik van AWS regions (regio’s) en Availability Zones binnen regions.

  • Een region is een fysieke locatie op de wereld. Op het moment van schrijven maakt OutSystems gebruik van drie regio’s: één in de VS, één in Azië en één in Europa (Frankfurt).
  • Availability Zones (AZ) zijn afzonderlijke datacenters binnen een region. Als een applicatie is gepartitioneerd over AZ’s is deze nog beter beschermd tegen stroomuitval en natuurrampen.
  • Regions kunnen creatief ingevuld worden. Denk aan een Dev stage waar de ontwikkelaars zitten, bijvoorbeeld Azië, en een productie stage waar de klanten zich bevinden, bijvoorbeeld Europa.

Schaalbaarheid

ODC zorgt ervoor dat applicaties en databases zeer schaalbaar zijn. Dat gebeurt geheel automatisch. Toepassingen kunnen zowel verticaal als horizontaal worden geschaald. Indien nodig worden meer containers met dezelfde applicatie gemaakt op basis van vooraf geconfigureerde drempelwaarden. Het verkeer wordt automatisch verdeeld. Als de vraag afneemt schaalt het systeem natuurlijk ook weer omlaag.
Het is ook mogelijk containers over zones te verdelen en zo de beschikbaarheid verder te verhogen. Bovendien kunnen Amazon Aurora PostgreSQL databases ook worden geschaald en gerepliceerd tussen AZ’s.

CoolProfs Road to ODC architectuur 3

Veiligheid

Natuurlijk is veiligheid van levensbelang voor klanten. Het is dan ook geruststellend om te weten dat ODC vanaf het begin is ontworpen met het oog op beveiliging. De CDN- en routeringsopties in het platform helpen DDOS-aanvallen te voorkomen, terwijl de WAF (Web Application Firewall) kwaadaardige verzoeken uitfiltert. Applicaties worden beschermd via het identiteitsbeheersysteem en de autorisatieniveaus van jouw keuze. Een ingebouwde database voor secrets management slaat gevoelige gegevens zoals API-sleutels op. Natuurlijk zijn ook de Aurora PostgreSQL-databases zeer veilig, ze ondersteunen tevens encryptie en geavanceerde auditing.

CoolProfs Road to ODC

De volgende blogpost in deze serie helpt bij de beslissing om op Traditional of  Reactive te blijven of naar ODC te gaan.

Schakel JavaScript in je browser in om dit formulier in te vullen.
Type platform

CoolUp '24

De Uitdaging van Duurzame Innovatie in een Versnellende Wereld

Madhu Iyer, consultant bij Lean Digitale Transformatie

De technologische verandering raast voort. Ondanks Agile en low-code, worstelen we om bij te blijven met Generatief AI en de toenemende focus op duurzaamheid.

Een unieke aanpak, die Lean Thinking combineert met digitale transformatie, biedt soelaas. Dit beproefde framework versnelt innovatie en adaptatie, met oog op duurzaamheid.

In mijn lezing focus ik niet op kant-en-klare oplossingen, maar schets ik het framework en mijn vertaalslag naar de praktijk. Ik deel wat wel en niet werkte. Het framework is aanpasbaar – de juiste toepassing hangt volledig af van uw eigen context.

Toewijding, consistentie en emotionele veerkracht zijn cruciaal. In mijn lezing deel ik diverse ervaringen – successen en mislukkingen – om waardevolle lessen te trekken en met vertrouwen te navigeren in het veranderende bedrijfslandschap, met focus op duurzaamheid.

CoolUp '24

Dagelijks deployen een utopie? Nee hoor!

Ruud Rademaker, Software Architect bij PGGM

CoolProfs zegt “Er zijn tal van redenen te noemen om je software development lifecycle (SDLC) te verbeteren. Wat je doel ook is, de CoolProfs SDLC-Suite biedt alle tools om dit voor OutSystems low-code omgevingen werkelijkheid te maken. Met onze SDLC-Suite maak je de low-code belofte waar.

Maakt CoolProfs die belofte waar? Een kritische klant vertelt.

CoolUp '24

Domain Driven Architecture, een noodzaak?

Edwin Muijen, Principal Consultant CoolProfs en PO Cool Model

Domain Driven Design is niet nieuw, maar wordt steeds relevanter. Kleinere, bedrijfsonderdeel-specifieke apps zijn overzichtelijker, sneller aan te passen en onafhankelijk van andere apps en hun ontwikkelteams.

Monilithische applicaties uit het verleden kunnen misschien beter worden opgedeeld in kleine, herbruikbare delen.

Edwin Muijen vertelt waarom Domain Driven Architecture van belang is, nu en in de toekomst.

CoolUp '24

Tekenen met AI

Heb je zin om eens met jouw creatieve kant aan de slag te gaan? Grijp nu hier de kans om samen met Jan Loos tekeningen tot leven te laten komen door middel van AI.
Let op: voor deze workshop zijn beperkt plaatsen beschikbaar.

CoolUp '24

Op eigen benen staan, bouw je eigen OutSystems team.

Christa Roseboom, HR manager en mede-eigenaar Sogyo
Imelda Duivenvoorden, HR manager en MT-lid CoolProfs

Sogyo en CoolProfs geven tips en pitfalls over het samenstellen (en behouden) van je eigen OutSystems team. Samen helpen we je bij het werven van geschikte kandidaten en het vormgeven van een traineeprogramma. Uiteraard met de nodige begeleiding vanuit onze kant.

Samen zorgen we voor een instroom van goed opgeleide startende OutSystems-engineers die in vaste dienst kunnen treden. Ons plan is op basis van maatwerk en Best Practices. Zo heb je binnen de kortste keren ervaren OutSystems specialisten in dienst.

CoolUp '24

AI en UX voor OutSystems

Menno Cramer, Head of Solution Delivery & Experience bij OutSystems

UX/UI tovert apps om tot iets leuks en gebruiksvriendelijks, en met AI wordt het alleen maar beter – denk aan slimme personalisatie en bliksemsnel reageren. Met platforms zoals OutSystems kunnen we die dromen waarmaken en supercoole, slimme apps bouwen die precies doen wat gebruikers willen.

Dus, ontwerpers, omarm AI in jullie werk en wees niet bang – jullie creatieve magie en banen zijn veiliger dan ooit. En hey, vergeet niet: houd het simpel, test vaak, en luister altijd naar wat de gebruiker echt wil!

CoolUp '24

Road to ODC

Jeroen Bezemer, CTO bij CoolProfs
Arjan Waardenburg, Solution Architect bij OutSystems

Als OutSystems enthousiast zit je met een berg vragen. Je wilt zo snel mogelijk starten met ODC maar waar begin je en hoe zorg je voor een zo frictieloos mogelijke transitie van je huidige applicaties?

CoolProfs en OutSystems hebben een ijzersterke roadmap voor je uitgestippeld, met de stappen die je tussen nu en 2029 kunt doen. Daarbij wordt rekening gehouden met zowel de techniek als de mensen.