我开发了一个桌面应用程序,现在我需要用户能够通过 RDP 连接使用它。我在 Azure 虚拟机中安装了 Windows 2012。我知道我需要为每个用户提供 CAL 许可证。请记住,用户不需要访问 Windows 桌面或除我的应用程序之外的任何其他应用程序,我已将 Windows Server 配置为当他们登录时,应用程序会自动启动,当他们关闭应用程序时,会话也会关闭。因此,用户永远不会看到桌面或访问任何其他资源。
我的问题是,对于以下场景,哪种选择最具成本效益:
- 用户总数:500
- 同时用户数(最坏情况下同时连接):<20
- 用户只能看到我的应用程序,看不到桌面,也看不到 Windows 资源
- 该应用程序基本上是一个使用 SQL 数据库的业务应用程序
我是 CAL 许可证的新手,我不清楚是否有同时使用用户而不是全部用户的选项。另外,我正在阅读有关 Azure Windows 虚拟桌面的信息,但我不确定它是否更方便。
答案1
对于您所说的内容,Azure VDI 是更好的选择。您部署应用程序,然后通过 Azure 订阅授权用户访问它。这需要大量的后端设置,特别是考虑到您已经有了应用程序的工作版本,但这确实是您想要做的。对于要为 500 名个人用户提供服务的部署,您应该联系您的 Azure 代表以获取有关规划和授权解决方案的帮助。Solarwinds演练如果您会使用 PowerShell,那么发布非内置 Windows 应用程序的指南将非常全面且易于理解。如果您不会使用 PowerShell,那么一切都会变得很艰难。
如果您想使用 RDS,您将需要构建一个 RDS 场来支持那么多用户。
可以通过以下方式在 Azure 上部署 RDS 场Azure 市场。如果您不想使用市场版本,那么在 Azure 上部署与在本地部署基本相同,您需要一个网关、一些会话主机(具体取决于您的应用程序的资源密集程度)、防火墙设置,当然还有许可。您可以找到有关如何执行技术设置的更多详细信息这里。
对于按用户 CAL,您需要为将要连接的每个用户授予许可,无论他们是否同时连接。您将每个 CAL 附加到 AD 中的用户。对于按设备 CAL,您需要为用户连接的设备授予许可。因此,根据用户的连接方式,您的许可选项大致相同,或大不相同。您可以找到更多详细信息这里,但它和微软发布的有关许可的任何内容一样清晰。
对于任何许可,最好的选择是与微软讨论如何正确地许可;他们提供许可认证是有原因的。
如果您的应用程序支持 Server 2012,您还应该计划迁移它。2012 不再受主流支持,并将在未来 3 年内停止扩展支持。如果您在 Azure 中运行所有内容,那么只有在使用混合许可优势。如果您没有 SA,则使用它可能会违反许可。如果您有有效的 SA,则应该在 Server 2016 或 2019 上部署。2012(r2) 和 2016 之间有相当大的改进以及安全性增强,2019 更是如此。