解析rainbond以应用为中心的架构设计原理

 更新时间:2022年02月28日 17:31:21   作者:kl  
这篇文章主要为大家介绍了rainbond以应用为中心的架构设计实现及原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

前言碎语

今天博主安利一个国产开源的无服务器容器云平台,关注它已经有一年多了,虽然其迭代到现在很多功能还是一直处于测试验证中,但是其设计理念以应用为中心,我觉得这个是未来的趋势。

其实以docker+k8s这种架构也是一种以应用为中心的架构,rainbond底层深度集成k8s,为用户提供云原生应用全生命周期解决方案,构建应用与基础设施、应用与应用、基础设施与基础设施之间互联互通的生态体系,满足支撑业务高速发展所需的敏捷开发、高效运维和精益管理需求。

github:https://github.com/goodrain/rainbond

一、云计算的发展

回顾云计算产业与技术的发展路程,物理计算集群逐步被IaaS层虚拟化取代,国内例如阿里云,腾讯云等IaaS厂商布局多年。IaaS层解决了资源提供者与使用者的耦合问题,对于用户来说只需要选择使用什么操作系统,分配多大资源上限即可,一定层度上降低了用户交付应用价值的难度。

但是,用户依然需要重复得进行操作系统运维,环境与应用运维,技术难度依然很高。近两年,以Docker、Kubernetes为代表的容器与容器编排技术盛行,其实际上是将虚拟化进一步上移,更加面向应用,可以说容器化是对应用的虚拟化。在这样的基础上用户创造和交付大规模业务系统变得更加简单。

我们认为,云计算的发展更多的是让大部分公司和人群只需要关注和创造业务系统,关注业务逻辑,而不是将大量时间和人力投入到复杂的,重复的计算资源维护上,因此只是容器化还不能达到这个层次,我们希望将云计算推向到下个阶段:应用管理阶段,呈现出两个产品,无服务器PaaS和云原生SaaS。

二、企业价值与IT

上文我们提出了应用管理的概念,那么应用管理对于我们大多数企业IT有多大的价值呢?

对于大多数IT企业和互联网企业,企业价值的直接体现在于创造的应用或运营的应用本身,也就是说在业务本身上。然而我们都知道,一个业务系统需要运行,必须得搭建运行环境,考虑网络、存储、配置、负载均衡、安全等等一系列复杂的计算资源管理问题,而且每一次系统搭建都重复得进行,往往在这些问题上花费大量的成本。

我们在应用与计算资源管理这两者之间增加一层应用管理(无服务器PaaS和云原生SaaS),完全以应用为中心进行设计,将应用与计算资源解耦,应用管理之上,开发或使用人员只需要关注业务设计,编码,测试,上线流程环,应用管理平台自动化完成从源码到云端运行的复杂流程。

开发者无需再面对底层计算资源的管理复杂性,也就解除了对传统的运维人员的依赖,同时对于运维人员,只需要在平台自动化资源管理的基础上维护资源池稳定,两者责任清晰,边界清晰,天然的解决了DevOps问题。经过与大量用户沟通实践后我们发现,应用管理成为了提升企业IT能力的关键。

三、服务模式

完整的应用管理方案包括:

  • 北向的应用抽象管理
  • 南向的计算资源管理

Rainbond产品按照这样的设计思路应运而生。在应用管理方面,我们设计了应用抽象模型,面向企业IT系统和基础应用,例如互联网类应用,行业类应用,物理网类应用以及大数据技术类应用等。

针对微服务架构的支持,除了兼容已有的微服务架构以外,原生提供了Service Mesh架构的支持,对上诉多种类型的单体应用,新老应用实现规模化整合,对各类型应用提供标准的、完整的功能支持。

当然,不同的应用在高级需求上是不同的,例如MySQL需要热备份,外网访问应用需要防火墙等等需求我们设计了应用插件体系,对应用功能进行差异化,无侵入式扩展。

在计算资源管理方面,对不同的计算资源进行统一的池化,软件定义,提供标准的计算服务。除了在公有云计算资源之上,目前我们尝试了在地方IDC厂商,企业私有已有的x86-64架构计算资源之上搭建Rainbond数据中心。

我们正朝着资源全自动运维的目标前进。对于用户来说,取需要的任何应用,运行于需要的计算资源之上,按需组合,灵活组合,最终提供了SaaS化得服务。

四、以应用为中心的产品设计

Rainbond基本的设计思想就是 以应用为中心,近年来该理念也被业界同行和更多用户所认同,Rainbond提供了应用完整的生命周期管理:

应用的生产阶段

Rainbond从设计上就支持从各类型软件源构建生产应用,从各类型编程语言源码,已经打包的容器镜像,更包括定义好的DockerCompose文件等等。Rainbond定义应用的各层面元素,就像一个生产线,输入各种代码,生产出统一的应用。

应用运行阶段

Rainbond软件抽象管理存储,网络、计算等各种计算资源。在此基础之上运行APP-Runtime,为应用运行提供统一得,丰富得服务。让简单的应用组建起高性能的架构。

应用传播阶段

应用是需要被更多的用户使用产生价值的,Rainbond提供得是应用得传播,即一处构建应用,到处生产服务。例如某软件商生产一套微服务架构服务,涉及30个独立应用。云帮将作为其与客户快速交付得桥梁,用户只需一键即可部署完整服务。

五、面向未来

我们的愿景是希望Rainbond的使用者是一个相辅相成的整体,有人创造应用,有人发挥应用的最大价值,有人为应用提供超大资源保障。这一切的连接由Rainbond承载,构建起互联互通的应用管理生态体系。

以上就是解析rainbond以应用为中心的架构设计原理的详细内容,更多关于ainbond应用架构设计的资料请关注脚本之家其它相关文章!

相关文章

  • SpringBoot项目中枚举类型字段与前端和数据库的交互方法

    SpringBoot项目中枚举类型字段与前端和数据库的交互方法

    最近做的这个项目中,用到了大量的枚举类,下面这篇文章主要给大家介绍了关于SpringBoot项目中枚举类型字段与前端和数据库的交互方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • Java实现5种限流算法及7种限流方式

    Java实现5种限流算法及7种限流方式

    本文主要介绍了Java实现5种限流算法及7种限流方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • java分布式面试降级组件Hystrix的功能特性

    java分布式面试降级组件Hystrix的功能特性

    这篇文章主要为大家介绍了java分布式面试关于降级组件Hystrix的功能特性回答,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • Java中将多个PDF文件合并为一个PDF的方法步骤

    Java中将多个PDF文件合并为一个PDF的方法步骤

    这篇文章主要给大家介绍了关于Java中将多个PDF文件合并为一个PDF的方法步骤, Java PDF合并是指将多个PDF文件合并成一个PDF文件的过程,需要的朋友可以参考下
    2023-09-09
  • mybatis映射内部类的使用及注意事项说明

    mybatis映射内部类的使用及注意事项说明

    这篇文章主要介绍了mybatis映射内部类的使用及注意事项说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 在ssm中使用ModelAndView跳转页面失效的解决

    在ssm中使用ModelAndView跳转页面失效的解决

    这篇文章主要介绍了在ssm中使用ModelAndView跳转页面失效的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Java中超详细this与super的概念和用法

    Java中超详细this与super的概念和用法

    这篇文章主要介绍了Java中超详细this与super的概念和用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • 详解Java-Jackson使用

    详解Java-Jackson使用

    这篇文章主要介绍了Java-Jackson使用详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • java项目依赖包选择具体实现类示例介绍

    java项目依赖包选择具体实现类示例介绍

    这篇文章主要为大家介绍了java项目依赖包选择具体实现类示例介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • java实现扫雷游戏

    java实现扫雷游戏

    这篇文章主要为大家详细介绍了java实现扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04

最新评论