哈布雷上的Termidesk

第一部分:了解架构与用途

俄罗斯开发商"UVEON — 云技术"有限责任公司(隶属于"阿斯特拉"集团公司)的软件产品Termidesk,旨在创建虚拟工作场所基础设施(VDI)。为了加速其发展并为客户提供高水平的服务,"阿斯特拉"集团计划在未来几年内将专业技术人员编制增加十倍,因此我们每天都会为各级技术职位的候选人安排面试。

在候选人了解虚拟工作场所基础设施结构的过程中,发现了一个有趣但完全可以解释的特点。许多人虽然对LDAP、FreeIPA、MS AD、Docker、vSphere、libvirt/KVM、oVirt、OpenNebula、OpenStack、SPICE、RDP和VNC等技术、协议和解决方案拥有广泛的视野和经验,但往往对服务器虚拟化平台与完整VDI基础设施的构建原理和关键区别并不十分清晰。

发生这种情况的原因之一,可以用服务器虚拟化平台本身的发展历程来说明。系统管理员们并非一开始就接受了将所有鸡蛋服务放在一个篮子里的想法,但随着技术的发展以及备份工具的应用,此类解决方案才变得越来越普遍。

如今,恐怕已经看不到新的IT基础设施完全依赖"1台服务器——1项服务"模式的情况了,使用虚拟化事实上已成为构建企业级信息通信基础设施不可或缺的方法。

我们相信,由于VDI技术易于使用且具有广泛优势,类似的情况也将在其身上发生。通过下面的例子,我们可以看到用户如何能轻松地从任何地点的任何设备,访问包含一套预装软件的工作场所。

在了解并理解各个组成"砖块"用途的基础上,如何把握整体图景?或许从局部到整体是合理的,但为了便于理解,我们尝试反过来,并通过对比来说明:

以VMware和Termidesk解决方案为例比较VDI构建原理
以VMware和Termidesk解决方案为例比较VDI构建原理

图中可见构建虚拟工作场所基础设施所采用的多层方法是相同的。但为什么VDI不是一个像EXE\MSI文件那样的单体产品呢?

这个问题的答案在国际电信联盟的建议中有所阐述,该建议描述了DaaS(桌面即服务)的功能架构。

在此也简要说明一下这两种方法的根本区别:

  • DaaS是一种提供对虚拟化工作场所和应用程序进行远程访问的服务;

  • VDI是一种部署在本地数据中心的产品,与DaaS类似,提供对虚拟化工作场所和应用程序的远程访问。

该建议强调了一系列VDI/DaaS系统的关键组成部分,这些部分在基于Termidesk构建工作场所基础设施中得到了应用。

连接管理器

管理器的主要任务是为授权用户提供其虚拟工作场所。为此,它实现了以下功能:

  • 与托管虚拟工作场所的服务提供商(虚拟化平台)进行交互;

  • 与本地身份识别系统或集中式目录服务进行交互,以执行用户身份验证和授权程序;

  • 根据指定参数配置虚拟工作场所的客户操作系统——更改主机名、加入域基础架构;

  • 维护虚拟工作场所的生命周期。

管理器通过以下模式构建虚拟工作场所池:

  • 个性化工作场所——为每个用户创建独立的虚拟机,包含必要的应用软件集。用户退出时,虚拟工作场所的状态得以保留;

  • 共享工作场所——基于虚拟工作场所模板,为一组用户创建一组包含必要应用软件的虚拟机。用户数据不保存在虚拟工作场所中,用户退出后虚拟机即被删除。虚拟工作场所分配给第一个连接的用户。

通过图形化管理界面和命令行对管理器进行管理和配置。

连接网关

网关通过使用一个IPv4地址和一个TCP端口,确保虚拟工作场所基础设施与外部世界的隔离。它可以与管理器一起安装,也可以为了扩展而单独安装。

网关在解决方案各组件中的位置
网关在解决方案各组件中的位置

客户操作系统代理

该组件安装在客户操作系统中,通过与连接管理器交换数据,实现灵活管理虚拟工作场所,并支持双向通信。

客户操作系统代理的示意用途
客户操作系统代理的示意用途

连接客户端

该程序安装在用户的计算机上,该计算机可以是运行各种操作系统的零客户端、瘦客户端或胖客户端。该程序负责连接到连接管理器并为所选交付协议启动应用程序。

客户端与VDI解决方案其他部分的示意性交互
客户端与VDI解决方案其他部分的示意性交互

因此,任何VDI产品或DaaS服务都表现为一个综合性解决方案,其中每个组件都扮演着自己重要的角色。为了更直观,下图更清晰地描述了连接管理器、交付协议之间的关联,以及通过连接客户端和客户操作系统代理支持的交互。

以Termidesk为例的VDI构建架构
以Termidesk为例的VDI构建架构

我们计划在后续系列文章中,根据Termidesk发展路线图的执行情况,向社区介绍主要的开发成果及其技术实现的特性。Termidesk每季度发布更新,并在日历年末推出主要版本。

今年的主要开发成果包括以下组件和功能: 

  • Termidesk Viewer – 该组件已创建,用于替代Remote Viewer模块。该组件的实现能够优化带宽使用并提升用户在使用视频会议解决方案时的体验质量;

  • 应用程序流式化组件 – 该组件将实现单个应用程序(Linux/Windows)的交付,并能将单个应用程序挂载到客户操作系统中;

  • 用户配置文件管理器 – 该组件能够将用户数据与虚拟机映像本身明确分开。 

在下面的例子中,我们将使用连接客户端并应用Termidesk Viewer组件连接到虚拟工作场所,可以观察到传输摄像头数据时的带宽优化情况:

  • Termidesk Viewer在视频会议系统中的优化工作模式(示例中约为1.5 Mbit/s);

  • 将摄像头作为原始(RAW)设备透传到虚拟工作场所,这是Remote (Virt) Viewer的默认方式(示例中约为31.5 Mbit/s)。

使用iftop命令实时监控虚拟工作场所中摄像头的出站流量(来自连接设备),结果显示在屏幕底部。

在这种情况下,服务器虚拟化基础设施的工作特点可能因所选解决方案而有根本不同。而Termidesk虚拟工作场所连接管理器本身能够与广泛的解决方案交互,包括"Brest"虚拟化工具包、zVirt、VMware、Aerodisk vAir、oVirt、Openstack以及其他为用户提供DaaS服务的云平台。

至此,以Termidesk为例对VDI/DaaS解决方案的简要介绍就结束了。在接下来的文章中,我们将开始阐述我们产品功能的特点。下次见!

是的,我们在工作中和面试中经常使用我们自己的产品。因此,如果有人对此发展方向感兴趣,我们很乐意与您会面。请通过info@uveon.ru给我们写信,并在HH.ru网站Habr.Career上关注"阿斯特拉"集团的职位空缺。


06.09.2022