Menu
AWS Architecture Blog·October 14, 2026

Building a Domain-Oriented Curriculum Data Services Foundation on AWS

This article details how the University of Technology Sydney (UTS) established a modern, domain-oriented curriculum data services foundation on AWS. It focuses on integrating disparate data sources, improving data accessibility, and building a scalable, fault-tolerant architecture using serverless and managed AWS services like API Gateway, Lambda, MSK Serverless, Neptune Serverless, and OpenSearch Service. The design emphasizes domain-driven design principles and event-driven architecture.

Read original on AWS Architecture Blog

The Challenge of Integrated Data Services

UTS faced challenges integrating critical teaching and learning capabilities that relied on established vendor platforms with disparate data models, interfaces, and scaling characteristics. The goal was to make authoritative curriculum information available through reusable services without replacing the existing Curriculum Management System (a third-party SaaS) as the system of record. Key requirements included replacing tightly coupled interfaces, accommodating transient high-volume activity without permanent provisioning, supporting complex graph traversals, and operating economically within finite engineering capacity.

Domain-Oriented Architecture and Event-Driven Principles

UTS adopted a domain-driven design approach, organizing data services around business domains and the information for which they are accountable, rather than aligning with specific applications. Each data product has explicit ownership, contracts, and lifecycle management, treating institutional data as a governed, reusable asset. The architecture leverages declarative infrastructure-as-code, stateless execution, asynchronous communication, purpose-built persistence, and independently recoverable components to avoid tightly coupled failure domains and ensure scalability.

Layered Architecture Overview

The architecture is structured into five distinct layers, each with specific responsibilities: Edge, Ingestion, Persistence, Application & Business Logic, and Interface. Cross-cutting concerns like identity, encryption, network controls, observability, and operational governance apply across all layers. This separation ensures modularity and clear responsibilities.

  • Edge Layer: Acts as the ingress boundary, receiving complete curriculum changes from the SaaS system via Amazon API Gateway and an AWS Lambda technical adapter, then publishing them to Amazon MSK Serverless.
  • Ingestion Layer: Uses Amazon MSK Serverless as a durable, append-only event backbone, segregating curriculum changes into domain-aligned topics. It scales on demand to handle routine changes and large domain reloads.
  • Persistence Layer: Employs purpose-built data services: Amazon Neptune Serverless for storing curriculum structures and inverse relationships as a property graph, and Amazon OpenSearch Service for complete source documents, exact, full-text, and vector retrieval. This layer supports semantic discovery via Amazon Bedrock for vector embeddings.
  • Applications Layer: Comprises narrowly scoped Lambda-backed services that query Neptune or OpenSearch, exposing data solely through governed contracts. Amazon EventBridge Pipes routes events from MSK Serverless to these Lambda processors, ensuring explicit and independently deployable processing responsibilities.
💡

Key Architectural Decisions

The design emphasizes event-driven architecture, CQRS principles (separate read/write models, with Neptune and OpenSearch as read projections), serverless compute for elasticity and cost efficiency, and a strong adherence to domain-driven design to manage complexity and ensure data governance. The use of managed AWS services reduces operational overhead and allows focus on differentiated domain logic.

AWSServerlessDomain-Driven DesignEvent-Driven ArchitectureData MeshAPI GatewayLambdaKafka

Comments

Loading comments...