0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

toB应用私有化交付技术发展历程和对比

OSC开源社区 来源:OSC开源社区 作者:OSC开源社区 2022-11-30 16:18 次阅读

由于数据隐私和网络安全的考虑,大多数toB场景的客户需要私有化应用交付,也就是需要交付到客户的环境里,这样的客户有政府、金融、军工、公安、大型企业、特色行业等,这些私有化场景限制很多,如何提高私有化应用交付的效率是个难题,本文将介绍,私有化应用交付有哪些技术?他们都各自有什么特点?私有化应用交付的发展历程。

ToB应用私有化交付的困难点

环境网络限制,影响交付效率

  • 交付实施过程中不能方便查找资料
  • 在交付过程中,交付人员需要跟公司的开发进行沟通,网络限制会影响协作工具的使用,有些客户环境甚至不能带手机,会影响解决问题的效率,环境越复杂影响越大;
  • 在离线环境内,安装软件包也没办法直接下载,我们需要将安装文件或配置文件打包成离线包,在客户环境导入。由于业务的复杂性会导致镜像很多且很大,只能有交付人员带移动硬盘到客户现场导入,导致在导入离线包就会花费较多时间。甚至有些环境只能刻录光盘在客户环境导入,光盘本身存不了太大的包,只能分多个光盘刻录;

客户基础设施差异,需要适配过程

  • 在私有化场景,不同客户的安装环境也不一样,有些使用物理服务器,有些使用虚拟机,不同的虚拟机厂商也有差异。操作系统也各有不同,例如常见的操作系统有CentOS/Debian/Ubuntu/Redhat,当前还有很多国产化操作系统。CPU架构也可能不同,有X86、ARM等;
  • 资源准备周期长,需要审批流程;
  • 交付的应用需要很重的适配过程,要么在公司适配,要么在客户现场适配;
  • 由于环境差异很大,应用交付完需要完整测试和验证,需要大量的人力和时间投入;

交付人员的技术门槛高

  • 交付人员需要懂底层硬件和网络;
  • 交付人员需要懂操作系统和系统运维,需要懂服务治理、高可用、安全、性能分析、备份恢复、交付开发等等;
  • 交付人员要能独立排查交付应用的问题,需要很强的技术基础;

定制化交付迭代效率低

  • 在定制化交付场景,客户会参与到开发过程中,客户需要看到效果后反馈问题,再持续迭代,直到客户满意,过程中需要频繁升级产品
  • 如果开发人员在公司定制开发,升级过程复杂,沟通低效;
  • 如果开发人员在客户现场,没有好的开发工具和环境,开发效率低,人力投入大;

后期维护难度大

  • 应用交付完成后,后期需要保障应用运行的稳定性,离线环境远程没办法运维,报警没办法发出来,运维的难度大;
  • 产品有bug、一些预期内的变更或产品升级都需要出差客户现场,支持的成本比较高;

传统应用交付

传统的应用交付是直接交付二进制的可执行文件或软件包:

  • 二进制的可执行文件: java 的Jar,Linux 的可执行文件,windows的exe等。
  • 软件包: CentOS 使用 RPM 包,Debian 使用 DEB 包,Java Web 使用 WAR 包。

安装他们都需要先安装依赖的环境和基础软件,YUM 和DEB 有自己的管理依赖的软件源,但离线环境用不了,如果客户的操作系统不同,还需要另外想办法解决,运行这类服务为了解决启动和自动重启的问题,还需要通过 systemd 或 supervisor 的方式来管理。如果交付单体架构的应用传统应用交付方式还能胜任,但如果是复杂的微服务架构,传统应用交付方式将难以胜任。

14ab6cde-6fe6-11ed-8abf-dac502259ad0.jpg

在传统应用交付过程中,管理这些运行环境和操作系统差异是一个痛点,容器的出现解决了这个问题。

当前云原生技术应用交付

云原生应用交付主要使用的容器 和 kubernetes相关技术。

Docker 镜像交付

Docker 将业务和依赖的库一起打包成 Docker 镜像,在这个镜像中包含所有环境和应用,这样就可以达成一处打包、到处使用,我们可以将该镜像在任何支持 Docker 的操作系统上运行。Docker 的特性的确解决了很多开发、交付以及其他许多问题,因此 Docker 容器概念迅速的被普及。

14bef664-6fe6-11ed-8abf-dac502259ad0.jpg

在微服务架构场景,需要多个服务或应用一起交付,服务之间有依赖,还有复杂的配置,Docker-Compose解决了这个问题。

Docker-Compose应用交付

docker-compose 将多个服务或应用使用 YAML 的方式管理,可以利用docker-compose命令安装部署和管理,对于一个微服务架构的应用,利用docker-compose命令就可以在任何操作系统实现一键安装和运行,当然前提是需要安装好Docker 和 docker-compose。

14d08cc6-6fe6-11ed-8abf-dac502259ad0.jpg

对于单机场景docker-compose可以适用,当应用需要高可用或多节点分布式部署,docker-compose就不能胜任,Kubernetes的出现解决了容器的高可用和分布式调度问题。

Kubernetes YAML应用交付

在 Kubernetes 中部署业务我们需要定义 Deployment Statefulset Service 等资源类型,通过调整副本的方式 Kubernetes 会自动调度到多个节点实现业务高可用,在交付时我们只需要将这些 YAML 资源和 Image 导出,在客户的 Kubernetes 环境中部署并交付给客户。这种交付方式需要客户环境有Kubernetes或在客户环境安装Kubernetes。

14e69a20-6fe6-11ed-8abf-dac502259ad0.jpg

当我们将Kubernetes YAML交付很多客户的时候,就需要参数配置、版本管理和简单的安装和升级,Helm在Kubernetes YAML的基础上解决了上述问题。

Helm 应用交付

Helm 是 Kubernetes 资源的包管理器,它可以将一组资源定义成 Helm Chart 模版,提供了基于 Helm Chart 模块的安装和升级,安装时可以配置不同的参数。Helm 同样也是在 Kubernetes 交付中大多数人选择的工具。

14f839ec-6fe6-11ed-8abf-dac502259ad0.jpg

Helm最大的问题是需要开发者学习容器和Kubernetes整个技术栈,而且客户环境必须要有Kubernetes,学习和使用的门槛太高。抽象的应用模型是一个解决方案。

面向未来的云原生应用模型交付

应用模型强调以应用为中心的理念,让开发者专注在业务本身,在应用级抽象和包装底层复杂的技术,应用模型跟底层基础设施完全解耦,根据对接和交付的基础设施不同,自动转换和适配,真正实现一次开发,处处自动化部署。

1519d4e4-6fe6-11ed-8abf-dac502259ad0.jpg

基于OAM的KubeVela应用交付

OAM(Open Application Model) 是一个描述应用的标准规范。有了这个规范,应用描述就可以彻底与基础设施部署和管理应用的细节分开。通过将应用定义与集群的运维能力分离,可以让应用开发者更专注于应用本身,而不是”应用部署在哪“这样的运维细节。KubeVela基于OAM实现了应用跨云、跨环境持续交付。当前KubeVela对离线场景的应用交付支持较弱。

基于RAM的Rainbond应用交付

Rainbond 是一个云原生应用多云管理平台,Rainbond 遵循以应用为中心的核心理念,统一封装容器、Kubernetes 等复杂技术,将 Kubernetes 资源统一抽象成 RAM(Rainbond Application Model)应用模型,使用户能非常简单的使用 Kubernetes,降低用户使用的门槛,使用户专注于应用开发、应用交付和应用运维。

在对于离线交付场景,Rainbond基于RAM可以导出三种离线交付包:

  • Rainbond应用模版包,其中包含了复杂微服务架构交付的所有要素,支持升级和回滚,但要求客户环境安装Kubernetes和Rainbond;
  • 非容器的软件包,非容器包按照传统应用交付方式打包,但易用性更好,包中包含了环境依赖,并采用静态编译,适合大多数操作系统,使用 Systemd 管理;
  • Docker-Compose离线包,支持在标准Docker Compose 环境一键启动和管理;

综合对比

交付门槛 微服务支持 多节点调度
自动化运维
离线迭代效率 客户环境支持
传统交付 不支持 不支持 服务器
Docker镜像 不支持 不支持 容器/K8s
Docker Compose 支持 不支持 容器
K8s Yaml 支持 支持 K8s
Helm Chart 支持 支持 K8s
KubeVela 支持 支持 K8s
Rainbond 支持 支持 K8s/容器/服务器
  • 应用交付门槛,传统方式交付门槛最高;Docker、Docker-Compose、Kubernetes Yaml、Helm 和 KubeVela交付的门槛中等,因为需要学习会容器和Kubernetes相关技术;Rainbond使用最简单,不需要学习容器和Kubernetes。
  • 微服务支持,除传统应用交付和Docker镜像,其他方式都支持微服务编排和打包交付。
  • 多节点调度和自动化运维,Kubernetes Yaml、Helm、KubeVela和Rainbond支持Kubernetes的多节点调度。
  • 离线迭代效率,传统方式交付效率最低;Docker镜像有版本,而且一个命令就可以导出一个离线包,所以迭代效率高;Docker-Compose、Kubernetes Yaml、Helm 和 KubeVela需要手工逐个打出镜像离线包,复杂架构效率不高,而且手工容易出错;Rainbond支持自动化导出一个离线包,导入离线环境,可以一键升级和回滚,迭代效率很高。
  • 客户环境支持,不同客户有不同的运行环境,交付的包需要根据客户环境选择,传统应用交付方式适合老的一些基础设施,操作系统版本老,没办法安装运行容器;客户环境没有Kubernetes,也不允许安装Kubernetes,可以选择Docker镜像和Docker-Compose;Kubernetes Yaml、Helm、KubeVela 和 Rainbond 支持有 Kubernetes 的环境。


审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10863

    浏览量

    211763
  • 二进制
    +关注

    关注

    2

    文章

    795

    浏览量

    41652
  • 网络安全
    +关注

    关注

    10

    文章

    3159

    浏览量

    59758

原文标题:toB应用私有化交付技术发展历程和对比

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LP-SCADA的发展历程和应用行业?

    鹏测控科技有限公司)自主研发的数据采集监控平台。其发展历程与SCADA系统整体的技术进步紧密相关,同时也融入了蓝鹏测控自身的技术创新和市场需求导向。 SCADA(Supervisory
    发表于 12-05 13:57

    直流高压电源技术发展浅析

    领域技术空白,为直流高压电源的发展注入新的动力。 PPEC电源控制芯片融合了电力电子核心算法,覆盖常用拓扑结构,采用图形平台及菜单式配置实现了电源的 免代码快速开发 ,为电源研发企业降本增效。其广泛
    发表于 11-28 18:20

    工业自动发展历程与未来趋势

    工业自动(Industrial Automation)的发展旨在提升生产效率、降低成本并减少人力依赖,这一过程涵盖了多种技术的应用与进步。工业自动的核心在于将工厂中的机械设备、控制
    的头像 发表于 11-21 15:36 438次阅读

    开关电源的最新技术发展趋势

    开关电源作为电子信息产业的重要组成部分,其技术发展趋势一直备受关注。以下是开关电源的最新技术发展趋势: 一、高频 高频是提高开关电源效率和功率密度、降低体积和重量的重要途径。随着开
    的头像 发表于 11-20 10:46 689次阅读

    智能驾驶技术发展趋势

    智能驾驶技术是当前汽车行业的重要发展趋势之一,它融合了传感器技术、人工智能、大数据和云计算等多种先进技术,旨在实现车辆的自主驾驶和智能管理
    的头像 发表于 10-23 15:41 689次阅读

    直径测量工具的发展历程

    关键字:直径测量,工业直径测量设备,线性尺量器,光电测径仪, 直径测量工具的发展历程是一个悠久且不断创新的过程,它随着科学技术的进步而不断演变。以下是直径测量工具发展
    发表于 10-10 16:55

    蓝牙模块技术发展历程,连接未来,智享生活

    自20世纪末,蓝牙技术便以其便捷的无线连接方式,逐渐渗透进我们的日常生活。从最初的无线耳机、鼠标到如今的智能家居、物联网设备,蓝牙模块技术发展史,实际上是一部科技进步与人类智慧交相辉映的传奇史诗
    的头像 发表于 09-11 15:59 853次阅读
    蓝牙模块<b class='flag-5'>技术发展</b><b class='flag-5'>历程</b>,连接未来,智享生活

    智能水电表管理系统支持本地私有化部署吗?

    深入探讨智能水电表管理系统在本地私有化部署下的可行性、技术架构、核心优势及实施要点。一、可行性分析智能水电表管理系统的核心功能包括数据采集、分析、存储及可视展示
    的头像 发表于 08-12 20:32 276次阅读
    智能水电表管理系统支持本地<b class='flag-5'>私有化</b>部署吗?

    开启智能能效管理:4G 智能计量控制插座的协议对接与私有化部署

    4G智能插座以其先进的通信能力和精准的计量功能,为用户提供便捷、高效的能源管理方案。支持协议对接和私有化部署的特性,让数据安全得到保障。实时智能监控、断电告警、数据保护等全面解析,满足用户个性、智能控制需求。
    的头像 发表于 08-12 12:01 272次阅读
    开启智能能效管理:4G 智能计量控制插座的协议对接与<b class='flag-5'>私有化</b>部署

    NAND闪存的发展历程

    NAND闪存的发展历程是一段充满创新与突破的历程,它自诞生以来就不断推动着存储技术的进步。以下是对NAND闪存发展
    的头像 发表于 08-10 16:32 1287次阅读

    无线充电技术发展趋势

    目前无线充电技术还处于发展阶段,距离方案的成熟尚需不断探索和完善!降低热损耗,提升效率缩短充电时间,改良充电曲线以更好的保护负载设备(终端或者电池等)。
    发表于 08-03 14:26

    用友携手英特尔发布《用友BIP+英特尔第四代至强私有化部署蓝皮书》

    近日,由用友网络主办的“成就数智企业”2024大型企业数智峰会·西北峰会在陕西西安成功召开。在企业数智底座与数据智能创新论坛上,用友携手英特尔共同发布了《用友BIP+英特尔第四代至强私有化部署蓝皮书》,以全新的战略格局赋能新
    的头像 发表于 06-15 11:28 1094次阅读

    产品应用 | 小盒子跑大模型!英码科技基于算能BM1684X平台实现大模型私有化部署

    应对这些挑战,在边缘侧私有化部署大模型成为了一个有效的解决方案。 将大模型部署到边缘侧,不仅能够减少延迟和带宽消耗,使得大模型能够在边缘节点快速进行推理和应用;还能增强数据隐私保护,这对于维护企业的数据安全至
    的头像 发表于 06-14 16:29 714次阅读
    产品应用 | 小盒子跑大模型!英码科技基于算能BM1684X平台实现大模型<b class='flag-5'>私有化</b>部署

    PLC的发展历程

    最初的简单控制器发展成为现代工业自动领域中的智能系统。本文将详细介绍PLC的发展历程,包括其起源、
    的头像 发表于 06-14 10:15 2533次阅读

    AIBOX-1684X:把大语言模型“装”进小盒子

    。支持Docker容器管理技术。适用于智能监控、AI教学、算力服务、边缘计算、大模型私有化部署、数据安全和隐私保护等场景。全面的人工智能私有化部署语言大模型支持T
    的头像 发表于 04-20 08:02 1270次阅读
    AIBOX-1684X:把大语言模型“装”进小盒子