How UTS established a modern curriculum data services foundation on AWS

TL;DR · AI 摘要
How UTS established a modern curriculum data services foundation on AWS AWS Architecture Blog How UTS established a mode...
核心要点
- 主题聚焦:How UTS established a modern curriculum data ser
- 来源:AWS Architecture Blog,建议结合原文判断细节。
- AI 分析暂不可用,本条为保底评分与摘要。
UTS如何在AWS上建立现代课程数据服务基础架构 | AWS架构博客
UTS如何在AWS上建立现代课程数据服务基础架构
悉尼科技大学(UTS)的学生和员工将该大学视为一个统一的机构,而非其背后复杂的课程和学生系统集合。他们期望支撑教学、学习、课程设计和机构决策的信息能够准确、及时且一致,无论其来源如何。
在这一体验的背后,UTS在其集成架构中已达到一个自然的转折点。关键的教学和学习功能依赖于具有不同数据模型、接口、稳定性特征和扩展特性的传统供应商平台。尽管这些平台继续执行关键的运营功能,但集成和管理周边系统的工作已变得日益复杂且成本高昂。
UTS的使命始终如一:在教学、学习和学生体验方面追求卓越。技术存在的目的是推动这一使命的实现,而非取而代之。因此,UTS信息技术部(ITU)致力于消除权威数据与依赖它的人员、流程和数字服务之间的障碍。
UTS通过AWS使这一转型成为可能。借助托管、弹性及无服务器能力,UTS减少了非差异化运营工作,提升了容错能力。这建立了一个可持续的受控数据服务模型。课程成为UTS应用该模型的第一个有界业务领域。
挑战
UTS ITU需要一种架构,能够:
- 在不将第三方软件即服务(SaaS)应用——课程管理系统作为记录系统的前提下,通过可复用服务提供权威课程信息。
- 用受控的契约替代紧密耦合的、特定消费者接口,使消费者免受源模式和实现细节的影响。
- 在不永久预置容量的情况下,适应常规变更和临时高流量活动,包括完整的领域重新加载。
- 支持从同一权威源进行深度嵌套和逆向课程关系的图遍历、精确和全文检索,以及语义发现。
- 在有限的工程能力范围内可靠且经济地运行,同时为后续数据领域建立可重复的模式。
领域边界是不可协商的。课程描述了大学教授的内容,并始终是课程管理系统的责任。保持这一有界上下文可防止所有权、验证和治理转移到非权威服务中。
领域导向的方法
UTS ITU根据领域驱动设计组织了该能力。他们不再将数据服务与生成或使用数据的应用程序对齐,而是与以下内容对齐:
- CAUDIT高等教育参考模型(HERM)中定义的业务领域。
- 这些领域负责的信息。
每个数据产品都有明确的所有权、消费者、质量期望、接口契约和生命周期管理。因此,机构数据被视为设计用于复用的受控资产,而非应用程序的附带产物。
声明式架构作为代码提供了设计的可执行实现和可重复的权威信息源。在可行范围内将配置与实现分离,交付过程实现自动化,优先使用托管的 AWS 服务而非定制化基础设施软件。该方法遵循“恰到好处的代码”原则:工程团队专注于构建差异化的领域逻辑(高等教育特有的业务规则和数据服务),而非通用的基础设施。
无状态执行、异步通信、专用持久化存储以及可独立恢复的组件,避免了紧密耦合的故障域。基于消耗量的服务模式将支出与工作负载需求对齐,而非为偶发峰值维持固定规模的基础设施。
解决方案概览
该架构包含五层:边缘层、摄入层、持久化层、应用与业务逻辑层以及接口层。各层具有明确的职责划分,如图1所示。
身份验证、加密、网络控制、可观测性及运营治理机制贯穿整个技术栈。课程数据服务从课程管理系统捕获完整的变更事件,将其持久化存储于耐用的事件日志中,生成专用的数据表示形式,并提供受控的同步与异步服务接口。
图1:UTS 课程数据服务分层架构
接下来的五个章节将依次深入探讨实现架构的每一层。
边缘层
边缘层是 SaaS 课程管理系统与课程领域之间的受控入口边界。其职责范围刻意保持狭窄:接收完整的课程变更,建立内部事件契约,并以最小处理量提交至摄入层。
源系统通过 Amazon API Gateway HTTP API 发送变更事件,该 API 调用一个 AWS Lambda 函数作为技术适配器(因无现成的托管连接器能匹配源系统的专有 API 协议和数据格式,例如厂商特定的 REST 接口、认证方案和数据结构)。适配器将完整的厂商事件封装在 CloudEvent 封装体中,附加 UTS 运营元数据后,发布至对应的 Amazon MSK 无服务器版主题。
边缘层不重新解释课程内容,也不执行验证或消费者特定的转换。验证逻辑保留在主系统内。这种设计既保持了源数据的完整性,又防止下游需求污染入口边界,同时使无状态的边缘层在完整领域重载期间可自动扩展。
摄入层
Amazon MSK 无服务器版构成了持久化、仅追加的事件主干。课程变更按学术项目类型分领域存储到独立主题中,在保留完整源事件的同时,允许各消费者独立推进、重试和恢复而互不干扰。
MSK 无服务器版可根据需求自动扩展。常规变更消耗的资源较少。领域重载会通过事件主干和并行处理器扩散执行,完成后自动收缩。模型或模式变更可通过幂等性重处理或完整重载实现,而无需引入第二个课程权威源。
持久化层
持久化层根据每种表示形式需要支持的访问模式和业务问题,选择专门构建的数据服务。Amazon Neptune Serverless 将课程结构和逆向关系存储为属性图,而 Amazon OpenSearch Service 存储完整的源文档和索引,以支持精确匹配、全文检索和向量检索。
在 Neptune 中,学习项目、学习领域和学习单元是相互连接的学术实体。用户可以从一个项目遍历到其组成部分,或从一个单元出发,识别所有教授该单元的项目和领域。这些逆向查询是原生的图遍历操作,而非由用户反复重建的应用特定连接。
图2:Amazon Neptune 中的课程结构关系
OpenSearch 提供精确查找、过滤和文档检索,同时支持 k-最近邻向量搜索。作为 AWS Lambda 函数实现的数据处理器,会通过 Amazon Bedrock 调用嵌入模型,将相关课程文本的向量表示附加到持久化数据之前。因此,课程可以通过语义相似性而非词汇巧合被发现。UTS 还验证了针对英文课程内容的多语言检索能力。
Neptune 和 OpenSearch 都是独立且最终一致的。一个实例的失败不会阻塞另一个实例,且两个存储都不会直接暴露给用户。两者都是临时视图而非竞争的主系统,可通过从课程管理系统进行完整重载重建。数据使用专用域的 AWS Key Management Service (AWS KMS) 密钥加密,且该密钥的使用仅限于授权域服务。
应用层
应用层将这些实例转化为可复用的领域能力。数十个范围狭窄的 Lambda 服务通过查询 Neptune 或 OpenSearch 实现功能,而持久化层保持私有性,仅通过受控合同暴露。
Amazon EventBridge Pipes 在 MSK Serverless 和作为处理器及事件流消费者的 Lambda 函数之间充当传输适配器。Pipes 提供路由和投递功能,不涉及课程验证、数据增强或业务转换,保持处理职责的明确性、独立部署性和可观测性。
无状态的 Lambda 函数执行使服务能根据需求扩展,并通过重试和重新调用独立恢复。Signature Version 4 (SigV4) 认证和细粒度的 AWS Identity and Access Management (IAM) 角色,可在不分配或管理数据库凭证的情况下,为 Amazon Neptune 和 Amazon OpenSearch Service 提供最小权限访问。这些服务提供权威检索、图遍历和语义发现,而无需将课程有效性验证的责任转移至数据领域。
接口层
接口层通过 REST 和 GraphQL 提供基于拉取的访问,同时通过推送方式传递领域事件,同时保持持久化和实现细节私有。Amazon API Gateway 提供 REST 接口边界。AWS AppSync 通过模式级别的基于属性的访问控制,为高频使用的功能提供 GraphQL 访问。两种接口调用相同的受控服务合同。
已批准的消费者还可能通过内部 CloudEvent 信封接收课程事件。Amazon EventBridge Pipes 负责最后一公里的交付,无需定制的路由中间件,消费者自行决定哪些学术项目事件相关,而非 UTS 为每个消费者维护过滤后的数据流。
Amazon Cognito 通过 OAuth 2.0 和 OpenID Connect 对已批准的外部消费者进行身份验证,而 AWS 原生工作负载则使用 IAM。AWS 密钥管理服务、AWS Secrets Manager、AWS WAF 和 AWS 证书管理器分别提供加密、凭证管理、边界防护和证书生命周期管理。Amazon Route 53 为单一共享的虚拟域名提供命名服务,而 Amazon CloudWatch 和 Amazon Simple Notification Service (Amazon SNS) 则在架构中提供可观测性、遥测数据和定向告警功能。
完整解决方案架构
下图展示了完整解决方案架构,包括适用于所有五层的身份、加密、网络、可观测性和治理控制措施。
图3:课程数据服务解决方案的端到端架构
成果与可衡量的成效
该成果并非替代课程管理系统作为主系统,而是构建了一个受控的数据基础,使主系统保持权威性的同时,通过 API、图遍历、语义搜索和事件传递实现课程信息的复用。自2024年11月上线以来,该领域未发生任何生产事故。
- 延迟 – 变更在通过边缘层后,平均1.6秒内即可通过同步和异步接口提供给下游消费者。
- 课程图谱 – 该领域建模了约800个学习项目、3500个学习单元和2500个学习领域的共计43,794种关系。
- 消费者采用情况 – 11个机构消费者已采用该服务,用可复用的受控合同替代了定制的点对点集成。
- 运营规模 – 仅需1名工程师运营该领域。托管、无服务器和自愈组件使常规干预变得微乎其微,消除了对专用三级支持的需求。
- 成本效率 – UTS 实现了课程数据集成和交付总拥有成本的显著降低,将原本分散在商业产品、定制集成、数据库和多个支持团队中的能力进行了整合。
- 可用性与弹性 – 平台持续运行,即使上游主系统不可用时,仍能确保下游对可信课程信息的访问。
这些成果共同表明,一个小型工程团队可以通过托管的 AWS 服务运营机构级数据领域,同时提升能力、降低运营复杂性,并使支出与需求保持一致。
下一步计划
课程领域验证了生产架构和运营模式。随后是学生数据领域,为学生档案、招生、录取、注册及相关信息提供单一受控访问点。UTS 现在正在准备学习活动领域,这是一个基于 Amazon Neptune 和 Amazon Neptune Analytics 构建的更大能力,围绕终身学习者图谱展开,并将相同的领域驱动模式扩展到整个教学与学习领域。
每个有界上下文都可以根据自身的业务需求选择合适的AWS服务,同时保持在身份管理、安全、可观测性、交付和运营可持续性方面的统一控制。
结论
UTS的集成架构已发展到累积复杂性和运营负担限制机构变革的临界点。解决方案并非单纯追求技术本身。UTS ITU通过使用AWS消除了权威机构数据与教学、学习和管理能力之间的障碍。
AWS的重要性超越了单纯的技术选型,但最终成果主要体现为UTS在架构设计和运营模式上的突破。课程数据服务成为UTS首个投入生产的生产数据领域。UTS将领域驱动设计、异步处理、专用持久化存储和受控接口与托管的AWS能力相结合,使这些设计模式能够在机构级规模上落地实施。
由此形成的服务基础支持事件流处理、图遍历、文档与语义检索、计算、身份管理、安全防护以及受控数据暴露。UTS在不依赖传统基础设施的情况下运营该体系。这使UTS ITU能够将雄心勃勃的架构设计转化为可持续的生产能力,同时将工程资源集中于领域服务而非通用型基础设施。
课程数据服务体现了这一转型成果:从负担沉重的集成模式,转变为可复用、具备弹性和运营可持续性的领域对齐数据基础。UTS现已拥有可重复的模式,使机构数据能够作为战略资产进行管理,而非仅仅是单个系统的副产品。大学将继续运营许多系统,但学生和员工不应感受到系统间的边界。
如需更多信息或支持,请联系AWS公共部门团队。
作者简介
'\"