企业级应用统一管理
我们在使用智能手机的时候,手机 APP 从应用市场一键安装,安装好即点即用,当有新版本一键升级,如果不想用了长按图标删除,整个过程非常简单,小朋友都能熟练掌握。而对于企业应用,由于结构复杂、可用性要求高、配置多等特点,导致企业应用的管理工作异常复杂。企业内部一般都会有专门的运维工程师来负责保障企业应用的正常运行。
Rainbond 是一款云原生企业应用管理平台,本文将以它为例讲解,如何像管理手机 APP 一样简化管理企业应用。
建立企业应用商店,从应用商店一键安装企业应用
手机 APP 的安装已经做到了极致的简单,在预装好的 AppStore 中一键安装想要的 APP 即可。这种一键安装的体验流程,哪怕一个小朋友都可以很好的掌握。企业应用部署难度大,组件数量多,其安装的复杂程度远高于手机 APP 。那么在企业应用的安装领域,能否做到安装手机 APP 一样的一键式体验呢?
类比手机 APP 的安装过程,应用商店这个集合了大批 APP 的平台是必不可少的一环,正是有苹果 AppStore、Google Play 这样生态繁盛的应用商店,才让手机消费者随心所欲的安装手机 APP。Rainbond 应用商店是企业级的 AppStore。每个用户都可以将自己部署在 Rainbond 上的企业应用发布到应用商店中去,供其他用户使用,其他用户只要从应用商店一键安装和升级,使用体验和手机 AppStore 的体验类似。
为了最终用户的使用体验,开发手机 APP 的企业需要按应用商店的标准开发和上架,企业应用商店的实现也是类似的思路,企业应用的供应商需要按企业应用商店的标准打包和上架,Rainbond 内置的应用商店有一整套的应用打包、测试和上架过程,比如从源码打包、二进制文件打包、容器打包等,这些打包过程都不需要改动原有代码。按应用商店的规范打包和上架,不仅简化了应用的安装和升级过程,同时也建立了企业应用的验收标准。
企业应用管理复杂,该如何简化管理?
对于一个手机 APP 而言,实际上我们可以做的管理操作很少,仅仅涉及到安装、升级、删除。而一个企业应用则要复杂得多,一个企业应用所需要的管理操作,至少包含了以下这些点:
- 生命周期管理:就像手机用户需要安装、使用、升级、删除 APP 一样,安装、升级、启动、关闭、删除等生命周期管理相关的操作,是企业应用所需要的最基础的管理操作。
- 批量管理:手机 APP 只有一个组件需要管理,而企业应用往往是多个服务组件相互依赖组合形成的。所以会需要有批量操作的需求。
- 资源分配:手机用户从来不用关心需要为一个 APP 分配多少资源,而企业应用的管理者必须关心为每个组件分配合理的计算资源。计算资源分配不足会让企业应用运行不畅甚至无法运行,过多的分配计算资源会导致资源浪费。
- 伸缩特性:手机 APP 并没有运行多份的需求,它只需要保证在手机中正常运行, 满足主人的个人使用压力即可。企业应用无论是在高可用方面还是在抗并发方面,都会对横向伸缩能力提出要求。
- 可观测性:手机用户从来不关心是否能够看到手机 APP 的运行状态,只关心它们的功能。但是企业应用管理者会对企业应用提出很高的可观测性要求,包括运行状态、资源占用、性能表现、运行稳定性等。
- 故障恢复:手机用户允许 APP 偶尔出现闪退,无非是重新打开一次罢了。而企业应用管理者对企业应用的期待是,即使企业应用出现了问题,也可以快速从故障状态中恢复过来。
- 迁移/备份:手机 APP 的用户数据都保存在云端,数据的迁移、备份操作简单。企业应用重视数据,对迁移备份等操作要求很高,有的场景甚至要求跨集群迁移备份。
经过对比,可以发现企业应用在管理方面需要注重的点,比手机 APP 复杂得多。但这不意味着企业应用管理人员一定要付出更多的努力来管理企业应用。选择正确的企业应用管理工具,会使得企业应用管理工作事半功倍。
Rainbond 从三个方面简化企业应用的管理:
- 让常规的管理简单容易上手,比如:安装、升级、启动、关闭、删除、伸缩、配置域名等管理操作都可以一步完成。
- 复杂的运维过程实现自动化,比如:安装/升级/启动的操作过程、健康检测、服务高可用、自动伸缩等。
- 过程实时监控和可视化,由于管理过程实现了简单操作和自动化,就需要加强监控和可视化了解应用运行情况,做到过程可控可管。
让企业应用常规管理简单容易上手
前文已经分析过,手机用户对 APP 的管理操作是仅限于开启、关闭等简单的操作。对于企业应用而言,我们希望企业应用管理者主动发起的管理操作,也是足够简单的操作。企业应用管理人员完全通过图形化界面,来完成对企业应用的生命周期管理操作。
对于企业应用整体而言,可以执行批量的管理操作: