五年磨一剑——Sealos 云操作系统正式发布!

news2024/11/18 11:32:13

这是个宏伟的计划

这是一个宏伟的计划,漫长且有趣。

2018 年的某个夜晚,夜深人静,我挥舞键盘,敲下了 Sealos 的第一行代码。当时仓库命名为 “kubeinit”,后来觉得格局太小,我不可能只做一个安装 Kubernetes 的工具。安装只是更大计划的一部分,于是更名为 Sealos,一个宏大的云操作系统计划就此诞生!

Sealos 的第一个版本写完后,我就把它发布到了阿里云市场出售,每份售价 15 元。我没想到真的会有人买,当第一笔 15 元进账时,我异常兴奋,仿佛一个商业帝国就在眼前。但是,结果是我花了一整天时间为这位客户提供售后服务。。。电影院里还在帮用户解决问题

先来一波回忆杀:

随后销量暴增,很快我就换了新手机 iPhone 8,但是问题也同时增加,以至于我根本无法及时提供所有的售后服务。于是我决定重写 Sealos,发布了基于 Ansible 的 v2 版本。最终还是觉得没有做到极致,因为用户还是遇到太多依赖问题无法解决。直到读完 kube-proxy 的源码,我发现有一种方案可以把负载均衡变得更简单,干掉所有依赖。于是我编写了 Sealos 的 v3 版本,在安装方面做到了极致。

为何一开始专注于安装 ?

因为安装是入口,绝大多数人在学习云原生技术时都无法避开这个问题。安装的流量入口足够大,无疑是一个绝佳的切入点。一旦用户习惯使用 Sealos 进行安装,就会逐步探索 Sealos 的其他功能。

在阿里的工作

在阿里工作期间,我开发了 Sealer。这里最重要的一点就是,让安装足够灵活。以前用户只能使用我创建的安装包,而集群镜像的创新可以让用户自由定义安装包,也可以自由组合任何安装包。这里有个让我感到自豪的想法 : 把整个集群视为一个整体,把 Kubernetes 看作一个操作系统,那么在这个云操作系统中,“云版 Docker 镜像”会是什么样子?这无疑是一个伟大的想法,极具抽象度和灵活性。

FROM kubernetes:v1.25.0  
COPY mysql .  
CMD helm install mysql . 

这种构想让云操作系统也像单机操作系统一样有了“镜像”,伟大的构想又完成了一个环节。

创业第一年

那么,Sealos 云操作系统最终会演变成什么样子呢?这是一个难以言状的问题,我只有一个朦胧的设想,隐隐若现。直到创业过程中连续迭代了三个版本,才有了今天的形态——一切皆应用!

理解这一点其实很简单,只需要把单机操作系统上安装的单机应用替换成各种分布式应用即可。整个数据中心,你看到的不再是一台台孤立的服务器,而是一个整体,变成了一台虚拟的超级计算机。

这样简洁、清爽且臻至完美的云操作系统,相信你在第一眼见到它的时候,便会喜欢上它!

这就是我五年的呕心沥血之作 —— Sealos!献给大家~

云可以如此干净

Sealos 保持了极简的设计,没有任何多余的按钮。实现简洁与强大并行的功能,有时候难如登天,但我们仍在产品设计上投入了大量的心血。无论何人,使用 Sealos 都将沉醉在我们为之打造的舒适体验中。

在 B 端软件的世界里,付款者与使用者往往并非同一人,导致产品体验时常被忽略,最关键的还是要说服决策者。而 Sealos 不一样,我们坚信产品体验高于一切,如果我们在产品上花费大量精力最终导致失败,那也死而无憾。

这种黑白灰的设计风格会让你使用产品时感觉像在喝白开水,而不是在喝饮料,更不是在喝洗脚水 (某些产品使用起来想死的心都有)。开发者已经够痛苦了,我希望你们在使用 Sealos 时心情美好。

Sealos 能一针见血地戳中应用的痛点,比如这个应用管理器 App Launchpad,30 秒就可以让你上线自己的应用。这里涉及到大量细节,比如自动配置公网域名,自动解决 HTTPS 证书问题等。

云可以如此便宜?

我在 Sealos 上运行了 10 多个应用,包括三个数据库,还有博客,低代码平台,测试平台等,每天只花 4 块钱 :

为什么能这么便宜?

  • 只需要为运行的容器付费,无需虚拟机,也无需创建整个 Kubernetes 集群,打开直接用。
  • 自动伸缩,夜间用户量少时副本缩小到 1。
  • 我们可以充分利用公有云的弹性,编写大量自动化代码,夜间释放计算资源,降低成本。

这对于企业来说,可以减少大量的资源使用成本。我们自己就在 10 台服务器上运行了 7000 多个应用,这意味着什么?企业部署一套 Sealos 集群后,只要服务器资源利用率低于 70% 就可以不断向集群中添加应用,直到填满为止。

你可能会问,为什么不能直接使用 Kubernetes? 原因很简单,对于诸如讯飞这样的企业,应用分散在各个部门,这时多租户、隔离与协作会变成刚需,直接使用 Kubernetes 会把集群搞乱,最要命的可能是一个部门或者用户不注意搞了个安全问题会让整个集群崩溃,而 Sealos 完美解决了这个问题!

Sealos 可以帮助 80% 的企业降低 80% 的资源使用成本。

云可以如此自由

与其他管理平台或 PaaS 平台不同,Sealos 的核心设计理念是“一切皆应用”。不同的开发者,不同的角色使用不同的应用,这让每个用户在使用时都没有心智负担。就像安卓生态中有几十上百万个应用,你只关心自己使用的那几款应用,不用关心其他应用在做什么。

这样的设计有两个主要优势:

懂不懂 Kubernetes 都能愉快地使用 Sealos

许多基于 Kubernetes 的 PaaS 平台或发行版要么暴露大量 Kubernetes 原生概念,要么屏蔽这些概念。这两种做法都不理想。

暴露大量原生概念对小白和新手不友好,屏蔽 Kubernetes 则失去了灵活性和兼容性,对 Kubernetes 老司机也非常不友好。

Sealos 采取了不同的做法。在这个平台上,不同的人可以使用不同的应用。比如你是开发者想写 CRUD,你可以直接使用 Laf 这个函数应用。如果你是 DBA,你可以直接使用数据库应用。在这种情况下,你完全不需要关心 Kubernetes,这些概念会被完全屏蔽。

如果用户是云原生专家,他们可以在 Sealos 上安装 Lens 和各种 Kubernetes Dashboard,也可以打开终端敲各种原生命令。这就极大提高了灵活度。

自由组装

Sealos 非常关注应用间的相互配合。例如,你在 Sealos 上使用函数计算,默认数据库可能是 MongoDB,但如果你想用 PostgreSQL 怎么办?这时就可以在 Sealos 上安装一个 PostgreSQL 应用,然后通过服务发现直接在函数计算里面访问。因为在同一个集群内,可以直接通过内网 DNS 相互配合。

如果你还想管控 PostgreSQL 数据库,就可以直接装个 Bytebase 应用来管理数据库表结构和数据等。

Sealos 精简而不简单,所有组件都可以卸载,这让云恰好满足你的需求——多一分则嫌多,少一分则嫌少。这也意味着无论是一台服务器还是上百台数据中心,都可以通过一条命令构建成一朵云。

Sealos 到底能干什么

  • 30 秒在 Sealos 上跑个 nginx demo,自动伸缩
  • 30 秒起各种数据库,业务系统内网直接连接数据库
  • 在 Sealos 上直接启动你写的各种编程语言业务

这三个能力是基础,其他的能力你可以慢慢探索,慢慢发现新大陆。

在运行自己业务上,我们针对这个场景做了很多细节优化,比如自动分配二级域名,自动横向伸缩,支持运行各种有状态服务等。

你会发现,借助 Sealos,无论是部署一个拨测系统,还是运行一个低代码平台,都是信手拈来。您的博客也可以轻松托管在 Sealos 上,成本低廉。使用 Sealos 终端,运行任何兼容 Kubernetes 的应用,自动化操作不再是难题。

更进一步发现:原来有个 AI 在帮你自动做故障诊断,自动上线业务,甚至帮你写代码并自动测试上线

然后你会发现普通人也能用 Sealos:

  • 你可以在 Sealos 上快速安装财务软件;
  • 你也可以在 Sealos 上快速安装知识库,给企业所有人写笔记;
  • 你还可以在 Sealos 上快速安装聊天软件供企业内部沟通协作。

到这里你会惊喜地发现:Sealos 竟然什么都能干,真的通用,而且还如此简单!最后你会有所领悟,原来这就是云操作系统!

真的有人在用 Sealos 吗 ?

当然有,Sealos 社区用户 10 万+,不乏各种大企业。

上线两个月时间注册用户已经破万,云服务共计运行 7000+ 应用

只有一些小微应用适合 Sealos 吗 ?

当然不,Sealos 的客户中有国健大数据,在疫情期间支撑健康码的服务,一秒钟都不能挂的高并发业务。也支撑过超大规模的 GPU 集群,每天处理 80T 数据,整个集群 80PB 数据。聚道云上百个应用跑在 Sealos 平台上。

阶梯计划

Sealos 的宏图不止于此,我们的目标是进化为一款无所不在的云操作系统,为人们提供如同使用个人电脑般简易的云服务体验。借助 Sealos,企业可轻松实现:

  • 迅疾如闪电,一分钟上线新业务
  • 一年可缩减半数成本
  • 简单如拨动开关,一键起一朵云

企业用云,一款 Sealos 就足矣。

未来,我们将继续秉持工匠精神,精心打磨 Sealos 中企业所需的常用应用,如数据库、消息队列、推理能力、各类编程语言执行环境等。

Sealos 云操作系统中还会内置一个 Copilot,它像一位航海家的副手,它可自动进行云原生改造,帮助开发者轻松迈入云原生的大门,也可以像专家一样帮助诊断集群问题,安全漏洞,并给出专业操作建议。

总结

历经五载,Sealos 总算实现了我当初写下第一行代码时的愿景 —— 云操作系统。

感谢第一个为我付了 15块的同学,您的信任与鼓舞犹如一笔巨资,赋予我前行的力量。

感谢社区的全体贡献者,尤其是始终与我同行的老崔同学,众行远。

感谢讯飞复杂业务场景的锤炼,让我对业务场景有更深入的理解。

感谢阿里云在我写 Sealer 时的支持与帮助,为 Sealos 集群镜像的底层能力铸造了坚实的基石。

感谢与我共同开启创业之旅的所有伙伴,是大家共同将一颗灵感的种子,种植成为现实的大树。

感谢奇绩创坛踹了我临门一脚,也感谢陆奇博士出乎意料的看好我们给了我们很大信心。

感谢李军院长康一教授,张海龙,高捷资本,金福资产给我们的帮助、指导和信任。

感谢每一位选择 Sealos 的用户,你们包容了整个迭代过程中的种种问题,与我们共同雕琢更完美的 Sealos。

预祝每一位选择了我们的决策者,此刻你们的决策绝对是明智的。现在,Sealos 已经跨越了全新的起点,未来我们一定不负众望,向大家交付一款完美的云操作系统。

欢迎大家来体验 Sealos 云操作系统的魅力👉 https://cloud.sealos.io/

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

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

相关文章

2023.6.8-TS-yum update集群后奔溃故障(已解决)

2023.6.8-TS-yum update集群后奔溃故障(已解决) 1、故障背景 自己在安装falco软件时,使用yum update升级了系统后,就出现这个情况了。。。 2、报错现象 kubeclt无法查看pod kubectl get poE0608 09:38:49.094714 2268 memcache.go:265] couldnt ge…

【沐风老师】3dMax一键多边形门(PolyDoor)、窗(PolyWindow)插件使用方法详解

3dMax一键多边形门、窗插件使用教程 3dMax一键多边形门(PolyDoor)、窗(PolyWindow)插件,将选择的多边形面一键转化为门、窗模型。你可以通过编辑多边形的线框(边)来定义门、窗的样式&#xff0…

【备战秋招】每日一题:4月23日美团春招:题面+题目思路 + C++/python/js/Go/java带注释

2023大厂笔试模拟练习网站(含题解) www.codefun2000.com 最近我们一直在将收集到的各种大厂笔试的解题思路还原成题目并制作数据,挂载到我们的OJ上,供大家学习交流,体会笔试难度。现已录入200道互联网大厂模拟练习题&a…

Stable Diffusion WebUI 环境

Stable Diffusion 是热门的文本到图像的生成扩散模型,本文介绍了如何准备其 WebUI 环境。 Stability AI Stability API Extension for Automatic1111 WebUI Stable Diffusion web UI 环境基础 OS: Ubuntu 22.04.2 LTSKernel: 5.19.0CPU: AMD Ryzen 7 3700XGPU: N…

Docker六脉神剑 - Mac极速体验

说到Docker, 现在可是"家喻户晓"。但是随着Docker的生态越来越强大, 资料越来越多, 反而对新手越来越不友好, 好多人准备学习一下, 但是又不知从哪入手? 想要玩Docker, 首先要先明白, Docker是干嘛的?可以解决什么问题?使用Docker可…

Linux中的用户和组的分类

目录 Linux中的用户和组的分类 用户分类 超级用户 系统用户 普通用户 组的分类 基本组(私有组) 附加组(公有组) 系统组 Linux中用户和用户组的配置文件 在Linux中,用户账号、密码、用户组信息和用户组密码均…

【滤波】无迹卡尔曼滤波

本文主要翻译自rlabbe/Kalman-and-Bayesian-Filters-in-Python的第10章节10-Unscented-Kalman-Filter(无迹卡尔曼滤波)。 %matplotlib inline# format the book import book_format book_format.set_style()前文 在上一章中,我们讨论了非线…

Elasticsearch:使用 ELSER 进行语义搜索

Elastic Learned Sparse EncodeR(或 ELSER)是一种由 Elastic 训练的 NLP 模型,使你能够使用稀疏向量表示来执行语义搜索。 语义搜索不是根据搜索词进行字面匹配,而是根据搜索查询的意图和上下文含义检索结果。 本教程中的说明向你…

【QQ界面展示-设置背景图拉伸方式 Objective-C语言】

一、接下来,我们就给大家设一下这个正文的背景图 1.因为我们现在,我们现在看一下, 在我们这个示例程序里面,正文,根据时你发的消息,还是对方发的消息,正文这个背景图,是不一样的, 所以说,这个正文的背景图,也要根据数据来判断, 判断数据里面那个类型是对方,还是…

端口隔离是什么?为什么需要端口隔离、如何实现端口隔离?

目录 一. 什么是端口隔离 二. 为什么需要端口隔离 三. 端口隔离的原理 1. 硬件隔离 2. 软件隔离 四. 端口隔离的实现方法 1. VLAN 2. 网络隔离 3. 防火墙 五. VLAN端口隔离 1. VLAN端口隔离方式 2. VLAN端口隔离配置案例 3. VLAN 端口隔离的注意事项 六. 端口隔离…

【数据库】Mysql数据库初体验

文章目录 一、数据库基本概念1. 数据 (Data)的概念2. 表的概念3. 数据库的概念4. 数据库管理系统5. 数据库系统 二、 数据库的发展1. 第一代数据库2. 第二代数据库3. 第三代数据库 三、主流的数据库介绍1. SQL Server(微软公司产品)2. Oracle &#xff0…

35. QT中执行linux命令或者shell脚本

1. 说明 Qt在linux系统中进行软件开发时,有时需要通过qt调用命令行终端执行一些命令,可以比较快速方便的实现某些功能。在qt中调用命令行终端,相当于启动了另外一个应用程序,此时可以借助Qt提供的辅助类QProcess来实现,当然也有其它的实现方式,因为QProcess使用有很多优…

pytest自动化测试框架基础篇

目录 前言: 一、单元测试框架 二、pytest简介以及常用插件安装 三、pytest默认测试用例的规则以及基础应用 四、pytest跳过测试用例 五、pytest测试用例的前后置,固件 前言: pytest是一个基于Python语言的自动化测试框架,它…

声网云市场 —— 实时互动开发者的 API 商店

声网云市场是面向实时互动开发者的 API 商店,让开发者在使用声网 RTC 的同时,可以快速集成实时互动扩展能力,比如美颜、变声、语音转文字、实时翻译、视频审核、语音审核等等,让开发者专注在业务逻辑和用户体验上,免去…

ESXi 7.0 U3m Lenovo (联想) 定制版 OEM Custom Installer CD

VMware ESXi 7.0 Update 3m - 领先的裸机 Hypervisor (All OEM Customized Installer CDs) ESXi 7.0 U3m Standard (标准版) ESXi 7.0 U3m Dell (戴尔) 定制版 OEM Custom Installer CD ESXi 7.0 U3m HPE (慧与) 定制版 OEM Custom Installer CD ESXi 7.0 U3m Lenovo (联想) 定…

RTX3070安装spconv1.1

系统环境: torch:1.8.1 cuda:11.1 cudnn:8.0.5 cpu:RTX3070 gcc:7.5.0(g 7.5.0,c14需要g5.2以上) cmake:3.18.3(3.13.2及以上) 第一步环境配置 在开始安装前,需要确保已经安装cuda和cudnn。 …

微软 AI 华人先驱黄学东正式宣布离职,将加入 Zoom 担任 CTO

微软华人 AI 版图上一块不可或缺的拼图,现在也离开了。 雷峰网独家获悉,微软 AI 华人先驱黄学东在社交媒体正式宣布从微软离职,将加入 Zoom 担任 CTO。 上世纪六十年代出生的黄学东是与变化共生、在变化中成长的一代人。 1962年&#xff0c…

树和二叉树的基本概念和性质

树和二叉树的基本概念和性质 文章目录 树和二叉树的基本概念和性质树重要概念树和非树是树的必要条件 二叉树二叉树的特点满二叉树与完全二叉树二叉树的性质 二叉树存储形式链式存储二叉链三叉链 顺序存储 树 重要概念 树是递归定义的 节点的度:一个节点含有子树的…

k8s kube-proxy详解

一、kube-proxy简介 kube-proxy是kubernetes中网络核心组件,实现了服务暴露和转发等网络功能。kube-proxy支持userspace,ipvs和iptables三种代理模式。userspace性能问题较严重,基本不再使用,应用最多的是iptables和ipvs模式。 …

关于c++ extern关键字

解释和说明参考: (227条消息) C extern关键字_Candyerer的博客-CSDN博客 (227条消息) 对于C中的extern关键字用法的理解_c extern_Fanfan21ya的博客-CSDN博客 个人写了一个案例,代码结构如下 在总结一下 1.a.cpp文件需要引用b.cpp的文件中的变量或…