在规划应用程序设计时,Microsoft Azure 中有太多可供选择的选项。 Azure本身并没有停滞不前,看起来最近添加了许多选项。我是一个相当菜鸟的独立开发者,所以我需要一些切入点来选择架构。
该应用程序由以下部分组成:
<强>1。数据库
经典 SQL 数据库已通过 Azure SQL 数据库
实现。
<强>2。服务器端应用程序。 (需要架构重构)
目前应用程序是一个 .NET C#/WPF 桌面应用程序,托管在带有 Windows Server 的经典 Azure 虚拟机
上。
这是一个始终运行的调度程序,可以一项一项地执行各种任务。
任务主要是长时间运行的工作,从 Web 获取一些数据,对收到的数据进行 CPU 密集型处理,以及使用数据库。
感觉像是一种古老且错误的设计(考虑到大量的 azure 功能):
a) 应用程序实际上不需要 GUI,只需要控制调度程序状态的能力。
b) 从逻辑上讲,某些类型的任务可以同时执行,其中一些任务必须等待其他任务完成才能开始。现在所有任务都一一执行,这是虚拟机性能限制造成的。我认为必须有一种方法可以在比桌面应用程序内部更高级别的抽象上实现并行工作和控制结果。我想以某种方式移动调度逻辑来升级。 (也许 IaaS->Paas 放在这里?)
<强>3。客户端应用程序。
客户端应用程序。注册用户可以使用数据库。
这里有问题:
本例中应选择哪种服务器端应用程序设计,需要哪些 Azure 功能?
Azure 是否有内置功能来管理注册用户帐户,或者唯一的方法是将其作为应用程序的一部分实现?
最佳答案
您是否探索过其他存储选项,或者 SQL 数据库正是您所需要的? 让我们从头开始:
存储:您可以选择 1. 存储 - Blob、表、队列和文件存储以及 VM 磁盘 2. SQL数据库——基于市场领先的Microsoft SQL Server引擎的云端关系数据库服务,具有关键任务功能 3. Document DB - 专为现代移动和 Web 应用程序设计的无模式 NoSQL 文档数据库服务 4. StorSimple——管理本地设备和Microsoft Azure云存储之间的存储任务的集成存储解决方案 5. SQL数据仓库——能够处理PB级关系和非关系数据的企业级分布式数据库 6. Redis 缓存 - 高吞吐量、一致的低延迟数据访问,以构建快速、可扩展的应用程序 7. Azure 搜索 - 用于 Web 和移动应用程序开发的搜索即服务
时间表:您可以选择 1. 虚拟机 2. 云服务(辅助角色):您对虚拟机有更多控制权。您可以在云服务虚拟机上安装自己的软件,并且可以远程访问它们。 3. Batch:云规模作业调度和计算管理 4. Service Fabric:分布式系统平台,用于构建可扩展、可靠且易于管理的云应用程序 5. 应用服务:适用于任何设备的可扩展 Web 应用、移动应用、API 应用和逻辑应用
客户:你可以试试 1. 网络应用程序 2.云服务(Web角色)
使用此链接作为根据功能进行精美分类的所有 Azure 服务的一站式商店。从这里您可以选择各种服务并将其放大以满足您的应用程序的要求。 主列表:http://azure.microsoft.com/en-in/documentation/
关于c# - Azure 解决方案设计指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32621321/