Azure 解决方案设计指南

Azure solution design guidelines

在规划应用程序设计时,Microsoft Azure 中可供选择的选项太多。 Azure 本身并没有停滞不前,看起来最近添加了许多选项。我是一个非常菜鸟的独立开发者,所以我需要一些切入点来选择架构。

该应用程序包括以下部分:

1.数据库

经典 SQL 数据库已使用 Azure SQL database 实现。

2。服务器端应用程序。 (需要架构重构)

目前应用程序是一个 .NET C#/WPF 桌面应用程序,托管在经典 Azure Virtual Machine 上,板载 Windows 服务器。 这是一个 always-运行 调度器,它一个接一个地执行任务。 任务主要是长时间的 运行 从 Web 获取一些数据,CPU 绑定处理接收到的数据,使用数据库。

感觉像是一种古老而错误的设计(考虑到大量的天蓝色特征):

a) 该应用程序确实不需要 GUI,只需要能够控制调度程序的状态即可。

b) 逻辑上可以同时执行某些任务,其中一些任务必须等待其他任务完成才能开始。现在所有的任务都一个一个执行,那是虚拟机性能限制造成的。我认为必须有一种方法可以在比桌面应用程序内部更高的抽象级别上实现并行工作和控制结果。我想以某种方式移动调度逻辑来升级。 (也许 IaaS->Paas 在这里?)

3。客户端应用程序。

客户端应用程序。注册用户使用数据库。

这里的问题:

在这种情况下应该选择哪种服务器端应用程序设计,需要哪些 Azure 功能?

是否有 Azure 内置功能来管理注册用户帐户,或者唯一的方法是将其作为应用程序的一部分来实现?

您是否探索过其他存储选项或 SQL 数据库是您所需要的? 让我们从头开始:

存储空间:您可以选择 1. 存储 - Blob、Table、队列、文件存储和 VM 磁盘 2. SQL数据库——基于市场领先的微软SQL服务器引擎的云端关系数据库服务,具有关键任务能力 3. 文档数据库 - 专为现代移动和 Web 应用程序设计的无模式 NoSQL 文档数据库服务 4. StorSimple——管理本地设备和微软Azure云存储之间存储任务的集成存储解决方案 5. SQL 数据仓库-企业-class 分布式数据库,能够处理 PB 级的关系和非关系数据 6. Redis Cache——高吞吐量、一致的低延迟数据访问,以构建快速、可扩展的应用程序 7. Azure Search- 用于 Web 和移动应用程序开发的搜索即服务

预定:您可以选择 1. 虚拟机 2. 云服务(工作者角色):你对虚拟机有更多的控制权。您可以在云服务 VM 上安装自己的软件,并且可以远程访问它们。 3.批处理:云规模的作业调度和计算管理 4. Service Fabric:分布式系统平台,用于为云构建可扩展、可靠且易于管理的应用程序 5. 应用服务:适用于任何设备的可扩展 Web 应用、移动应用、API 应用和逻辑应用

客户:你可以试试 1.网络应用 2. 云服务(网络角色)

使用此 link 作为所有 Azure 服务的一站式商店,这些服务根据功能进行了精美分类。从这里您可以选择各种服务并将其扩展到您的应用程序的要求。 主列表:http://azure.microsoft.com/en-in/documentation/