随着全球数字化进程加快,企业使用前沿技术加快商业创新,以提高竞争力。其中如何加快开发效率,为客户创造更多价值成为新的关注焦点。
继DevOps后,“平台工程”(Platform Engineering) 一词引发热议。平台工程是一套用来构建和运营支持软件交付和生命周期管理的自助式内部开发者平台的机制和架构,其目标是优化开发者体验并加快产品团队为客户创造价值的速度。据Gartner预测,到2026年,80%的软件工程组织将建立平台团队,其中75%将包含开发者自助服务门户。
平台工程是DevOps的替代品吗?平台工程究竟能为我们带来什么?近日,在VMware Tanzu媒体沟通会上,VMware Tanzu(业务)大中华区总经理邓惠钧、VMware现代化应用事业部技术总监俊刚为我们详细解读“平台工程”的价值以及VMware 在平台工程的布局。
一、平台工程是什么?
回顾软件开发流程,经历从瀑布式开发到敏捷开发再到DevOps三个阶段。从上世纪70年代起,软件开发流程采用瀑布式开发,按照需求分析、架构设计、编码、测试和维护的顺序来进行。随着时间推移和技术发展,人们对产品迭代速度越来越高,软件开发周期变得越来越短,瀑布式开发变得不合时宜。
2000年左右,敏捷开发开始走上历史舞台,有效提高需求上线速度,并获取用户的反馈进行快速产品迭代。
2008 年,DevOps 一词诞生,它的出现打破开发和运维人员之间的壁垒,开发和运维不再是孤立,两者在软件生命周期内协作沟通。DevOps是帮助企业将运维和开发相融合,而平台工程通过工具和流程为企业的软件开发团队提供一个“内部开发平台”,涵盖应用程序生命周期的所有操作需求。其最终的目标是打造无摩擦的自助服务体验,为用户提供正确的能力,帮助其以最少的成本完成重要工作,提高终端用户的生产力,并减少他们的认知负担。
二、VMware 对平台工程的理解
在邓惠钧看来,平台工程不是DevOps的替代品,而是延申和补充,类似“DevOps 2.0”。她认为平台工程有以下作用:一是平台工程建立了统一、可持续的解决方案,不是某个单一的解决方案;二是它可以不断重复使用应用开发的代码和工具;三是更具安全性。
俊刚补充道,从VMware角度讲,平台工程是非常庞大的体系,涉及到IT系统建设方方面面,从平台、应用、管理、开发者效率等。
在平台工程这个概念提出之前,VMware 一直助力提升开发者效率,做了很多工作。从VMware的角度来看,平台工程涵盖以下三层,来解决IT人员快速交付、提升开发者效率,帮助业务需求从产生到快速上线、快速落地的实现。
最底层是基础架构,涵盖容器、计算、网络、存储等技术,涵盖Tanzu Kubernetes Grid、Tanzu Mission Control等,同时采用Aria 一整套面向企业级的数据中心、云环境管理工具实现整体基础架构的监管控。以高效、有效、安全的方式为开发、运维团队供给资源。
中间为应用平台层,分为两部分,一是传统PaaS技术,如CI/CD流程、镜像库、日志分析、多租户、服务目录管理、微服务框架等;二是IDP开发者平台,集成IDE生成、应用脚手架等提升开发者效率的工具。去年,VMware 正式发布了Tanzu Application Platform,为开发、应用安全、应用运维团队打造一条简化的端到端开发运维体验的路径,以提升软件开发效率、加固应用安全、简化应用运维复杂度,加快应用迭代的时间。
最上层为管理实践,涵盖平台团队分工与角色、平台即产品管理方法等。VMware设置了Tanzu Labs Services 实验室,这是面向应用现代化的专业服务团队,凝练众多平台工程的新型管理方法和工程实践,为企业提供更多深入的服务。
三、VMware 在平台工程的应用
例如,某银行过去做了很多 DevOps的部署,但由于各个部门都在做自己的工具,没有充分考虑到工具之间的连通性和衔接,形成了一个一个孤岛,实现效果不是特别理想。另外,CI/CD流程由不同团队研发,整个团队缺乏完整的全管控示图,只看到一个个非阶段的报告,没有完整示图。当应用上线后如果出现问题,只能在不同系统里逐步排查问题。
Tanzu Application Platform作为一个端到端集成平台解决方案,帮助企业通过一套丰富的开发工具和预先铺设的生产路径,更快、更安全地构建和部署更多软件。该银行通过Tanzu应用平台可解决从源代码到上线的全流程示图问题,还可以将自研工具嵌入到流程中,有效提升效率,一旦发生问题,还可以做到快速定位。