(文/老鱼)“人类生存于一个虚拟的、数字化的生存活动空间,在这个空间里人们应用数字技术从事信息传播、交流、学习、工作等活动,这便是数字化生存。”--尼葛洛庞帝!
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家院校、培训机构。
就华为实力及影响力而言,这显然并非太困难的事儿。也许未来某一天,华为软件开发云真会成为国内企业级主流软件开发工具。
好文章,需要你的鼓励
OpenAI首席执行官Sam Altman表示,鉴于投资者的AI炒作和大量资本支出,我们目前正处于AI泡沫中。他承认投资者对AI过度兴奋,但仍认为AI是长期以来最重要的技术。ChatGPT目前拥有7亿周活跃用户,是全球第五大网站。由于服务器容量不足,OpenAI无法发布已开发的更好模型,计划在不久的将来投资万亿美元建设数据中心。
阿里巴巴团队提出FantasyTalking2,通过创新的多专家协作框架TLPO解决音频驱动人像动画中动作自然度、唇同步和视觉质量的优化冲突问题。该方法构建智能评委Talking-Critic和41万样本数据集,训练三个专业模块分别优化不同维度,再通过时间步-层级自适应融合实现协调。实验显示全面超越现有技术,用户评价提升超12%。
英伟达推出新的小型语言模型Nemotron-Nano-9B-v2,拥有90亿参数,在同类基准测试中表现最佳。该模型采用Mamba-Transformer混合架构,支持多语言处理和代码生成,可在单个A10 GPU上运行。独特的可切换推理功能允许用户通过控制令牌开启或关闭AI推理过程,并可管理推理预算以平衡准确性和延迟。模型基于合成数据集训练,采用企业友好的开源许可协议,支持商业化使用。
UC Berkeley团队提出XQUANT技术,通过存储输入激活X而非传统KV缓存来突破AI推理的内存瓶颈。该方法能将内存使用量减少至1/7.7,升级版XQUANT-CL更可实现12.5倍节省,同时几乎不影响模型性能。研究针对现代AI模型特点进行优化,为在有限硬件资源下运行更强大AI模型提供了新思路。