云原生集成开发环境——TitanIDE
通过网页在任何地方更安全、更高效地编码2023-08-16
1690
背景
云原生时代已经来临,企业应用上云不再是要不要做的问题,而是什么时候做、如何做的问题。
云原生狭义的理解,包含几个核心:微服务、DevOps、CICD、容器。其核心理念是“面向服务”,将应用拆分成多个小型、可独立发布和升级的服务,并使用容器技术进行管理。通过这种方式,云原生应用能够更加高效、灵活地运行和扩展,同时也能够更快地响应业务变化。
相对其他几个组成部分来说,微服务、CICD、容器这3个相对比较明确,而DevOps的定义其实比较含糊,因为DevOps强调的是研发人员和运维人员的目标一致性,做到应用的快速开发快速交付,至于如何做到,并没有标准的做法,对DevOps理解的差异导致了落地的千差万别。
同时,引出了DevOps停滞背后的核心矛盾:开发者不想跟基础设施打交道,但企业在发展过程中又需要专人管控自己的基础设施。在此背景下,平台工程(platform engineering)应运而生。
Gartner发布2023年十大战略技术趋势,“平台工程”赫然在列。Gartner预测,到2026年,80%的软件工程组织将建立平台团队,其中75%将包含开发者自助服务门户。
如何理解平台工程
Luca Galante将平台工程定义为“设计和构建工具链和工作流的学科,为云原生时代的软件工程组织提供自助服务功能。平台工程师提供的集成产品通常被称为‘内部开发人员平台(IDP)’,涵盖了应用程序整个生命周期的运营需求。”
平台工程作为一种重要的衍生出来的新领域,其主要任务是构建一个支持云原生应用的平台,提供与具体业务无关的通用功能,如自动扩展、负载均衡、日志、监控、安全等。通过平台工程,可以将应用与平台解耦,使得应用能够更加专注于业务逻辑,同时也能够更好地利用平台提供的底层能力。
总结一下,用大白话说,就是一群工程师做一个面向开发者的平台,让开发者专注于业务开发,各种工具随手可得,资源像洗衣机使用自来水一样自动匹配,应用运维简单易用。
其实,平台工程的理念与云原生的理念是高度契合的——以应用为中心。
平台工程的产品落地:CloudOS
以应用为中心的内部开发人员平台(IDP)应该是什么样子?先从企业应用上云说起。
企业应用上云,从物理机到虚拟机到容器,容器做到了资源的快速创建和回收,容器让服务器资源做到了跟自来水一样拧开水龙头就有。
让开发者专注于应用的云平台应该是如下的样子,就是下图中的应用云,开发者进去看到就是应用本身,开发者针对应用就行架构设计、编码、测试、交付、运维,完全不关注资源,当把一个应用通过交付引擎交付到不同的容器资源池时,自动创建匹配的容器资源,就像一个洗衣机怼上了一个水龙头接口,拧开水龙头就可以了。
CloudOS就是这样的理念设计和实现的。
1、应用对应着CloudOS的项目,比如CRM项目,MES项目。
2、进入项目里面,应用设计对应着CloudOS的架构设计。
3、应用开发对应CloudOS项目里面的“云端编码”。
4、应用交付对应着CloudOS里面的一键发布,部署到各种容器资源池。
5、应用测试对应着CloudOS里面的测试。
6、应用运维对应着CloudOS里面的应用菜单,开发人员可以在这里查看应用的状态、监控信息、查看及查找日志、进入终端、水平伸缩、设置告警、应用升级等能力。
围绕着应用的整个生命周期,开发人员面对的应用,不需要面对云原生里面的K8s容器。
总结
虽然平台工程是新概念,但是剥开其外皮,内核就是以应用为中心,跟云原生的理念一模一样,跟CloudOS的理念也一模一样。我们相信这是应用上云的趋势,这是云原生平台该有的样子,而不是一堆工具的杂乱堆积。