无影云应用核心技术解读
摘要:本文整理自阿里云无影高级技术专家付志超,在阿里云EMR StarRocks无影云应用线上发布会的分享。
本篇内容主要分为三个部分:
- 无影云应用产品简介
- 无影云应用技术架构
- 总结&展望
一、无影云应用产品简介
首先,介绍一下无影云应用产品特性。无影云应用自研多款硬终端,同时开发了windows系统、mac系统的软终端,以及web客户端。对主流平台进行了全面的覆盖。
除此之外,无影云应用提供了丰富的应用生态。应用生态是无影作为云办公平台的基础能力。无影云应用通过应用虚拟化技术统一调度来实现Windows 、Linux 、Android应用生态的融合。
不同生态的应用都以窗口形式在终端展示。用户使用软件不再受限于终端的系统类型,提升了用户的办公效率和办公体验。
二、无影云应用技术架构
为了实现云应用的极致体验,无影云应用在架构层面充分利用了阿里云网络、计算、存储的能力,构建了无影云应用的全域智能的调度和管控,可以根据用户需求进行多地域的一键弹性部署。
在技术层面,无影云应用实现了Windows、Linux、Android应用虚拟化多开,对应用的生命周期进行统一管理。其次,在应用池化方面,无影云应用实现了无影资源节点的池化和应用实例的池化。无影云应用可以在计算节点上,以应用为颗粒度进行算力调度,提供了丰富的弹性伸缩策略,帮助企业节省成本。
在调度方面,无影云应用实现了跨地域调度,让用户使用云应用的体验与本地应用效果一样。在业务能力建设方面,无影云应用提供了丰富的应用仓库、丰富应用控制策略,供大家开箱即用。与此同时,无影云应用开放了无影openAPI,让无影云应用能很便捷的与企业IT集成。
接下来,介绍无影云应用管控的技术细节。
第一,应用虚拟化技术。以更少的资源为用户提供更好的云化算力服务。企业不再需要为每个用户分配一个完整的操作系统。用户资源按需分配,支持弹性算力,应用即开即用,即用即走。
其次,通过对Windows平台、Linux平台、Android平台的应用管理,进行统一的抽象,为上层业务屏蔽底层平台的差异。无影云应用定义了云上应用统一的操作接口为未来云原生的应用奠定基础。
目前,应用虚拟化是把传统应用直接搬迁到云上,存在一定的虚拟化和系统OS的开销。云原生应用天然运行在云上,没有虚拟化,资源更弹性,资源的使用效率、应用使用体验,都有极致的提升。其容器化运行,开发、部署和运维都更加高效。
云应用算力池化是在云上被广泛使用的一种技术。针对不同领域、不同场景,池化各有特色。由于云应用本身的特性,应用一旦被分配给用户使用就要一直运行,直到用户使用完毕。
所以云应用的算力无法灵活停止和迁移,增加了无影池化技术的难度。无影的算力池化核心是为企业智能,动态伸缩云应用资源帮助企业节省成本。保障用户即开即用,即用即走的使用体验。
在系统层面,无影云应用提供了丰富的伸缩指标和多种伸缩策略。例如基于负载和时间定时的伸缩策略,在伸缩动作方面,无影云应用支持计算节点和应用实例的联动伸缩。
在具体的分布策略上,无影云应用支持Spread和Binpack模式。企业IT管理员可以根据自身使用云应用的特征,动态的配置策略,达到成本和体验的平衡,从而提升资源管理的效率。
为了保证应用即开即用的体验,无影云应用使用了应用预热技术。云应用的启动速度,直接影响用户的体验。当无影云应用不进行任何预热,从创建计算节点、执行应用镜像分发、启动无影组件、到最后启动应用,整个过程用户需要等待2-3分钟。
为了解决这个问题,无影云应用实现了多个层次的预开能力。无影云应用克服了大量的技术难点,实现了从节点预开、到会话预开、到最终的应用预开。当预开的应用分配给用户时,无影云应用会动态加载用户的个性化配置数据,保证用户在池子里面使用应用的体验是一致的。目前,在应用预开模式下,大型应用启动无影云应用能做到1秒以内。
云应用的多级调度是提升用户体验的另一个重要技术。多级调度核心要解决的用户合理的分配和调度云应用资源。
无影云应用将阿里云当成一个整体,实现了中心+单元的多级管控机制,企业可以在阿里云不同地域部署不同规格、不同的应用,来满足企业多个地域、多个部门、多个工作岗位的办公需求。
无影云应用通过中心的一级调度来进行地域的优选,在单元里面无影云应用通过二级调度进行交付组的优选,然后通过三级调度进行应用会话的优选。
为用户分配一个启动速度快、网络串流延迟低、性能高的应用实例。帮用户进行智能的选择,简化用户使用云应用的复杂度,保障用户使用的体验。
三、总结&展望
未来,无影云应用将继续向着Any File Any Time的方向努力。在技术方面,无影云应用将持续在多级调度、算力池化、云原生应用等方面投入,以可控的成本,卓越的体验,为用户提供云应用服务。