共计 2893 个字符,预计需要花费 8 分钟才能阅读完成。
一次波折的公布
咱们说代码编写实现只是一个业务需要的开始,如何将一个需要疾速公布上线、投入生产才是咱们的最终目标。咱们先从一个案例开始。
从前,有个开发同学叫小周,他的一次公布是这样的:
首先他要在代码平台手动创立代码分支提交代码,而后要编译构建,有可能是本地构建,也有可能是应用某个构建工具,构建好之后部署测试环境,须要先申请测试机器,而后去机器上执行某个脚本能力启动服务。
环境筹备好之后才能够交给测试进行一轮、二轮测试验收,这一过程要反复很屡次,每一次都要走好几步。验收通过后,公布上线还须要申请公布单,让运维同学帮忙去做公布。
这一整个研发过程破费很长时间,须要和很多个角色相互协作,而且须要在很多个平台之间来回跳转,比方代码平台、构建平台、资源平台、运维平台。
期间存在资源扩散、流程凌乱、后果不可预期等等问题,整个过程难以追踪,难以治理。通常一次公布须要继续一天,蹩脚的时候一周甚至两周只能公布一次,重大影响研发效率。小周不禁感叹,公布难,难于上青天!
问题这么多,怎么办?
云效提供一站式利用交付平台,帮你减速利用研发流程,减速利用上云。
应用云效后,小周同学的一次公布是这样的:
1. 收到业务需要,间接进入指标利用,创立利用变更主动拉取代码分支;
2. 代码提交后主动触发流水线部署开发测试环境;
3. 部署胜利后主动告诉测试同学进行测试验收;
4. 验收结束,小周同学能够一键点击公布生产,不须要填写申请单,也不须要找运维。
应用云效只需简略几步即可实现一次利用公布上线,整个流程更加简略、更加通明、更加顺滑。
那云效是怎么做到的呢
1. 以利用为核心
首先云效以利用为核心来组织利用资产。通过利用来聚合利用的源代码、CI/CD 流程、构建好的包,如 maven 包、npm 包、docker 镜像等等;以利用来聚合基础设施资源,包含线上线下环境的,比方企业自建的机房、在某个云厂商的洽购的云主机或者 k8s 集群。让所有资源都以同一个维度、聚合在同一个平台集中管理。
此外,利用还为开发、测试、运维等多角色提供对立合作切面,所有同学都能够在一个利用视图实现次要工作事宜。
所有资源所有角色都应用同一个平台,缩小各角色在多个平台来回跳转,缩小流程割裂,突破了各角色职能壁垒。通过这种形式为企业提供一站式利用交付平台。
2. 应⽤架构统⼀编排、终态定义
小周刚入职时,他负责一个利用的某一个模块,有一天服务启动失败了。他的师兄通知他,你要先改一下这个配置,而后再批改那个参数,再执行脚本部署才行。
一个利用有好几套环境就有好几份配置和脚本,而且好几个人负责同一个利用,常常配置打架,来回改那么几次就齐全乱了。每一次的部署后果都不一样,都不可预期,拉起服务就真的只能靠”人品”了。
云效以终态编排的形式对立利用的部署架构,扭转了原来过程式、步骤式的部署形式,以申明式的形式来定义应用服务,同时反对 k8s 和主机部署,可能很好的反对利用云原生化转型过程的架构迁徙。
针对多环境差别,云效反对编排占位符,反对将多个环境差异化的配置抽取成变量,实现一套编排多环境差异化部署能力,打消部署过程中的不统一危险,缩小环境配置保护老本。
此外云效的利用编排还能够用白屏化、可视化的形式进行,配合利用编排模板,帮忙用户疾速上手,让小白用户也能够轻松编排并公布本人的利用,升高应用门槛。
3. 测试环境一键创立、一键销毁
服务启动了,是一个好的开始。但咱们在日常研发过程中常常会听到这样的声音:谁又动了我的环境?
有教训表明:测试和联调工作才是开发日常工作的次要局部,通常占据开发者⼯作工夫的 50% 以上。
那么一个稳固、好用的测试环境就十分重要了,它可能极⼤提⾼开发者的⼯作效率和幸福感。
云效提供测试环境治理性能,帮忙开发者高效自运维:
反对测试环境一键创立、一键销毁,无需人肉申请资源,测试资源按需应用,避免浪费;联调过程中反对测试环境一键占用,锁定环境,我的环境我做主,保障测试环境稳定性,让独占稳固的测试环境成为可能。
4. 多种部署策略、部署过程可观测可干预测
试实现后就到最初一步公布了,对于生产公布,云效反对滚动降级、分批公布、蓝绿公布等多种部署形式。
通常咱们公布上线,会先发一个小的批次,进行灰度验证,验证没问题再逐渐放大后续批次。云效反对精细化的分批策略设置,反对手动指定批次数量,准确定义分批过程。
此外整个部署过程能够实时查看部署进度,能够查看机器的执行日志。对于 k8s 部署,咱们还反对查看 pod 要害事件、容器启动日志等,帮忙疾速发现问题、定位问题。遇到问题时能够一键暂停、一键回滚,保障公布过程的安全性,让开发自运维更牢靠。
5. 研发流程可视化、可管控
终于咱们的公布流程走完了,小周入职半年后,这一套流程也曾经十分相熟了,这就是咱们说的游刃有余。
但集体效率高并不代表整个企业效率高。集体教训能施展的作用范畴,会随着集体的升迁、调动、到职而隐没。只有将集体教训流程化,能力积淀为组织资产,帮忙企业提效。
云效反对自定义企业研发流程,将企业研发习惯、研发形式通过配置固化在平台上,这样小周就能够把本人的教训落实到平台上。
当公司有新人入职时,新人能够一眼看到研发流程,再也去问他的师兄了,也不须要去接手“祖传”的机器、“祖传”的脚本了。研发过程能够疾速上手、疾速执行,晋升了整个企业研发运维流动的规范性、确定性。
此外咱们日常研发过程常常还会遇到这样的问题,一段没有通过测试验证的代码公布到生产环境了,导致了线上故障。这是一种十分低级又常见的谬误,那么有没有方法防止呢?
云效反对自定义变更规定,限度只有通过日常测试验收、通过集成测试验收的代码能力进入生产公布阶段,帮忙企业守护研发品质。
此外云效还反对人工卡点、以及精细化的角色权限管控,让研发流程更平安、更牢靠。
6. 买通业务需要到公布的端到端流程
回顾咱们整个过程,如同都没有提及到另外一个角色:产品。但其实产品同学无处不在,他每天都会来催你的需要,催你的进度。为什么要催呢?因为他不晓得,所以要问。那是否有一个中央让产品同学实时看到进度呢?
云效将一次业务需要对应代码变动、配置扭转或其余因素扭转定义为一次变更,通过变更连贯业务需要到公布,串联整个开发、测试、生产整个过程。
通过自动化规定实现一旦利用公布上线、利用变更实现、需要状态能够做到主动同步,让业务需要状态和研发进度高深莫测。产品再也不必每天来催了。
总结
云效 AppStack 能够助力企业:将扩散的资源转变为聚合的利用资产,将过程式操作转变为 终态申明式利用架构定义,将运维做公布 转变为开发高效自运维,将集体教训转变为平台固化的流程和规范,实现业务需要的全生命周期跟踪,让利用上云最初一公里更快、更顺滑!
有开发同学反馈说,应用云效后,能够一边喝着咖啡、一边听着交响乐,一边做公布,公布再也不必排队啦;运维同学说,应用云效后,所有资源都能在一个平台治理,再也不必好几个平台来回跳了,真正是解放了双手,解放了生产力;产品说,应用云效后,需要进度高深莫测,再也不必每天去催进度啦。
云效让利用交付可看见、可落实、可传承,让所有东倒西歪
原文链接
本文为阿里云原创内容,未经容许不得转载。