查看原文
其他

阿里『无影』,Citrix可以这样落地

Yunhe 大大李的技术分享 2022-11-12

在前天和郜俞(很资深的VDI专家)聊天时,偶然提到了阿里云的『无影』,其实很早就知道无影是采用Citrix的方案,只是没有细究。


今天就趁着有『1元试用』,从一个部署工程师的角度来简单体验一下阿里是如何理解桌面的。


无影云桌面,之前叫弹性云桌面,其实英文是Elastic Desktop Service,还是弹性云桌面。『无影』就是阿里系惯用的花名。『无影』的交付方式有点Copy Citrix Cloud意思,去年发布时搭配那个C-KEY的宣传理念也更是十分贴合Citrix Digital Workspace,但去年的理念今年看起来离落地还有点距离;似乎只是弹性云桌面下架后换成了『无影』。


 如何开通『无影』


看我文章的人虽不多,但几乎都是VDI老司机,我比较擅长的step by step这里就不需要了,简单的过下开通的流程吧,其实挺简单的,初次不看任何说明也能在几分钟内搞定。


首先创建一个『工作区』,自动生成的工作区ID将作为连接『无影』的地址;

选项按照字面意思理解即可,桌面本地管理员可以勾选『将该工作区下用户使用桌面是默认为桌面本地管理员』,这样后台添加的用于登录无影桌面的用户将被赋予管理员权限,我发现这个功能的实现并不是通过组策略,后面我来分析;

定义好名称,购买时长选择1周才是1元试用,不过1个月试用才30多块钱;

然后创建用于登录桌面的用户并分配桌面


 如何使用『无影』


无影提供2种登录桌面的方式,客户端与HTML5(StoreFront大法好)

首先体验HTML5的方式,阿里云在交付桌面时没有采用Citrix ADC,我分析应该是因为身份认证的问题,阿里自己搞了一个类似Citrix ADC的东西 

登录地址:https://wuying.aliyun.com,输入工作区ID进入到我们的工作区认证页面;

完成身份认证后就到了阿里深度定制的Receiver for web页面了,这个桌面信息的展示似乎很像华为WI的风格,我很喜欢这个风格,可能看标准的Receiver for web简洁风太久了;

这下Citrix的小伙伴们肯定都看懂了吧,阿里在StoreFront上创建了一个Receiver for web 站点,然后始终启用Receiver for HTML5;阿里为HTML5登录方式起的名字挺好的,『Web 客户端』

然后我们看下PC\Mac客户端,阿里在这个地方动的脑筋可多了,首先无影客户端在安装中会释放一个阿里改logo版的Citrix Workspace app,然后check当前环境是否安装标准的Citrix Workspace app或阿里版的Workspace app,如果安装了就跳过安装,没有检测到就安装阿里版Workspace app;感觉阿里这样做其实也挺无奈的,为了身份认证和国人更习惯的登录方式似乎也只能如此了,这个团队真的挺聪明的

输入工作区地址并完成身份认证

进入到了StoreFront上创建的另一个Receiver for web 站点,后台的Workspace部署选项肯定是选择『本地安装』了

通过Citrix StoreFront生成的ICA文件被下载到本地并通过C:\Program Files (x86)\Citrix\ICA Client\wfcrun32.exe打开桌面;这个过程也就是很标准的『Session Launch』了

在最初我觉得无影云电脑客户端是个类似VPN的东西,身份认证后调取本地安装的Workspace app完成Session Launch,但在体验的iOS版后似乎电脑客户端是还内嵌了一个浏览器,内嵌的浏览器完成了Receiver for web的打开、ica文件的关联;


而移动端并没有像PC一样需要安装Workspace app,仅安装无影云电脑客户端就可以了,毕竟在PC端的方法反而在移动端显得很鸡肋,可以从『上传』『下载』菜单看出是HTML5;

通过我们团队写的『云桌面助手』小工具也更能验证这一点 ,看『客户端名称』的结果


从客户端上可以看出阿里在优化Citrix用户登录上面的伟大工作,有时候我们也经常抱怨Workspace客户端登录方式不太友好,通过浏览器登录插件调取在不同的浏览器上面表现各异;通过Workspace直接登录,默认的快捷方式用户也很难找到。最近我们团队也在做类似的事情,为PC登录的采用脚本完成Workspace app的安装与配置,自动完成Workspace快捷方式,store配置、桌面\应用快捷方式的自动配置,避免浏览器的差异问题而增加的用户使用难度;但体验完阿里的,感觉『无影』做的更好,要学习并借鉴这种思路。


 体验『无影』


Citrix桌面是加域的,我体验的『无影』桌面域名是ecd.acs,配置是双网卡,1个是我们创建的VPC,另一个是和AD\DDC等通信的网络

从磁盘驱动器就能看出来底层是KVM了,不过互联网大厂是真的牛掰,8163,这CPU巨贵啊

在Intel ARK上面没有看到8163,似乎是云厂商的定制版CPU,不过找到了8160和8164,8160 list price也要4700美金一颗啊, 阿里豪橫



『无影』应用管理  


除了2个浏览器外,桌面基本没有其它软件

在控制台中有个菜单是『企业应用管理』,本以为可能是App Layering;点开发现自己想多了,是类似360软件管家的东西,默认有几个软件,也可以上传本地应用,不过只支持exe和msi格式;比较专业的软件就不适合这样做了;

只是应用管理多了权限管理;这个和『飞书』工作台的应用逻辑很像;

对应到桌面就是『应用中心』,点击下载就会把安装包下载到桌面,然后手动完成安装;这个逻辑很简单,和我们在项目中用的最多的共享文件夹有些类似,只是这个显得专业。



 『无影』桌面优化的功力  


这是我最关注的内容,在此之前我体验过很多公有云桌面,像华为公有云桌面、天翼云桌面、各种游戏云桌面、Axesoft公有云桌面(Horizon方案)、VMware Hands-on Labs、Citrix Cloud、Azure WVD 等。基本上,海外大厂的桌面优化、AD基础架构等方面做的是真的很优秀;国内厂商大多做的不尽人意,很多还没有我们团队做的好,基本上简单体验就能感受到对方Windows层面的功力。


而阿里这次『无影』的体验还是很惊艳的,这是真正的大厂,优秀的微软工程师做出的桌面及AD环境令人叹服。在『无影』桌面的很多地方都值得玩味,下面是我体验1天的收获;


1、任务计划

  • SetupDns

    大致逻辑:通过一个URL检查分配给该桌面的IP地址,如果检测到当前IP与查询到的IP相同则将ParmiaryNic的DNS地址改为AD的DNS。这个就很值得借鉴了,在专有桌面中发生因用户私自更改DNS引起桌面无法注册的问题就可以通过这个来避免了。


  • DeleteIPRoute

    从 Windows 路由表中删除路由,这个我想不出在我参与的项目中有什么应用的场景,就不耽误功夫分析了;不过脚本的的编写还是值得研究的。


2、默认Windows壁纸

     这个很多人都在用,直接替换『C:\Windows\Web\Wallpaper\Windows\img0.jpg』文件,要比修改C:\Users\Default\NTUSER.DAT简单很多。


3、定制Default达到很多Windows的默认设置

     这个就很显水平了;我经常和公司的Windows专家张小康探讨关于此方面的内容,所以经常『抓注册表』;在『无影』桌面的默认设置、桌面性能选项等都可以看懂是通过修改NTUSER.DAT来实现的,但开始菜单的『常用工具』的这个布局真的的惊艳到我了,我们在项目中是通过导出一个xml文件,然后通过组策略或注册表来推统一开始菜单布局,但『无影』固定的快捷方式竟然还可以取消固定,这显然与我的方法不一样。

     不过开心的是我在『C:\Users\Default\AppData\Local\Microsoft\Windows\Shell』目录下看到了这个,开心、开心


4、活动目录


  • GPO

    除了2个Default Domain Policy,竟然没有额外的GPO,这个很符合公有云的style,一切设置通过定制Default来实现,避免直接强制配置某些选项;


  • RSOP.MSC

    竟然load不出来『用户配置』,这个很奇怪,难道我用的不是AD Account登录的?不过遇到了解析错误,这个似乎是因为IE浏览器被卸载导致的,没啥影响了。

  • AD Account

    这个就更奇怪了,list不出来除了默认以外的OU,而且list不出来除了默认以外的任何用户和组;计算机也list不出来,这是怎么做到的,十分好奇啊


  • 4、神奇脚本

  • 在『C:\ProgramData\aliyun\assist\work\script』目录下发现10个很厉害的脚本,有2个很高级。阿里云采用KVM架构,阿里在桌面克隆的方法中并没有采用适配Citrix MCS的方式,看起来是克隆桌面后通过自动生成的脚本来自动完成sysprep的过程;在桌面中我看到了2个服务,在新建完桌面并分配给用户后,后台服务自动生成的脚本应该就是通过以下2个服务中的1个load到桌面后完成配置的。

  • 大概读一下

    从开头的这些变量及后面的内容,大概可以明白这个脚本用于自动加域、配置IP、增加或删除任务计划、修改VDA默认注册端口为50000等,非专业powershell开发者,看起来好吃力,不过这些脚本拿出来学习部分自动化实现的方法是很好的。

    将我当前的用户加入本地管理员组

    其它几个脚本都是关于AliyunEdsAgent 的,向注册表添加相关的Token。 

  • 5、太晚了,不研究了,最后看3个好玩的

    人家3个Delivery Controller支撑起了『无影』,有些人还讨论要不要多搞几个DDC?


    我猜阿里运维工程师肯定不看Director

    大家也猜猜阿里的Citrix Studio中的『策略』会是多么庞大的一个列表呀?


 Ending 


阿里微软工程师们的工作挺优秀的,『无影』团队对桌面的理解也很到位,更简单的用户体验,颇具风度的默认配置令我印象深刻;好久没有看到如此优秀的部署了。很感谢郜俞和我聊天时提到阿里,让我萌生了测试的想法并付诸行动。见贤思齐,很想认识一下『无影』团队的高人。另外也看到『无影』的『安全浏览器』快要发布了,期待看到Citrix安全浏览器是如何在阿里落地的。


-----------------------------


最后祝各位七夕快乐

愿我们团队的小钱哥哥、小贺哥哥早日脱单


我们家贺哥哥还小,还能等1年;有合适的姑娘优先给我们小钱哥哥介绍吧


有车有房有车位

还能帮你还花呗


合适的速来!速来!






您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存