首页 > 其他分享 >Walrus 0.4发布:单一配置、多态运行,体验下一代应用交付模型

Walrus 0.4发布:单一配置、多态运行,体验下一代应用交付模型

时间:2023-11-27 09:25:21浏览次数:28  
标签:环境 多态 0.4 模板 应用 Walrus 资源

今天,我们高兴地宣布云原生统一应用平台 Walrus 0.4 正式发布,这是一个里程碑式的版本更新。新版本采用了全新的应用模型——仅需进行单一配置,即可在多种模态的基础设施及环境中运行包括应用服务及周边依赖资源在内的完整应用系统。“You build it, you run it”在这一版本中成为现实。
 

此外,Walrus 0.4 还集成 Argo Workflows 作为工作流引擎,提供应用环境分类、动态 UI Schema、闲时服务停止及环境资源释放、项目层级的 Catalog/模板管理等特性,并丰富了内置模板生态,进一步简化应用部署及交付流程。
 

Gartner 已连续两年将平台工程列为年度10大战略技术趋势之一,并预计未来三年内全球80%的软件工程组织将设立平台团队。”Seal 联合创始人及 CEO 秦小康说道,“Walrus 0.4 的全新设计则为平台工程落地提供了全新动力。通过采用更灵活的上层抽象、降低复杂度,分离运维团队与产品团队的关注点,从而提供绝佳的应用部署和管理体验。”
 

Walrus GitHub 主页:

https://github.com/seal-io/walrus

Walrus 在线文档:

https://seal-io.github.io/docs/zh/

 

屏蔽 K8s 及基础设施复杂度加速云原生采纳

应用模型全新升级,实现基础设施无感知

在软件开发及交付的过程中,为适配每个开发阶段的不同目的通常会涉及多种不同类型的环境,每类环境配置不同的底层基础设施。
 

在过去,运维团队需要根据各类环境的不同基础设施分别为应用系统进行配置,例如,在开发测试环境中提供容器化的 MySQL 数据库供测试使用,在生产环境中提供生产级别的虚拟机数据库部署或者云 RDS 服务。
 

在 Walrus 0.4 中,我们引入了 Resource 和 ResourceDefinition 两类 API 对象,运维团队只需配置一次,即可支持产品团队以自服务方式在各类环境中以多种模态(即多态)创建并使用相关资源,同时确保满足企业内部最佳实践与合规等需求。
 

在 Walrus 平台上,运维团队可以通过 ResourceDefinition 声明提供的 Resource(资源)类型以及实际部署资源的底层模板,不同的资源部署模板可以通过自定义规则应用到不同类型的环境、项目等。
 

研发人员无需关注底层具体实现方式,通过创建 Resource 对象声明需要使用的资源类型及基本信息,可以灵活地在各种环境中自动化创建所需资源并使用。
 

 

这一全新的应用模型灵活实现了研发与运维关注点分离和自动化协作,进而屏蔽各类环境中基础设施的复杂度,降低研发人员的认知负担,进一步落地平台工程理念。
 

统一编排应用系统发布流程

与市面上其他应用平台相比,Walrus 支持从底层基础设施资源(计算、网络、存储等)到应用层服务(容器及非容器)的自动化创建、配置及部署管理,实现完整应用系统各种服务模块和依赖资源模块的统一编排。
 

统一编排能力在 Walrus 0.4 中得到进一步增强。通过集成 Argo Workflows 作为工作流引擎,Walrus 打通多个应用交付环节,实现一站式应用编排发布
 

具体而言,Walrus 可以将基础设施自动化和 PaaS 服务自动化的能力集成到企业现有的 DevOps 流水线当中,赋能产品团队自助服务。同时支持与企业当前的审批流程相结合,并兼容企业现有变更流程的管控规范,实现流程审批和卡点。
 

应用环境随时启停,助力企业降本增效

随着云原生技术的发展、微服务架构的普及,应用系统的服务及依赖资源的数量迅猛增长。在应用环境管理自动化程度不高的情况下,繁琐的环境部署配置工作使得大量研发测试环境即便空闲时段也处于运行状态,资源长期占用不释放,导致不必要的开销。因此,研发测试环境的资源治理是在降本增效大背景下一项艰巨的任务
 

Walrus 支持对全套应用系统的统一编排,并在最新版本中提供环境随时启停的特性。用户可以在闲时停止整个应用环境,回收底层运行的服务和环境资源。在环境停止期间,Walrus 保留整个应用系统的配置数据,便于下次重启时,应用环境中的所有服务和资源可以轻松回到停止前的状态,极大降低资源消耗成本,实现研发测试环境资源的有效治理。
 

除此之外,利用 Walrus 0.4 中提供的服务/资源草稿(Services/Resources Draft)功能和服务/资源/环境启停和克隆功能,可以在资源有限的情况下一键启停切换多套测试环境,以快速进行测试验证工作,在增加资源利用率的同时提升部署效率并节省成本,切实助力企业降本增效。
 

其他功能特性一览

环境分类与项目模板库 & 模板

为了增加部署的可控性和灵活性,Walrus 0.4 提供了环境分类以及可供项目单独使用的项目模板库和模板功能,并为产品团队设置模板使用权限。运维团队可以将环境分为开发(Development)、预发布(Staging)以及生产(Production)类型,并为不同类型的环境配置相应的底层基础设施资源。
 

基于此,运维团队可以细粒度地管理各种类型的环境,分隔 Dev 与 Ops 在同个应用系统(项目)下对不同环境的权限,加强 Dev 与 Ops 在同个项目下的自动化协作能力和关注点与权限分离能力。
 

动态 UI Schema

由于企业内部各个团队之间技能水平、配置需求各异,用户可以通过 UI Schema 按需定制模板的 UI 表单,例如模板参数的默认值、可选项、参数隐藏、参数分组等。通过统一的定义,对平台用户屏蔽了应用服务与基础设施资源的配置细节,同时解决了静态 UI 僵化的配置参数导致的不良使用体验及额外的使用负担。
 

丰富内置模板生态

模板是 Walrus 的重要功能之一,它可以将各种基础设施能力、云服务和应用服务封装成可复用的能力模板,帮助用户简化服务和资源的部署。
 

在 Walrus 0.4 中,我们添加了更多内置模板,如增强的容器化服务与容器化任务模板、PostgreSQL、Redis、Kafka等多云中间件/数据库模板、传统主机部署模板和各种静态模板,可将外部的 MySQL、PostgreSQL、Redis、Kafka等注册成静态服务/静态资源,提升产品易用性。
 

完全开源,轻松上手

Seal 团队秉持着一以贯之的开源理念和开箱即用的产品设计思路,Walrus 基于 Apache 2.0 许可完全开源,并且仅需一行命令您就可以在已安装 Docker 的电脑上部署 Walrus:

sudo docker run -d --privileged --restart=always -p 80:80 -p 443:443 --name walrus sealio/walrus:v0.4.0

 

如果您喜欢这个项目,欢迎在 Github 上为我们点亮

标签:环境,多态,0.4,模板,应用,Walrus,资源
From: https://www.cnblogs.com/sealio/p/17858435.html

相关文章

  • Walrus 入门教程:如何创建模板以沉淀可复用的团队最佳实践
    模板是Walrus的核心功能之一,模板创建完成后用户可以重复使用,并在使用过程中逐渐沉淀研发和运维团队的最佳实践,进一步简化服务及资源的部署。用户可以使用HCL语言自定义创建模板,也可以一键复用Terraform社区中上万个成熟的Module。在本文中,我们将以阿里云EC2为例,介绍如何......
  • C#编程精要:深入理解继承、多态、抽象和接口
    文章目录继承基类和派生类多重继承子类调用父类构造器子类调用父类方法多态静态多态性函数重载运算符重载动态多态性抽象类抽象属性抽象方法虚方法方法重写方法覆盖覆写和覆盖的区别密封类(sealed)接口接口特点定义接口实现接口接口继承显式实......
  • 多态性
    多态性是指在父类中定义的属性和方法被子类继承后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或者方法在父类及其各个子类中具有不同的含义。多态性我们先来看一段代码和它的运行结果:#include<iostream>usingnamespacestd;classA{public:A():......
  • java 多态
    packagenet.elaina.polymorphismdemo02;publicclassTest{publicstaticvoidmain(String[]args){//创建对象(多态方式)//Fuf=newzi();Animala1=newDog();//调用成员变量:编译看左边,运行也看左边//编译看......
  • Java面向对象三大特性之多态及综合练习
     1.1多态的形式多态是继封装、继承之后,面向对象的第三大特性。多态是出现在继承或者实现关系中的。多态体现的格式:父类类型变量名=new子类/实现类构造器;变量名.方法名();多态的前提:有继承关系,子类对象是可以赋值给父类类型的变量。例如Animal是一个动物类型,而Cat是一个猫类......
  • 44.多态
    多态多态是面向对象编程中三大概念之三,它允许不同的对象对同一个消息作出不同的响应。简单来说,多态是指同一个方法或操作符在不同的对象实例上可以有不同的行为。这意味着可以通过一个共同的接口或基类引用不同的子类对象,并根据实际的对象类型来调用相应的方法。多态性在实际应......
  • 同程面试:说一下多态的实现原理?
    前段时间朋友去同程旅行面试,被问到了一个看似简单,实则“有点东西”的问题:“了解多态的实现原理吗?”,所以今天我们就来聊一聊这个问题。和朋友的聊天截图:为了保护朋友隐私,所以这里只把咱们今天讨论的问题展示给大家,如果有需要整个面试题的,可以单独找我获取:gg_stone【备注:同程】......
  • split是对字符串的分割,而10.42编译器自动类型推断中应该是double类型的
    ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;floor的英文意义是地板,该方法就表示向下取整,Math.floor(11.6)的结果为11,Math.floor(-11.6)的结果是-12;最难掌握的是round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将......
  • js是一门基于对象的语言,js不是面向对象的语言,但是可以模拟面向对象的思想,具体说面向
    下列关于JavaScript的说法中正确的是()A所有变量在使用之前必须做声明BJavaScript是面向对象的程序设计语言CJavaScript是解释性语言DJavaScript前身是Oak语言正确答案:C选C。解释性语言是相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由......
  • C++多态
    1、静态多态(1)函数重载 函数重载以参数的类型或数量不同来区分不同用途的同名函数。不以返回值不同来区分函数。编译器在调用函数时会在意函数的参数,不会在意函数的返回值。intmyAdd(inta,intb);floatmyAdd(doublea,doubleb);(2)运算符重载 使用关键字operator来......