解决方案构想
本文介绍了一种解决方案构想。 云架构师可以通过本指南来帮助可视化此体系结构的典型实现的主要组件。 以本文为起点,设计一个符合工作负荷特定要求的架构合理的解决方案。
本文介绍使用人工智能 (AI) 自动执行数据分析和可视化的解决方案。 解决方案中的核心组件包括 Azure Functions、Azure AI 服务和 Azure Database for PostgreSQL。
体系结构
下载此体系结构的 Visio 文件。
数据流
- Azure 函数活动允许在Azure 数据工厂管道中触发 Azure Functions 应用。 创建链接服务连接,并将链接服务与活动一起使用,以指定要执行的 Azure 函数。
- 数据来自多个源,包括 Azure 存储和用于大容量数据的 Azure 事件中心。 管道收到新数据时,会触发 Azure Functions 应用。
- Azure Functions 应用调用 Azure AI 服务 API 来分析数据。
- Azure AI 服务 API 将 JSON 格式的分析结果返回到 Azure Functions 应用。
- Azure Functions 应用在 Azure Database for PostgreSQL 中存储 Azure AI 服务 API 中的数据和结果。
- Azure 机器学习使用自定义机器学习算法来进一步深入了解数据。
- 如果你要从无代码的角度来研究机器学习步骤,则可对数据实现进一步的文本分析操作,例如特征哈希、Word2Vector 和 n 元语法提取。
- 如果你更喜欢代码优先方法,可以在机器学习工作室中将开放源代码自然语言处理 (NLP) 模型作为试验运行。
- 借助适用于 Power BI 的 PostgreSQL 连接器,可以在 Power BI 或自定义 Web 应用程序中探索人类可解释的见解。
组件
- Azure 应用程序服务提供完全托管的平台,用于快速生成、部署和缩放 Web 应用和 API。
- Functions 是事件驱动的无服务器计算平台。 如需了解如何使用活动在数据工厂管道中运行函数,请参阅 Azure 数据工厂中的 Azure 函数活动。
- 事件中心是一个完全托管的大数据流式处理平台。
- 认知服务提供一套 AI 服务和 API,可用于将认知智能构建到应用中。
- Azure Database for PostgreSQL 是一种完全托管的关系数据库服务。 它为 PostgreSQL 提供高可用性、弹性缩放、修补和其他管理功能。
- Azure 机器学习是一种可用于训练、部署和自动化机器学习模型的云服务。 工作室支持代码优先方法和无代码方法。
- Power BI 是一系列软件服务和应用,可显示分析信息并帮助你从数据中获取见解。
方案详细信息
自动化管道使用以下服务来分析数据:
- Azure AI 服务使用 AI 进行问答、情绪分析和文本翻译。
- Azure 机器学习提供用于预测分析的机器学习工具。
为了存储数据和结果,该解决方案使用 Azure Database for PostgreSQL。 PostgreSQL 数据库支持非结构化数据、并行查询和声明性分区。 这种支持使 Azure Database for PostgreSQL 成为高度数据密集型 AI 和机器学习任务的有效选择。
该解决方案可自动交付数据分析。 连接器将 Azure Database for MySQL 与可视化工具(如 Power BI)链接在一起。
该体系结构使用 Azure Functions 应用从多个数据源引入数据。 它是一种无服务器解决方案,具有以下优势:
- 基础结构维护:Azure Functions 是一项托管服务,使开发人员能够专注于为企业提供价值的创新工作。
- 可伸缩性:Azure Functions 按需提供计算资源,因此函数实例可根据需要进行缩放。 当请求减少时,资源和应用程序实例都会自动减少。
可能的用例
Azure Database for PostgreSQL 是基于云的解决方案。 因此,不建议将此解决方案用于移动应用程序。 它更适用于以下行业和其他行业的下游分析:
- 运输:维护预测
- 金融:风险评估和欺诈检测
- 电子商务:客户流失预测和建议引擎
- 电信:性能优化
- 公用事业:避免中断
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
对于大多数功能,Azure AI 语言 API 的单个文档的最大大小为 5120 个字符。 对于所有功能,最大请求大小为 1 MB。 有关数据和速率限制的详细信息,请参阅适用于语言的 Azure 认知服务的服务限制。
在 Azure Database for PostgreSQL 中,流入量和速度决定了服务和部署模式的选择。 可使用两种服务:
- Azure Database for PostgreSQL
- Azure Cosmos DB for PostgreSQL,以前称为超大规模 (Citus) 模式
如果要挖掘大量客户意见和评论,请使用 Azure Cosmos DB for PostgreSQL。 在 Azure Database for PostgreSQL 中,有两种模式可用:单一服务器模式和灵活服务器模式。 若要了解何时使用每种部署模式,请参阅什么是 Azure Database for PostgreSQL?。
此解决方案的早期版本使用 Azure AI 服务文本分析 API。 Azure AI 语言现在统一了 Azure AI 服务中的三个单个语言服务:文本分析、QnA Maker 和 语言理解 (LUIS)。 可以轻松地从 文本分析 API 迁移到 Azure AI 语言 API。 有关说明,请参阅迁移到最新版本的适用于语言的 Azure 认知服务。
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述。
Azure Database for PostgreSQL 中的所有数据会自动加密和备份。 可以配置 Microsoft Defender for Cloud 来进一步缓解威胁。 有关详细信息,请参阅为开放源代码关系数据库启用 Microsoft Defender 并响应警报。
DevOps
可使用 GitHub Actions 的连接字符串并设置工作流,配置 GitHub Actions 以连接到 Azure Database for PostgreSQL 数据库。 有关详细信息,请参阅快速入门:使用 GitHub Actions 连接到 Azure PostgreSQL。
还可使用 Azure Pipelines 自动执行机器学习生命周期。 有关如何实现 MLOps 工作流并为项目生成 CI/CD 管道的信息,请参阅 GitHub 存储库使用 Azure ML 的 MLOps。
成本优化
成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述。
Azure AI 语言提供各种定价层。 处理的文本记录数会影响成本。 有关详细信息,请参阅适用于语言的 Azure 认知服务定价。
后续步骤
- Azure Functions 概述
- Azure 数据工厂中的 Azure 函数活动
- Azure 事件中心 - 大数据流式处理平台和事件引入服务
- 什么是 Azure 认知服务?
- 什么是适用于语言的 Azure 认知服务?
- 如何以异步方式使用语言服务功能
- 适用于语言的 Azure 认知服务 API 测试控制台
- 使用 DirectQuery 将 PostgreSQL 链接到 Power BI
- 在 Azure 门户中创建 Azure Cosmos DB for PostgreSQL 群集
- 教程:在 Power BI 中使用 Azure 机器学习模型
- 使用语言服务从文本中提取见解
- Microsoft 认证:Azure AI 工程师助理