1、华为下一代软件工程的思考和探索目录目录我(们)的思考我(们)的思考1我(们)实践探索我(们)实践探索2 华为的特点:多种商业模式华为的特点:多种商业模式 华为的特点华为的特点2:匹配不同的商业和交付模式,多种研发模式:匹配不同的商业和交付模式,多种研发模式 我我(们们)的经历和经验:虫眼,鹰眼,弄脏双手后的思考、实践的经历和经验:虫眼,鹰眼,弄脏双手后的思考、实践Eagle Eye(俯视,全局)Insect Eye(贴近,细节)开发设计、编码、交付、维护研发变革(ALM、敏捷、DevOps)产品经理,布道,服务客户(弄脏双手,下地干活)研发变革()软件工程的回顾:软件工程的回顾:“主旋律公式主
2、旋律公式”的变化的变化1950s19681980s19832000s软件危机软件工程7个基本原理敏捷宣言DevOps2019s关注人、技术、过程面向对象、CMM、瀑布、人月神话敏捷萌芽需求工程敏捷,精益 DevOps,CICD IaaC,微服务 尝试解决软件开发的效率/速度问题Stability+Reliability Velocity+Reliability尝试解决软件开发 质量、可控、有序问题Chaos+Delay Stability+Reliability解决软件开发的??问题Velocity+Reliability?AIOpsDevSecOps Clean Code Built-In
3、X借鉴硬件制造,管理偏差回归软件本质,响应市场当下已经在发生什么?当下已经在发生什么?From Rafael Benevides RED HAT DEVELOPERs 未来将发生什么?未来将发生什么?从消费互联网到产业互联网,最终实现万物互联 下一代软件工程要尝试解决的问题:万物互联下的可信赖下一代软件工程要尝试解决的问题:万物互联下的可信赖可信软件是指能按照预期(需求)运行的软件,并且不会在环境改变时带来重大安全和隐私风险。10th edition 我们发现,客户我们发现,客户/业界对于可信、安全的诉求在变化业界对于可信、安全的诉求在变化 业界乃至客户,不仅仅要求结果可信(运行时可信),还要
4、求软件开发过程的可信(开发时可信)企业客户选择云供应商,排在首要位置的是:安全基础设施安全(数据、网络)服务安全(权限控制,防攻击、防侵入)运营运维安全(安全事件的响应,漏洞管理,开源、第三方安全管理)云厂商越来越强调安全左移,Build-In Sec in DevOps强调自动化,可监控,封闭防篡改,可重复安全运营团队参与代码级的测试验证下一代软件工程的思考下一代软件工程的思考:Velocity+TrustworthinessVelocity+Reliability Velocity+Trustworthiness 目录目录我(们)的思考我(们)的思考1我(们)实践探索我(们)实践探索2 如
5、何开展如何开展:Be Trustworthy and Do Trustworthy土壤和氛围基础能力、标准、认证软件工程组织支持可信的软件文化(鼓励Clean Code)MindsetValuesPrinciplesPractices可信工具链(Built in Security,自动化,可度量)ISO/IEC、BSI、NIST、DevSecOpsBeingDoingScenario Scenario最现实的问题,开源组件的可信最现实的问题,开源组件的可信开源组件增长迅速,主流开发语言开源组件数量已达200万+,其 中nodejs组件排名第一(约70万),java组件第二(约30万),PHP组
6、件第三(约20万)持续发展上。Synopsy发布的2018 年开源代码安全和风险分析(OSSRA)报告指出96%被扫描的应用中存在开源组件,每个应用中平均有 257个开源组件开源组件使用上的安全、优选、合规已经是愈演愈烈的软件企业集体痛点 和刚需,美国NIST每年披露的开源组件漏洞持续增加,其中2018年披露了4142个 高危险漏洞,10121个中等危险漏洞(CVSS等级)。在sonatype过去两年研究的多个攻击案例中,表明针对开源生态系统的供 应链攻击严重升级,攻击者将漏洞直接注入开源组件项目并故意危害下游 的数百万应用开发者 各语言开源组件生态发展迅速各语言开源组件生态发展迅速 现代软件
7、开发已离不开开源现代软件开发已离不开开源开源组件的漏洞问题日益迫切开源组件的漏洞问题日益迫切一个案例一个案例背景:2017年5月中旬至7月,美国三大信用评估机构之一 的EquIfax遭遇到黑客攻击,导致其系统中大量用户的姓名、社会安保号、生日和地址等私人信息泄露,数据泄漏规模可能 涉及到1.43亿美国人,将近一半的美国人会暴露在个人重要私 密信息泄漏的风险中(美国目前的总人口约为3.23亿人)。问题原因:网络犯罪分子利用开源组件Apache Struts的 公开漏洞(CVE-2017-5638)获取文件。该漏洞在 2017年3 月份披露,月份披露,漏洞评分为最高分 10 分,Apache 随后发布 Struts 2.3.32 和 2.5.10.1 版本进行修复。但 Equifax 在漏洞出现的两个月内都没有修复,导致 5 月份 黑客利用这个漏洞进行攻击,泄露其敏感数据。影响:Equifax的股价下跌超30%,市值缩水约 53 亿美金CEO、首席信息官和首席安全官离职/退休我们的一个针对性实践:探索可信的镜像仓管理,并对外孵化我们的一个针对性实践:探索可信的镜像仓管理,并对外孵化内部用户高速外部用户可信 To be continued 加法?Or冲突?TrustworthinessVelocity谢谢谢谢