小明的研发团队要发布一个版本,这个版本包含了多个功能特性,每个不同的特性之间有较强的独立性。不同的特性由不同的开发人员或开发小组分工完成。他们在不同的特性分支上开发,彼此相互独立、互不影响。一个特性开发完成后就提交测试,这个过程不影响其他特性的正常开发,全部已完成的特性全部合并进行测试和发布。在提交测试,集成合并时碰到了这样的问题:对于某个公共模块的修改出现了合并冲突由于一个特性分支的集成,导致整个版本集成失败版本发布时间在即,为不影响整体进展,需要快速分离影响了整个集成的那个特性分支。如果你是小明,这时你会怎么做?小明的研发团队又要发布一个版本,整个版本有A、B、C、D四个功能特性一起合并集
无论从开发运维还是产品运营的角度来看,任何一次上线都是有风险的。从最基本的应用停止导致流量丢失、服务不可用、服务QPS水位下降,到步骤的遗漏、流程的不规范、开发过程中引入的bug,以及新产品/新功能上线导致用户体验的变化,都会导致线上风险。在日常和用户交流过程中,我们也经常会被用户问到关于发布的问题,比如不同职能团队之间应该如何配合、发布的最佳实践应该是什么样子的等等。今天我们就来聊聊常见应用发布方式的选择,以及每种发布模式适合什么样的场景。平滑升级:滚动发布分批发布通常指取出一例或多例应用实例,将其停止服务、升级到新版本;周而复始地重复这一过程,直到所有实例都升级到新版本。使用滚动发布,可以
无论从开发运维还是产品运营的角度来看,任何一次上线都是有风险的。从最基本的应用停止导致流量丢失、服务不可用、服务QPS水位下降,到步骤的遗漏、流程的不规范、开发过程中引入的bug,以及新产品/新功能上线导致用户体验的变化,都会导致线上风险。在日常和用户交流过程中,我们也经常会被用户问到关于发布的问题,比如不同职能团队之间应该如何配合、发布的最佳实践应该是什么样子的等等。今天我们就来聊聊常见应用发布方式的选择,以及每种发布模式适合什么样的场景。平滑升级:滚动发布分批发布通常指取出一例或多例应用实例,将其停止服务、升级到新版本;周而复始地重复这一过程,直到所有实例都升级到新版本。使用滚动发布,可以
大家好,我叫黄博文,花名延枚,目前负责云效旗下产品Flow流水线的设计和开发。在微服务架构下,服务越来越多,服务之间的调用也会越来越复杂。如何保障服务的高可用性就成为了一个挑战。之前我参与过的某个产品就曾出过故障,原因是某个API调用突然间增加了数十倍,导致服务负载过高,影响了用户使用。如果当时能够有一种机制能快速对这个异常的API进行限流或熔断,就能避免服务陷入不稳定的状况。云效自身使用阿里云AHAS(ApplicationHighAvailabilityService)来保障应用的高可用,本文总结了一份AHAS限流实践指南,如果你的系统有被恶意用户攻击的风险,或者系统中某个应用出现异常可能
大家好,我叫黄博文,花名延枚,目前负责云效旗下产品Flow流水线的设计和开发。在微服务架构下,服务越来越多,服务之间的调用也会越来越复杂。如何保障服务的高可用性就成为了一个挑战。之前我参与过的某个产品就曾出过故障,原因是某个API调用突然间增加了数十倍,导致服务负载过高,影响了用户使用。如果当时能够有一种机制能快速对这个异常的API进行限流或熔断,就能避免服务陷入不稳定的状况。云效自身使用阿里云AHAS(ApplicationHighAvailabilityService)来保障应用的高可用,本文总结了一份AHAS限流实践指南,如果你的系统有被恶意用户攻击的风险,或者系统中某个应用出现异常可能
云效BizDevOps,始终致力于为企业提供一站式的产研数字化解决方案平台,帮助企业提升研发效能。在信息技术高度发达的今天,依然有非常多的企业在研发管理和效能提升上遇到种种困难:1.研发过程拉通对齐难:在软件研发生命周期中,多个职能团队参与其中,不同的职能采用不同的流程和工具,形成职能壁垒,成为一个个信息孤岛;同时,研发流程也只是纸面化的,挂在墙上,写在文档里,落不了地。交付过程拉通对齐难。2.事情响应不及时:在日常协作过程中,常常事等人、人等人。要不找不到人,要不就是信息在传递过程中损耗,表达不清晰,或者就是一件事的响应处理要等待比较长的时间。3.研发管理缺乏抓手:研发过程不可见,问题改进更
云效BizDevOps,始终致力于为企业提供一站式的产研数字化解决方案平台,帮助企业提升研发效能。在信息技术高度发达的今天,依然有非常多的企业在研发管理和效能提升上遇到种种困难:1.研发过程拉通对齐难:在软件研发生命周期中,多个职能团队参与其中,不同的职能采用不同的流程和工具,形成职能壁垒,成为一个个信息孤岛;同时,研发流程也只是纸面化的,挂在墙上,写在文档里,落不了地。交付过程拉通对齐难。2.事情响应不及时:在日常协作过程中,常常事等人、人等人。要不找不到人,要不就是信息在传递过程中损耗,表达不清晰,或者就是一件事的响应处理要等待比较长的时间。3.研发管理缺乏抓手:研发过程不可见,问题改进更
大家好,我是秦世成,我在云效负责制品仓库Packages的开发工作。作为一个有多年经验的资深CRUD后端工程师,使用过很多日常开发所需的工具软件,其中不少能堪称为「神器」,这些「神器」能极大的提升日常开发的效率;小到一个复制粘贴操作,大到开发运维,我们都可以使用合适的工具来进行效率提升,加速日常开发流程,让开发效率蹭蹭蹭。本文我将主要从Terminal和Desktop2个大类、8个核心开发场景介绍一下我最常使用的效率工具,及如何通过这些工具来提升程序员「幸福感」的实践。Terminal终端管理在我们日常开发运维的过程中,经常会和终端打交道,比如服务的部署,文件的浏览查看等;但是我们在和终端打交
大家好,我是秦世成,我在云效负责制品仓库Packages的开发工作。作为一个有多年经验的资深CRUD后端工程师,使用过很多日常开发所需的工具软件,其中不少能堪称为「神器」,这些「神器」能极大的提升日常开发的效率;小到一个复制粘贴操作,大到开发运维,我们都可以使用合适的工具来进行效率提升,加速日常开发流程,让开发效率蹭蹭蹭。本文我将主要从Terminal和Desktop2个大类、8个核心开发场景介绍一下我最常使用的效率工具,及如何通过这些工具来提升程序员「幸福感」的实践。Terminal终端管理在我们日常开发运维的过程中,经常会和终端打交道,比如服务的部署,文件的浏览查看等;但是我们在和终端打交
大家好,我叫王泊,负责云效应用交付AppStack的开发。把应用部署到各个环境、一步步进行集成测试,最终发布到生产环境,是程序员工作中必不可少的组成部分;而云原生技术引入的容器化、IaC(基础设施即代码,InfrastructureasCode)等等技术与理念,为持续交付的过程提供了规范化的可能,但也引入了让人不时埋首于配置文件的小山里的麻烦。我们不妨从一次略有波折、稍显隐患的集成部署案例开始,看看如何着手设计一条更为稳定的应用交付流程。 一次波折的部署许多个迭代后,面对陪风扇一起嘎吱嘎吱转着的流水线,程序员阿伟会回忆起把系统部署到预发环境、提交最后一轮验收,然后被打回来的那个并不遥远的下午