使用CloudOS帮助企业落地云原生PaaS平台

news2024/12/23 4:25:29

PaaS究竟是什么?

IaaS、SaaS的定义很清楚,而PaaS的定义就比较宽泛。所以,很多人把PaaS当做一个万能的“框”,什么都往里装,特别像一排垃圾桶中的那个“其他垃圾”桶,当你拎了一袋垃圾,不知道往哪个垃圾桶丢时,其他垃圾总是那个不错的选择。

我们来看看几个大厂关于PaaS的定义。

Google Cloud的定义:

  • 平台即服务 (PaaS) 是一个完整的云环境,提供开发者构建、运行和管理应用所需的一切,从服务器和操作系统到所有网络、存储、中间件、工具等。

IBM的定义:

  • PaaS 的全称是平台即服务,它提供一个全面、灵活、经济高效的云平台,用于开发、运行和管理应用程序。

从以上两个定义可以看出,PaaS是用于开发者构建、运行、管理应用程序的平台,而不仅仅是底层的IaaS资源。但Google的定义有个侧重点:IaaS的资源需要通过PaaS来获取。

所以,从这个角度上讲,容器云平台当然是PaaS,一些著名的国外容器产品,比如Rancher、OpenShifit等。这也是为什么国内很多企业干脆就把PaaS当成容器云,而容器又是云原生的重要组成,所以,云原生PaaS更加是容器云了。

但是,这样理解——云原生PaaS是容器云——并不全面。PaaS定义中包含重要的一点,PaaS应该全面,应该提供开发者构建、运行管理应用所需的一切。K8s显然不是,容器云产品也不是。K8s的核心能力是对底层资源的抽象与封装,向应用层提供了弹性与韧性的能力。更多的容器云产品只是为K8s提供了一个UI界面,然后提供了一些开发者工具。

从IaaS的严格定义来讲,容器是属于PaaS的,但个人认为,容器核心能力是对底层资源的抽象与封装,是偏向于IaaS的。

当然,云原生PaaS究竟是啥可能没那么重要,更重要的是怎么做。

云原生PaaS的几种做法

我们先来理解一下企业上云。

  1. 一个应用的承载,下面有4层,我们使用哪一层的云服务,就能够省掉下面几层的建设和维护的成本。比如,你使用的云虚拟机,下面物理机、机房的购买、建设、维护的费用你就省了,使用公有云无非是第三方厂商来提供下面两层的服务,使用私有云就是企业有专门的团队来提供下面两层的服务。
     

  2. 这里要重点说明一下,如果使用容器服务,除了可以免掉下面三层的成本,还会有其他的重大价值:

  • 弹性。使用K8S能够做到资源弹性伸缩,当业务负载高时,能自动扩副本数,业务负载低时,自动回收副本。减轻应用运维的压力,又能省资源。企业部署应用时,不用像之前一样先预留好大资源以应急,造成大量的资源闲置和浪费

  • 可靠性。弹性本身可以提升可靠性,当负载量提升时还能让应用应付自如。其次,当容器的节点故障时可以重新调度到其他节点。或者,当一个容器故障时,重建容器,甚至当一个机房故障时,重新调度到另一个机房

  • 屏蔽底层差异。这点是弹性和可靠性的支撑条件之一,能够屏蔽底层差异,才能丝滑地弹性扩容和重调度

凡事都具有两面性,弄清楚了使用不同层次云服务的价值之后,也需要弄清楚使用它的成本,显性成本显而易见,需要看见的是隐性成本,主要有如下隐性成本:

  • 使用哪一层的云服务,就需要运维这一层本身

  • 上一层的改造和适配

以使用容器(K8S)服务这一层为例,上云上到容器是非常好,但是有两块巨大隐性成本:

  • 本层的运维。那么你需要有专业的人来运维K8S,监控告警、集群升级、备份恢复、集群配置、集群调优、外部对接、容量规划等等。懂K8S运维的人,市场上不多,这里付出的成本会比较高

  • 上一层的改造和适配。容器的上一层是应用,为了让应用能在容器中很好运行,那么应用需要进行改造,应用的生产方式、部署方式和运维方式。这一点的成本也比较高

理解了企业上云,我们再来看企业做PaaS的一些做法:

  1. 建一个平台,提供一些列开发者相关工具,CI工具、测试工具、代码管理工具、代码扫描工具等等,提供一个入口供开发者获取IaaS层资源。

  2. 建一个容器云平台,有的直接采购商业产品,有的基于开源的进行二次开发。然后在容器平台上,提供各种各样的容器版本的开发者相关工具。

毫无疑问,第1种方式已经落伍了,那是传统PaaS的做法。当前的普遍做法是第2种,但第2种就是最好的做法了吗?答案是否定的。

云原生PaaS,有更好的选择

容器当然是更好的选择,问题在于如何提供容器能力。提供开发者相关工具也是好的,同样,如何提供是更好的?

更好的选择是——以应用为中心

什么是以应用为中心?

进入一个平台,首页就应该是一个个的应用,然后围绕应用,能够对应用进行开发、构建、运行、测试、运维等。在操作应用的时候,资源自动匹配,工具就在操作应用的时候提供,比如,当我部署应用时,自动匹配资源。当我构建应用时,自动调用CI工具的能力。

打个比方,如果我们把底层资源当成自来水,水的使用方式是拧开水龙头,就能够使用,但这仍然不是自来水的高级用法,更高级的用法是——自来水的使用绑定使用场景,比如洗衣机,洗衣机对接好自来水,对于我们而言,不需要再去关注水了,我们只用打开洗衣机洗衣服就够了,洗衣机会根据实际情况自动控制水量。未来家里对水的使用,越来越多绑定在使用场景中,洗衣机、冰箱、智能电饭煲、洗碗机、马桶、刷牙机等等。未来出生的孩子,也许他们再也见不到水龙头,也不知道水龙头是何物。这些孩子就是电器原生的,跟云原生的概念类似。

以应用为中心的云原生PaaS平台是什么样子?我想会是如下这样子,最上层是应用云。

咱们进一步探索,未来的云会是什么样呢?我想会是如下这样子:

企业都是在应用云上进行应用的全生命周期管理,不用再看到阿里云、腾讯云、AWS、企业私有云的细节,也不用运维云资源,这些云服务厂商只是提供了在世界各地不同的服务规格的云资源。企业只需要在应用云上把应用交付到不同云服务。这样,就彻底做到了以应用为中心。个人认为,这是云原生的终态。我们的核心产品CloudOS,就是这么一朵应用云,这是云原生PaaS平台的更好选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/649022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++技能 ( 3 ) - 详解泛型模版和特化模版的使用【函数模版、类模版、模版全特化、模版局部特化、可变参数模版、模版模版参数】

系列文章目录 C技能系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 期待你的关注哦!!!有更多博文系列等着看哦,会经常更新!!! 因为你的关注激励着我的创作&#xff01…

网安云新品速递 | 移动应用安全检测服务,为App合规与安全保驾护航

移动应用安全攻击层出不穷 近年来,移动应用安全攻击事件频发,衍生出的用户数据安全问题,也逐渐成为用户、社会,乃至整个国家高度重视的问题。立法层面上,数据安全保护不断加强;监管层面上,相关…

当亲戚知道我是程序员后,对我一顿梭哈……

当亲戚知道我是程序员后: 有的让我修电脑; 有的让我PS; 有的让我扯网线; 有的让我搞路由器; 这次的亲戚,让我干起了老本行:软件开发。 他是做人力资源公司的,要让我开发个招聘…

Spark SQL数据源 - 基本操作

文章目录 一、案例演示读取Parquet文件二、在Spark Shell中演示课堂练习1、将4.1节的student.txt文件转换成student.parquet课堂练习2、读取student.parquet文件得到学生数据帧,并显示数据帧内容三、在IntelliJ IDEA里演示 一、案例演示读取Parquet文件 执行命令&a…

#提升开源项目质量与效率:使用 GitHub Actions 自动化流程

提升开源项目质量与效率:使用 GitHub Actions 自动化流程 简介: 在开源项目中,质量和效率是至关重要的因素。本文将介绍如何利用 GitHub Actions,结合 ChatGPT Code Review、Autofix、Codecov 和 Publish PyPI 四个强大的 Actio…

unbound配置cache服务器

unbound 安装unbound配置unbound生成DOT证书配置日志监听哪个IP允许哪些客户端查询配置转发DNSSEC开启domain-insecure生成密钥 检查配置查看缓存启动Unbound服务: 结果验证方法1:方法2: 排错方法 安装unbound 以下是将DNS over TLS(DoT&…

一文吃透Spring集成MyBatis

个人主页: 几分醉意的CSDN博客_传送门 文章目录 💖集成思路✨怎么使用MyBatis✨集成的步骤✨pom加入依赖✨创建MyBatis使用代码✨创建Service类✨创建Spring配置文件和测试集成MyBatis✨使用外部属性配置文件 💖图书推荐 Java28岁了&#xff…

CRC校验(2):CRC32查表法详解、代码实现和CRC反转

对于现在的CPU来说,基本上都在硬件上实现了CRC校验。但我们还是想用软件来实现一下CRC的代码,这样可以更深入地理解里面的原理。所以这一节就来详细地解释如何使用查表法从软件上来实现CRC-32的校验。另外,CRC还有一种反转的情况,…

SpringCloud Ribbon负载均衡(十一)

前面搭建了初步例子,但是还没实现真正负载均衡,我们这里要先搞三个服务提供者集群,然后才能演示负载均衡,以及负载均衡策略; 新建项目microservice-student-provider-1002,microservice-student-provider-…

行星减速机优势有哪些?行星减速机五大优势

减速机是动力传动解决方案,通过选择高质量和高效率的变速箱,绝对可以提高整个动力传动系统的效率和性能。行星减速机有哪些优势呢? 1.保证灵活可靠的动力传动系统 减速机提供了广泛的功率和比率,使其成为许多行业的大多数应用的完…

代码随想录2刷|链表1.链表理论基础2移除链表元素3.设计链表4.翻转链表5.两两交换链表中的节点6.删除链表的倒数第N个节点7.链表相交8.环形链表lI

2移除链表元素 链接:力扣 一刷: /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x…

Vue中如何进行地理位置搜索与地点选择

Vue中如何进行地理位置搜索与地点选择 随着移动互联网和定位技术的普及,地理位置搜索和地点选择成为了很多应用程序中必不可少的功能。在Vue中,我们可以使用一些开源的地图API和第三方组件来实现这些功能。本文将介绍如何在Vue中进行地理位置搜索和地点…

【北邮国院大三下】Logistics and Supply Chain Management 物流与供应链管理 Week3

北邮国院大三电商在读,随课程进行整理知识点。仅整理PPT中相对重要的知识点,内容驳杂并不做期末突击复习用。个人认为相对不重要的细小的知识点不列在其中。如有错误请指出。转载请注明出处,祝您学习愉快。 如需要pdf格式的文件请私信联系或…

gradlew test 失败

前言 在idea内执行./gradlew test,发现如下报错: Could not initialize class org.codehaus.groovy.runtime.InvokerHelper 分析 google了一堆,说要用groovy,可是我没有用groovy,以前也是正常启动的。后来无意发现&a…

游戏玩家的新大陆?小红书游戏内容场景洞察

2023年,如果你问年轻人他们在哪里讨论游戏?他们可能会提到一些平台,比如Steam、TapTap、B站、微博或者论坛。但是如果你向身边的女孩子询问,她们可能会惊喜地告诉你:小红书。 小红书平台一直给人的标签是是“美妆、旅…

UWB高精度实时定位系统源码(springboot+vue)

一、系统概况 UWB(Ultra-wideband)技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。自主研发,最高定位精度可达10cm,具有高精…

数据库架构是否该随着公司估值一起变化?

原文|The growing pains of database architecture 作者|Tim Liang, Software Engineer at Figma 2020 年,因为 Figma 不断加入新功能,筹备第二条产品线和用户不断增长导致数据库流量每年以 3x 速度增长,我们的基础设…

将数组中指定位置的元素替换为指定值np.put()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将数组中指定位置的元素替换为指定值 np.put() 选择题 下列说法错误的是? import numpy as np a np.array([1, 2, 3]) print("【显示】a ", a) print("【执行】np.put(arr…

Spring Boot进阶(47):Spring Boot之集成Cache缓存 | 超级详细,建议收藏

1. 前言 今天,我们来聊聊缓存这个话题。身为开发者肯定都知道,程序的瓶颈绝大体现在于数据库方面,而内存读取远远快于硬盘,当并发上升到一定高度,一次又一次的重复请求数据导致大量时间耗费在数据库查询上,…

win10搭建hmailserver邮件服务器(hmailserver+phpstudy+roundcube)

环境安装:Mysqlhmailserverphpstudyroundcube 一、Mysql安装 官网下载链接:https://www.mysql.com/ zip安装包下载链接:https://dev.mysql.com/downloads/mysql/ 1、zip安装包安装 (1)下载合适版本的mysql zip包&…