理财网站如何做推广方案,采购平台,网站商城怎么做的,app下载导航简介#xff1a;上一回说到经历种种交付难题的王小锤一行人#xff0c;意外发现一本交付秘籍#xff0c;打开了新世界。本次他们带着具体交付场景来到阿里云#xff0c;与交付宗师阿莫探讨秘籍中的招式以及招式背后的秘密。
作者#xff1a;吕莫、新钰
前情介绍
大家好…简介上一回说到经历种种交付难题的王小锤一行人意外发现一本交付秘籍打开了新世界。本次他们带着具体交付场景来到阿里云与交付宗师阿莫探讨秘籍中的招式以及招式背后的秘密。
作者吕莫、新钰
前情介绍
大家好我是“交付哪里有问题就锤哪里”的王小锤。不知道大家是否还记得我们交付铁三角专注软件交付的我、头发略显稀疏的开发老哥铁子以及售前大佬强哥去年被各种交付问题折磨的故事。好在去年我们惊喜的发现一本“独家交付秘籍“。通过一段时间的招式学习与了解我们发现
整体交付流程变得格外清晰交付效率大幅提升。减轻繁重的复杂环境适配、自搭组件运维平台等研发工作交付流程缩短。通过模拟线下环境演练使交付质量得到改善。交付后的问题排查和运维工作也变得格外轻松。
交付的提速以及交付质量的提高也着实惊艳到了客户第一次让我在客户面前挺直了腰板。
虽说铁子的研发团队着眼于业务自身发展但秉持着技术人员的严谨与探索欲铁子对这些招式为何能以一敌十轻松提效到小时级交付产生了强烈的好奇心。带着这样的疑问我们通过云原生应用交付平台 ADP简称 ADP的产品交流群钉钉群号35138456联系上 ADP 团队的技术小哥阿莫。下面带大家一起回顾下那天的场景看看阿莫是如何为我们拆解秘籍中的招式以及如何把不胜其烦的软件交付难题逐个击破的吧
与 ADP 团队的第一次握手
那时已是寒冬腊月不过再冷的天也抵拦不住我们交付铁三角对于知识的渴望所以我们趁着年前不是那么忙的时候绝不是借机划水/滑稽脸来到了阿里云进行拜访。抱着就具体的软件交付难题进行深入探讨以及了解更多技术细节绝不是借机偷学招式的目的我们一行人与阿莫相遇了。
见面那天我一个箭步上前握住了阿莫的手。以这次握手为开端我们一行人与 ADP 结下了不解之缘。握手后我连忙介绍道“阿莫您好我是王小锤主要负责软件应用交付工作旁边这两位是负责研发的铁子和我们的售前强哥之前用 ADP 产品的时候咱们线上沟通过。今天我们主要是抱着学习的心态想请您更为全面地介绍下 ADP 交付秘籍中的招式。另外我们还想请教些实际碰到的交付问题。接下来先向您先介绍下我们的公司情况吧”
铁子介绍道“我们是一家大数据产品的软件应用供应商。因为我们的数据产品可用于各行各业所以我们现在交付的环境五花八门。而且从开始成单到软件交付部署完成再到最后的运维保障在这些阶段我们各个角色均会遇到些烦心事。” 烦心事 一产品适配成本高
一些金融行业的客户出于数据安全性的考虑会要求将我们的产品部署在他们本地运行。一些企业进行 IT 转型时甚至还会提出信创要求。一些客户出于节约成本的考虑需要我们用他们本身已有数据库、云服务。
这些情况导致整个研发团队需要投入大量精力基于不同的运行环境、OS 以及 CPU 架构去做适配。在业务应用改造的同时还需适配应用所依赖的繁多的中间件。这些中间件在不同环境中运行是否能够满足业务如果出了问题该如何运维这些问题在我们进行产品改造时深深的困扰着我们。”
烦心事 二部署环境极复杂
我补充道“对于我们交付团队亦是如此交付环境、资源配置各异产品非标准化等都可能导致产品交付易出错、效率低、周期长每次去交付都提心吊胆。如果产品还没成单售前强哥还需到客户现场先进行 POC他出差耗时耗力这些都花了公司很多钱好在他是售前大佬这些成本老板才没有和他格外计较。
烦心事 三运维低效且门槛高
“而且客户环境存在较多的不确定性比如硬件故障机房突然停电等都可能造成应用无法重启、中间件无法自动恢复、数据丢失等不可逆影响。如何提前发现、快速恢复、高效运维等问题令我们头疼已久。好在 ADP 改变了我们的交付方式这些问题有了很大的改善。”
重大改变 简要描述完我们的改变后我继续道“对于我们现有软件交付问题 ADP 基本均可涵盖但根据强哥现在在谈的一些项目情况来看今年我们可能会遇到更为复杂的软件交付场景就这些交付痛点咱们看下如何应对可好”。
软件交付秘籍介绍
阿莫听完面露喜色激动得说道“听到 ADP 真正切切的帮助你们解决了难题真替你们高兴。我们的秘籍招式就是为了解决这些问题而生的接下来先和大家聊聊什么是 ADP。对于这次的碰面我特地准备了很多干货这也是我们服务客户的态度定让你们满载而归
ADP 简介
ADP 是一套完整的“软件产品”私有化交付秘籍帮助大家解决软件在私有化部署交付时存在的异构适配难、部署环境杂、云服务依赖重和运维效率低等诸如此类的交付难题。
先和大家解释几个名称咱们统一口径便于理解 一张图带你们看懂 ADP ADP 分为在线化平台和本地运行平台两个模块。 在线化平台由 ADP-online 和服务目录两部分组成。为软件产品、服务组件提供从接入、集成验证、私有化软件交付的全栈在线化服务。
本地运行平台由集群镜像 Sealer、应用管控、ADP 底座三部分组成。为保证软件交付一致性和实现异构 IaaS 交付负责。
介绍到这里时不知是为了让我们消化下还是看到了铁子欲言又止的表情。阿莫顿了顿继续道“咱们有了基本的认知之后看看接下来你们有什么想要具体了解的模块和问题呀”
招式一 全栈式在线化服务
借着这个机会铁子急忙问道“我们公司现在有个数据产品进行改造时发现需要依赖较多中间件。我看过你们服务目录中的服务组件很丰富也满足我们产品要求但我们仍然担心中间件的稳定性。因为之前我们用的开源软件其稳定性让我们很是头疼这个部分你们是怎么保障的呢”
中间件适配
阿莫解释道“中间件的稳定对业务正常运行以及后续运维都至关重要这点我们有做深度的保障均可在线化实现。
首先我们服务目录中所提供的中间件、数据库等服务组件是由阿里云一方和我们的合作伙伴提供的均经过大规模验证验证过程如下经过这一系列验证后满足条件的服务组件才可以上架服务目录。
将服务组件通过二进制工具 zlink 上传到 ADP 在线化平台。组件验证平台会对组件进行规范校验、镜像校验、镜像安全扫描、可安装性校验、监控告警支持校验等一系列操作全方位对组件可靠性进行验证。将组件部署到验证环境中利用通用能力中心的能力对组件进行一系列故障注入演练来验证服务组件的稳定性如主机断电、磁盘打满、副本重启等。最后还会通过几种代表性配置的环境压力测试给出性能报告。
不仅如此咱们企业的软件产品上传到在线平台后也是走同样的流程来保证质量的。对了听完上面的介绍是不是放心些了呢” 这时看到铁子不住的点头我与强哥对视一眼表示诧异作为逻辑缜密问题度极多的铁子居然还有频频点头表示认可的时候平时讨论技术方案他总是会站出来提出质疑的呀今天怕是不好意思问果然还是那个他他发问了不愧是铁子铁子问道“你刚才提到说服务组件和我们的软件产品都是走一样的流程进行稳定性保障那这两者是否有差异” 阿莫解释道“ 从整个在线化平台的角度来看对软件产品和服务组件提供的这部分验证能力确实是一致的。但是主要差异在于
服务组件提供商的目标是组件上架到服务目录被其他产品被复用。比如咱们企业或者其他企业。自身软件产品走这个流程更多的是为软件应用提供更充分的验证方式能够快速的在从私有化环境交付到客户环境。”
强哥站了起来问道“你看 POC 环境现在通过 ADP 我自己点一点就可以快速搭建好可以看出你们为软件交付变得高效、简单做了不少努力。不仅如此我看铁子他们交付的速度也变快了。请问 ADP 是如何做到让软件交付变得高效、简单的呢”
简化交付流程
阿莫轻轻一笑身体微微战术后仰喝了口水说道“什么是软件交付秘诀这就是软件交付秘诀中绝学所在也是我们最具创新的部分。
ADP 平台利用的公有云弹性能力、Sealer 集群打包以及创建 K8s 集群的高效性配合工作流引擎的合理调度和驱动已实现 15 分钟就能拉起一套验证环境。为了让客户尽量全面的验证我们同时还支持信创环境的拉起。确保交付出门前都得到重复验证的。通用能力中心提供压测能力、安全能力以及故障演练等确保产品的稳定性和鲁棒性确保产品适配各种复杂场景。容量规划能力还 100% 模拟了 K8s 调度器逻辑结合客户提供的资源信息能够分钟级得出是否可以实现交付。对于部分可以用公网或者提供了远程登录方式的环境还可以利用远程交付能力实现快速交付。”
一口气说完这些阿莫又喝了口水好似意犹未尽准备继续持续输出。nice
招式二异构环境全覆盖
趁着访谈气氛的持续升温我们立马抛出更多交付问题我提出“你讲的太好了ADP 平台上面提供的功能我们用了确实效果也和你描述的一致。但是很多时候交付到不同的环境我明明看平台上利用的是公共云的环境但当我拿着包去客户现场交付的时候也没什么问题。我们还有个客户让我们交付到阿里云容器服务 ACK 集群上也是成功的。甚至 MySQL 我想用公有云的 RDS 切换也很方便这些你们都是怎么做到的”
阿莫继续介绍道“太优秀了你们发现了我们产品很多用心打造之处。我们在异构交付上面也下了较多的功夫。比如软件交付效率提升和软件交付一致性的问题ADP 主要是利用集群镜像技术从集群的维度将ADP底座和客户软件产品统一封装来解决的。”
集群镜像技术Sealer实现异构 IaaS 交付。Sealer以集群的维度保证软件交付一致性的同时负责异构 IaaS 软件交付。 应用管控组件实现异构 K8s 交付。应用管控组件负责软件产品的安装、运行、销毁生命周期管理以及负责无 ADP 底座的场景下软件产品的异构 K8s 软件交付。 服务组件的 BaaS 化实现组件基本的异构交付。
异构 IaaS 交付之集群镜像Sealer Docker 可以通过 Dockerfile 构建一个 Docker 镜像使用 compose 就可以运行容器。而 Sealer 是通过 Kubefile 构建一个 CloudImage使用 Clusterfile 启动整个集群。
通过与 Docker 的类比可以一目了然的看到集群镜像是集群维度的 Build Share RunADP 则是利用 Sealer 的集群创建高效性和集群维度的打包能力将 ADP 底座和软件产品Build为集群镜像以解决交付效率和交付一致性问题。
Sealer 作为 ADP 对外开源的项目已有众多企业深入使用并输出成功案例这里就不过多介绍。你们感兴趣可以进一步了解
https://github.com/alibaba/Sealer
异构 K8s 交付之应用管控组件
接下来我们来聊聊通过应用管控组件是如何实现异构 K8s 交付的
ADP 的应用模型其实是 ADP 软件产品的顶层抽象基础信息包括元数据、设施依赖、组件服务组件与用户组件等。
在线平台围绕该模型经历编排、集成验证、演练、资源规划等不断完善软件产品的模型信息最终成为可交付产品。 本地运行平台则通过申明式 API 来描述该模型应用管控组件的软件交付工作流会精细化管控软件产品的交付、升级流程同时时时回吐产品的组件状态、产品状态、异常信息等但需要注意的是 ADP 的组件主要通过 helm chart 进行包装。
应用管控主要由两部分组成。
operator 核心为 K8s controller 软件交付工作流引擎分析处理组件间的依赖关系有序完成产品软件交付、升级、运维等操作。利用 K8s 作为公共抽象层可实现应用的高度一致但不同 Kubernetes 环境不免会存在存储配置、网络插件、镜像仓库等等一系列微小差异而 webhook 利用 mutate webhook 机制来抹平这部分差异实现异构 K8s的软件交付。
面向开放生态
看了上面的架构可能会联想到目前社区很火的 OAMkubevela 。以更加开放的体系更方便的服务更多用户我们确实也认可这个趋势目前已经和 Kubevela 的同学积极交流合作架构上慢慢会往 kubevela core kyverno 方向演进。
另外Backing Service 一直是云原生领域的热门话题ADP在私有化交付领域可以实现用户只需声明一份服务组件定义即可实现到处交付在不同场景下可由不同的provider提供一致的服务就离不开Backing Service这项技术的功劳。具体怎么实现的你们可以猜一猜下次来再给你们揭秘哦
招式三 稳定可运维底座
看着越聊越起劲的阿莫我们没有打断他。他继续介绍道近日你们可能也关注到阿里云容器服务向 ACK Anywhere 升级针对异构 IaaS 推出了阿里云容器服务发行版以下简称 ACK Distro。
这里咱们就不具体介绍 ACK Distro 了如果感兴趣的话链接我发给你们
1、产品官网
容器服务ACK发行版_kubernetes_kubernetes集群_云原生-阿里云
2、Github 地址
https://github.com/AliyunContainerService/ackdistro
而 ADP 底座则是针对产品私有化交付领域的商业化版本在 ACK Distro 基础上做了诸多增强。 阿莫这时终于停了下来准备缓一缓再讲但是铁子听到这么多干货一时没忍住。望向阿莫脱口而出道“那么 ADP 底座针对私有化交付领域具体做了哪些增强呢”
阿莫快速的把手中的水一饮而尽解释道不急你听我慢慢道来。
基于阿里开源的集群应用打包软件交付工具 Sealer一定程度上已经非常好的解决了软件交付效率和软件交付一致性问题但如何让应用运行得更好资源规划更合理都是需要大量的软件交付经验才能积累起来的。ADP 通过 Sealer 的插件能力将阿里云多年的交付经验结合到了 Sealer 中包括环境网络存储等预检、机器时钟同步、OS 参数调优以及存储设备的智能分区等。
前面提到的环境不确定性可能导致不可逆影响那这时数据备份恢复能力就变得尤为重要。ADP 底座中的运维能力中心 ADP - Local 以下简称ADP - Local利用Kubernetes 的卷快照能力存储插件 Open Local 实现、Velero 的卷快照 K8s 资源备份能力、restic 的文件快照备份及恢复能力结合 S3、NSA 等远端存储或本地硬盘再加上统一调度引擎的配合实现了组件、软件产品、K8s 集群等维度的备份及恢复能力。
ADP- Local 则是私有化环境统一的监控、运维、故障诊断入口。
它结合 Prometheus、Loki、Grafana 等成熟的云原生方案实现监控、告警能力。 同时结合轻量化 FaaS 框架可插拔式的实现组件、集群的运维及故障诊断能力。 且基于故障诊断结果实现智能运维。
ACK Distro 的安全可靠性、敏捷易用性、体验一致性、多样兼容性再结合环境调优、稳定性、可监控、可诊断、可运维等方面的增强很好的解决了私有化软件交付领域异构环境支持难、运维难的问题。
讲到这里阿莫带着略显沙哑的嗓音说道如果这部分如果你感兴趣咱们下次再聊。
我扭头看向铁子之前铁子紧皱的眉口已经舒展开来好似压在心头的不解已烟消云散。再听阿莫从清脆响亮的嗓音跟我们聊到了略带沙哑我心中暗想这次干货不整理下来帮他们好好宣传宣传怎么行。于是我将这个想法和阿莫进行了沟通并与他约定下次拜访再来请教运维那些事就这样我们带着满满的干货心满意足的离开了。
原文链接
本文为阿里云原创内容未经允许不得转载。