容器、DevOps来了,软件开发如何跟上节奏?

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介:

随着IT技术的不断进步,软件开发和运维领域近年来正在发生重大变革。一方面,为快速响应市场的变化,DevOps正在变得越来越流行,越来越多的企业引入了容器技术来解决软件的快速交付和部署问题。另一方面,软件的部署环境也从传统的物理机转变为云环境,其开发和运维都需要不同方法。在这些变化面前,传统的软件开发和运维方式已经很难适应,这就引发对新一代软件开发和运维工具的需求,以HPE的Octane为代表的新一代ALM就在这种背景之下推出的。

HPE中国区副总裁、软件集团总经理李时认为,新一代ALM首先要做到的支持“双模IT”背景下的软件开发,也就是既要支持传统软件开发,同时也要支持DevOps。一个好的ALM往往是与一套最佳实践相结合的,而不只是一个工具。他同时也指出,用户一定不要以为可以依靠一个ALM工具来向DevOps转型。因为DevOps涉及的面非常广,不是买了某个工具就能帮助实现DevOps,而是要从工具到流程、到方法论、到人员、到组织等都需要全面考虑,要有一个总体的蓝图,对几年以后或者几个月以后需要走到哪里,中间需要做几步,每一步需要做什么样的事情,有一个总体的规划。以下是对李时先生的专访。

容器、DevOps来了,软件开发如何跟上节奏?

记者:和几年或者更早些年相比,如今无论是软件开发还是软件的应用环境都发生了很大变化,比如,云已经成为了企业IT的标配环境,有些应用甚至从一开始就是在PaaS平台上开发的。在这种变化之下,站在软件开发和运维的角度来看,我们面临着哪些新的挑战?

李时:的确,我们所处的世界正在发生这些变化。发生这种变化的原因在于市场压力。竞争压力之下,企业对开展业务的速度、灵活性以及快速扩展的能力都有了新的要求,IT部门必须能快速响应业务需求。

对于目前的企业IT环境,Gartner有个关于“双模IT”的提法,就是企业内部同时保持着两个IT系统:一个是传统的IT系统,比如传统的ERP,它采用瀑布流式的开发方式,遵循从立项到需求调研、到设计、到开发到测试,然后是运维这样的流程。这些系统通常业务相对稳定,需求变更比较少,是比较大规模的项目。与此同时,企业内部还存在另一个敏捷的IT系统,它们通常采用敏捷开发或者DevOps来开发,用于创新的业务。

作为软件开发和运维平台的ALM(Application Lifecycle Management)必须适应这种变化,也就是必须同时支持两种应用的开发、部署和运维。我们最近发布的HPE ALM Octane这样一个产品,它可以兼容两种方式的开发,从传统的瀑布式开发到新的DevOps,企业可以根据具体业务需求决定IT部门如何响应。这个ALM不简简单单是一个工具,而是从流程、工具、人员到变更管理的一整套端到端的解决方案,它可以帮助打通不同IT团队以及IT团队和业务团队之间的壁垒,让业务、IT开发、测试和运维团队真正协同起来,实现DevOps。

记者:一般人会把ALM定位为一个软件开发的工具,而您刚才提到ALM不应该只是一个工具,如何理解这句话?

李时:我们要从传统瀑布流的开发方式过渡到DevOps或者DevOps和瀑布式开发并存,这需要文化上的转变,要从组织架构、从开发流程、从人员保障(包括人员的文化、人员的思维方式)做出改变,才能保证成功,而不是通过购买一个工具就能做到。

我们的ALM提供的是一个工具加上我们的方法论和我们的成熟度模型。我们的这个DevOps的成熟度模型,可以帮助客户了解自己处于DevOps的什么阶段。这个成熟度模型有五级,分别定义了每一级要达到什么样的能力,才能够达到这一等级的成熟度。我们的ALM其实把这样一个思路固化了下来,从而能够帮助客户实现向DevOps世界的过渡。

记者:如果企业真的想从传统的瀑布流式的开发方法转变到现在的DevOps方式,在您看来,需要做的最根本的改变是什么?

李时:最核心的就是要意识到,每个人应该承担的责任有了根本改变。过去无论是测试团队还是开发团队或者运维团队,都只是负责自己的这些工作,其他的基本不用关心。而采用敏捷开发或者DevOps开发时,同一个团队的所有人都要对这个项目负责:从前端的需求调研到立项、到中间的开发再到后端的运维负责,需要不断快速迭代然后逐渐完善。

另外,还有很重要的一点改变是,要接受采用基于风险的测试这个观点。因为测试是永远不够的,你永远可以再做一轮测试。但是由于财力和项目上线时间的限制,我们不能无限制地进行测试。这就需要基于大数据分析的结果做出一个判断,什么时候测试已经足够好了,这也需要工具的帮助。

记者:目前,HPE新版的ALM定位是什么样的,主要面向什么样的客户群?

李时:这是一个企业级的产品,功能比较完备,包含有很多方法论,不只是适用大企业,中小企业也可以用。该产品有两种交付方式,目前在国内主要是On Premise,还有一种是SaaS。这个产品其实是一个工具的集合,客户不一定需要买全套的东西,可以单独购买,比如只买服务虚拟化或者压力测试等。有必要指出的是,这个ALM可以和很多开源工具或者第三方工具进行集成和优化,以适应不同规模的企业和不同业务需求的企业。

记者:此次新版的ALM产品是一个大版本的升级,与前一个版本相比,有哪些重要的改进?

李时:这是一个大的版本升级,最主要的变化是我们对于DevOps全面的支持和集成。尽管之前的版本也支持DevOps,但优化不够,而这个版本除了更好地支持传统的瀑布式开发,还针对DevOps和一些第三方工具和产品的集成做了很大的改进和优化。比如,其中的持续开发测试就与自动化测试、压力测试以及安全代码扫描的测试等都有很好的集成。还有,我们的监控运维SiteScope可以无缝地监控Docker,可以做到Docker的部署和激活。

记者:HPE的ALM这款产品在市场上有明确的竞争对手吗?其主要优势有哪些?

李时:其实,我们并不是很关心竞争对手。因为我们的ALM在目前的市场占有率有很大的优势,我们更专注于把我们领先的优势进一步巩固,同时能适应市场的变化和技术的演进。

在我看来,这个产品最大的技术优势是:这是一个端到端整体解决方案,能同时满足DevOps开发和传统的瀑布流开发模型的需求。这里的满足不是简简单单的集成,而是有我们方法论和最佳实践的优化。其中包括众多的功能模块,包括自动化测试工具、手工测试工具、可编程的工具,或者压力测试、安全测试的工具等,还包括对于自动化持续运维方面的监控等。

记者:现在Docker很流行。你如何看Docker和DevOps之间的关系?HPE的ALM在支持Docker方面做了哪些工作?

李时:Docker是实现DevOps的一个工具,但不是唯一的工具。它在持续集成和持续开发测试等场景应用比较合适,但是DevOps的运维监控并不是Docker就能解决的问题。另外,Docker是一个相对轻量级的虚拟化解决方案,有些场合还需要传统的虚机来解决。

我们的ALM对Docker的支持是全方位的,在DevOps全生命周期,包括自动的持续集成到持续开发测试,到后边持续部署,都支持Docker,甚至我们的ALM自己就采用了Docker的技术,它本身作为一个容器允许很多的应用或者微服务部署在上边运行。同时,我们还可以做到Docker服务的自动发现、部署、激活、监控和运维。

记者:现在一谈软件开发,马上就谈DevOps,所有的ALM也都声称自己支持Docker。对于用户来说怎么去识别真假?或者说如何去选择一款合适自己的ALM?

李时:其实不止是ALM领域是如此。任何一个技术在热的时候,人们都会把自己的产品和它挂钩。从用户的角度来讲,重要的是从自己的需求出发,同时要了解技术趋势,从而对产品做出一个判断。当然,也可以参考一些第三方咨询的报告,比如说Gartner的魔力象限等。

另外,还有很重要的一点是,除了产品的采购以外,我们建议用户有一个更全面的视角,因为DevOps涉及的面非常广,不是买了某个工具就能帮助你做到DevOps。用户一定要摆脱单纯的工具采购,而是要从工具、流程、方法论、人员、组织全面考虑,单单采购一个工具是远远不够的。你要有一个总体的蓝图,比如前面说的成熟度模型,利用它帮助你了解自己现在是怎么样的,在几年以后或者几个月以后需要走到哪里,中间需要做几步,每一步需要做什么样的事情。有一个总体的规划,然后再制定一个分步实施的计划,这样成功的把握就更大些。

记者:现在很多人都在用开源的工具,包括ALM也是如此,在这种背景之下,ALM商业软件未来如何发展?

李时:就ALM这个市场来看,未来一定会是商用产品和开源产品共存的局面。开源有其应用场景,包括一些规模小的团队、小的企业或者特定的业务场景它会比较适用,但随着客户对速度、灵活性或者规模以及企业级的稳定性需求的上升,商用软件会是一个更好的选择。实际上,我们也的确看到很多客户在规模提升和复杂度提升后,由于开源产品支持的成本越来越高,转向了商用产品。总体上而言,商用产品在一些关键的领域,比如对灵活性、对功能、对稳定性有更高要求的场合应用很多,但同时也会有很多开源工具的补充。这也是我们也选择开放,来支持一些开源产品的原因。

从长远来看,能在市场留下来的ALM一定是能够适应双模式IT的开发,同时支持传统的瀑布式开发和新兴的基于云、基于PaaS或者基于Docker容器技术的DevOps开发。同时,它还会随着技术和趋势的演变能够不断进化自己,能够提供企业级的速度灵活性和可扩展性,这是ALM产品的发展趋势。

记者:最后请您对这个新推出的ALM核心的亮点做个小结。

李时:核心的亮点我觉得最重要的就是ALM是一个端到端的解决方案,同时支持企业双模式IT,对于DevOps和延伸的云应用能够很好的支持,同时对传统的瀑布式的开发也能够很好的支持。另外可以跟所有我们自己的开发运维和大数据安全产品有很好的集成,同时也支持第三方开源的或者第三方的工具。 





原文发布时间为:2016年8月10日 
本文作者:作者:邹大斌
本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。
目录
相关文章
|
6天前
|
Cloud Native 持续交付 Docker
探索Docker容器化技术及其在软件开发中的应用
探索Docker容器化技术及其在软件开发中的应用
17 7
|
6天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
16 3
|
22天前
|
运维 监控 Devops
|
1月前
|
安全 Shell Docker
容器技术初探:让软件开发更轻松
容器技术初探:让软件开发更轻松
|
1月前
|
运维 监控 Devops
构建高效自动化运维体系:DevOps与容器化实践
【7月更文挑战第44天】在现代IT基础设施管理中,自动化运维已成为提升效率、降低成本、确保系统稳定性的关键。本文将探讨如何通过结合DevOps理念和容器化技术来构建一个高效的自动化运维体系。我们将分析这一体系对提高软件交付速度、优化资源利用率以及增强系统可靠性的积极影响,并提供一系列实施策略和最佳实践,帮助企业实现运维自动化转型。
|
21天前
|
缓存 资源调度 Kubernetes
阿里云云效产品使用合集之如何将两个独立的代码仓库构建并部署到同一个容器内
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
23天前
|
运维 监控 Devops
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
【7月更文挑战第58天】 在当今的软件开发领域,"DevOps"和"容器化"已成为提升项目交付速度、确保环境一致性以及实现持续集成和持续部署(CI/CD)的关键策略。本文深入探讨了如何将DevOps理念与容器化技术相结合,以构建一个既高效又稳定的云基础设施。通过分析现代运维的挑战,我们提出了一套实践方案,并讨论了该方案在现实环境中的具体应用及潜在益处。文章不仅为读者提供了理论指导,还分享了来自一线实践的经验教训,旨在帮助组织优化其云基础设施管理,提高业务竞争力。
|
25天前
|
Devops 持续交付 开发者
|
21天前
|
敏捷开发 弹性计算 持续交付
阿里云云效产品使用合集之同一个主机部署是否支持下载多个制品
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
21天前
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。