曾开源Radius的微软部门,开源变更资料处理技术Drasi

图片来源: 

GitHub

微软Azure Incubation部门上周开源新资料处理Drasi专案,提供开发及网管人员简化复杂IT基础架构中关键事件侦测,以便采取立即因应行动。

Azure Incubation业务部除了Drasi,也负责RADIUS(Remote Authentication Dial in User Service)验证标准轻量协定的开源计划。该组织另外还推动了DaprKEDA,现在都捐给了云端原生运算基金会(Cloud Native Computing Foundation,CNCF)。

微软说明,事件驱动系统虽然能提供即时回应,以及有效解耦(decoupling)服务,但做起来并不容易,因为在真实应用上,事件的频率和复杂性都提升,要侦测跨不同元件的事件变更变得棘手。此外,这些资料存在互不相通的系统,格式也各异,还要考虑网路延迟性、网路壅塞造成事件处理延迟。

现行开发人员苦于建立事件处理机制,因为现有函式库和服务鲜少提供端到端的统一框架可支援变更侦测和回应。他们往往必须很辛苦地把多项工具拼凑起来,整个系统架构变得复杂,难以维护和扩充。现有产品使用轮询(polling)和查询(query)工具效率不高,导致系统效能瓶颈或耗资源,另外,许多变更侦测工具欠缺即时执行能力,而是仰赖批次处理、资料定序(data collation),要不然就得延后分析。

Drasi能自动化复杂系统中的反应,提供即时建议资讯,又不需传统方法的资料处理作业。它采取轻量级设计,追踪log和变更feed中的系统变更,而不是把资料复制一份到集中化资料湖,或是重复查询多个资料源。微软说明,Drasi使用持续查询(Continuous Queries)方法,查询指令是以Cypher Query Language写成,能从多个来源整合资料,而不用预先定序作业,它追踪的资料包括log、资料库更新、系统量测值。完成变更后,Drasi即登记自动化反应,像是传送警示、告知其他系统、或执行修正步骤,这些都可视用户管理需求自订。

Drasi上周公开于GitHub。Drasi元件(Sources、Reactions)预设支援PostgreSQL、Microsoft Dataverse、Azure Event Grid,但用户也可整合想要的资料源。