【SpringCloud-Alibaba系列教程】8.一文学会使用sentinel
525
2022-05-30
“人类生存于一个虚拟的、数字化的生存活动空间,在这个空间里人们应用数字技术从事信息传播、交流、学习、工作等活动,这便是数字化生存。”--尼葛洛庞帝!
21年前,尼葛洛庞帝在写下《数字化生存》一书时,谁都不会想到,书中所描绘的未来生活方式与今天如此相似,预言已然成真。
如今,数字化转型已经成为席卷全球的新趋势,人人都在讨论数字化转型,因为数字化转型并非是一种选择,而是唯一出路。
据Gartner的预测,到2017年25%的公司将因数字化能力不足而丢失业务。IDC的预测,到2027年,标准普尔500公司中将有75%被顶替出局。普华永道在调研了全球350位CEO后发现,80%的CEO认为企业数字化转型是第一考虑要务。
当年诺基亚在最风光时期市值高达2540亿美元,让人大跌眼镜的是,最终却被微软以70亿美元左右的价格收购。究其原因,只因为这个世界在变,它却没有紧跟数字化转型的脚步。
显然,企业必须确保比竞争对手更加敏捷、快速地响应迅速变化的数字化市场,才能赶上或者超过竞争对手,才可以在新时代下的市场中称雄。如果企业忽视数字化的作用,那么它将不可避免的陷入被淘汰的命运。
敏捷和DevOps是数字化转型的关键
什么才是“数字化转型”的正确姿势?CA Technologies的一项最新全球调查结果显示,89%的中国大陆受访企业同意敏捷及DevOps方案是致胜数字化转型的关键。
当前,数字化大时代下企业面对的商业环境瞬息万变,各种新技术突飞猛进的同时,新业务形态越来越复杂、需求变化越来越快、软件规模越来越大、交付周期越来越短、开发和维护成本越来越高,产品交付的风险急剧增加,传统研发模式无法适应快速变化的市场需求。
为了应对这些挑战,业界软件开发模式经历了持续的改进和变迁,从20世纪60年代作坊式开发,到80年代过程控制模型,到2001年敏捷、DevOps模式探索。
敏捷开发就是最适合应对转变的最优软件方法论,并被微软、华为、BAT等公司的开发人员广泛使用。而整合企业IT部门的软件开发与运维,实现开发与运维的一体化DevOps,则变得比以往任何时候都来得重要。
敏捷和DevOps落地需要成熟工具的帮助
虽然敏捷和DevOps是近几年来软件开发领域最火的词,但网上搜索,其实真正成功的案例并不多。显然大多数企业还徘徊在外,不得其门而入。
总结各种失败的原因,要推动敏捷和DevOps的落地生根,不仅要有相融的企业文化、领导支持、客户配合,还需要一系列成熟的工具平台来帮助企业的转变,否则数字化转型就只能是空中楼阁。
目前,网上敏捷和DevOps工具非常多,但大都比较分散单一,缺乏统一的一站式解决方案。不过,好在去年开始,国内企业终于不再缺席这个领域了。华为软件开发云(DevCloud)就正是这样一个工具平台。
众所周知,作为排名第129位的世界500强公司,华为在研发管理方面非常领先,而DevCloud正是基于华为近30年的研发实践,结合敏捷、精益、DevOps等先进研发理念,面向中小软件企业、软件外包企业、双创企业、互联网企业、高校和广大的软件开发者提供的一站式云端DevOps平台。这套工具可以大幅度提升软件研发的效率:以前华为每个月1亿行代码的编译时间,由原来的25分钟缩短到7.5分钟,版本级的编译速度也由94分钟缩短到31分钟。
从产品层面来看,软件开发云提供了“项目管理-配置管理-代码检查-编译构建-部署-测试-发布”等全生命周期服务,不仅能帮助企业实现一次开发、快速部署、快速迭代、快速反馈、持续开发集成与发布、多版本共享等数字化转型需要的敏捷开发能力,还能让企业获得开发与运维的高效融合,从而实现真正的开发与运维一体化,即DevOps,是真正的一站式服务。
DevCloud上敏捷和Devops特性的具体表现
说了这么多,DevCloud到底提供了哪些手段来保证企业能够实现敏捷/Devops开发?这是个关键性的问题,而回答这个问题需要从华为敏捷项目管理实践说起。
(注:PD,是Project Director的缩写,项目负责人)
通常我们熟知的敏捷开发流程可划分为准备、计划、开发、反馈四个阶段。
一、准备阶段(可选敏捷模式):使用软件开发云为敏捷项目管理工具,项目的开发流程可选创建“Scrum流程”项目或“精简流程”项目两种。精简流程项目是比敏捷模式更简洁的模式,适合小、微团队和个体开发者。
二、规划阶段(Story划分):Story划分是敏捷开发的标志之一,一个需求的接收,就是从Story的划分开始。Story划分并不是告诉开发人员一个需求怎么做?更多的是告诉开发人员一个需求为什么要做?需要做成什么样?实现什么样的价值。
软件开发云支持“Story” 创建,“项目规划”下创建的“Story”会同步到“Backlog”的需求列表中。在每个Spring启动前,按照优先级排序的Story制定迭代计划。
三、开发阶段(代码质检、自动化持续交付):软件开发云可在线进行多种语言的代码静态检查、代码安全检查(如未授信访问)、编码问题(如空指针引用)、圈复杂度、重复率、编程风格,只有在问题清零才允许构建出包。
与传统敏捷模式强调持续构建CI不同的是,融合了DevOps理念的新型敏捷模式,通过云端自动化的持续交付流水线,实现持续构建、持续测试(功能、接口、性能、可靠性等,据说能实现100%自动化)、持续部署(包括脚本自动下发、比对、蓝绿部署)、持续发布(灰度发布)、持续反馈,可将Ops端手工操作的时间减少80%,全功能团队可以聚焦于业务分析、开发交付及运营上,显著提升效率和产品质量。
代码提交时按照规范备注Story ID,即可将代码关联到对应需求上。创建测试用例和缺陷时,也需关联需求,这样就实现了“需求-代码-用例-缺陷”的双向追溯。
四、反馈阶段(质量回溯):通常反馈阶段主要开展验收和回顾活动。这里需要重点提到质量回溯会议,对应于敏捷迭代回顾会议,是华为持续改进的实践精华。
质量回溯,这个词,在华为是一个高频的词汇,华为为了持续改进质量管理体系、提高客户的满意度,在公司内部提出了质量回溯的概念。
质量回溯重点在于分析问题根因,并识别出管理、流程、技术、工具上可落地的改进点。这些改进点每一个都必须符合Smart原则,是可落地、可执行的,不能出现大话空话套话。而且这些问题都要求最晚在下一个迭代中,执行落地,以避免问题再次出现。
小结
总的来说,企业数字化转型,关键就在于敏捷和DevOps的落地。在工具平台选择上,相比企业基于开源工具或者商业工具建立工具平台,不仅成本高昂,可靠性难以保障,还存在安全的隐患。DevCloud对中小企业而言,显然会是一种更好的选择。
不过,虽然软件开发云是华为基于本身长期实践的成功结晶,是神器级工具平台。但是,并不是使用了平台,就可以期待奇迹的发生,它毕竟只是个工具。
敏捷和DevOps的落地是需要企业做出真正的组织变革。否则敏捷和DevOps也就无法实现。
据悉,未来几年,华为将重点推进软件开发云3个“1”工程落地,3个“1”指的是服务100万个软件开发者、服务于10万家软件企业来使用软件开发云、服务1000家院校、培训机构。
就华为实力及影响力而言,这显然并非太困难的事儿。也许未来某一天,华为软件开发云真会成为国内企业级主流软件开发工具。
软件开发云
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。