Sealos 的帕鲁私服模板从第一天发布之后就起了 100 多个私服,第二天直接上到 500 多个,第三天直接上千,还在加速增长中。来讲讲我们只用一个晚上怎么做到上线一个专属可用区的,还有一些帕鲁实践让我对云有的一些新的思考。

Sealos 凭啥杀出一条血路

这次各大云厂商都出了私服教程。

原因很简单,别的厂商都只是虚拟机上搭建的教程,有的甚至是长长的一篇文档,不过后来都搞一件部署了。

而 Sealos 直接做成了应用模版点点鼠标,有手就会,对此菜市场大妈表示体验很好,边买菜都可以边部署起来。论速度我们吊打一切,只需要 30 秒起服,而其他我大部分测试了都要三分钟,原因很简单:我们抛弃了虚拟机

玩游戏的很多人并非开发者,或者没那么懂技术的,虚拟机,控制台这些概念都不能让他们知道,就更别劝玩家去用了。Sealos 就是一个链接:

看,有手就能部署,脑子都不用带。

我们的视频教程在 B 站获得了非常高的热度:

视频传送门:

Sealos 还可以先体验后付钱,付费转化率夸张的高!

相比较包年包月,Sealos 采用完全按量计费的方式,玩家睡觉时就可以关了,收一点点磁盘的费用。容器还有个好处就是内存炸了很快就可以自动重启,几乎不影响用户体验,而虚拟机重启下不得分钟级。

还有就是调配置,Sealos 随便伸缩,虚拟机包年包月伸缩就很尴尬。

最后是一些细节体验,比如导入存档,配置管理,死亡不掉落等等。

还有一个要点,就是运营的同学要去玩游戏,为什么?如果我们不玩我们就无法体会死亡不掉落的重要性,无法体会孵蛋时间是个啥,无法理解用户在什么时间点会上头,这直接决定需要赠送多少额度,需要提供什么样的配置,需要新增什么样的痛点特性。

事情经过

有两个朋友给我发了这个游戏的文章,瞬间我就找到了我们 “奇技淫巧奖” 获得者的米开朗基杨同学,当天就把模版做出来了,上架到了我们的两个集群。随后文章一发,瞬间集群资源就满了。

周四晚上我们立马决定建设一个新的专属可用区,这个可用区选择在阿里云上,原因很简单:需要快速扩容,而且以后可能热度下降要考虑释放问题。所以大家就不要随便黑公有云了,这是成本最低的打法,下文细讲。

我们一半人写代码,一半人买服务器起集群,把 Sealos 中玩家不需要的东西通通裁剪掉,应用市场也就只放一个模版,用 Laf 花了五分钟写一个游戏配置管理的程序并上线到 Sealos 上做默认应用。剩下的时间就在不断优化游戏的模版,包括缓存游戏的镜像让启动速度达到极致。

晚上就火爆了,不是在加服务器就是在加服务器的路上,我们每个节点可以跑 70 个私服。第二天团建,全员背着电脑,几乎一半人在烧烤一半人在支撑。

到目前为止单集群已经启动上千个。

帕鲁事件对云的思考

这个事只是一个影子,他映射出未来的云应该是什么样子。

第一:应用是一等公民,忘掉云原生,忘掉容器,更要忘掉虚拟机

你看安卓/iOS/Windows/macOS 以及各种 Linux 发行版,大部分用户用的是具体的应用,每个应用都有不同的用户画像,而很少有用户关心系统本身,更不会去关心内核。

把用户的最终需求直接给到用户才是云发展的终极目标,像帕鲁,用户需要的肯定不是容器,也不是虚拟机,那让用户进入到一个虚拟机的操作控制台显然就违背人性了。

当然会有很多开发者直接需要的就是虚拟机,那提供一个虚拟的应用也可以,核心逻辑解耦合,尽量不要让用户关心他需求以外的东西。随着应用的丰富,大众市场对更底层的需求就会越来越少,比如有了 RDS 之后,很多人要用数据库的人就不想去折腾虚拟机了,这里务必理解用户最终想要的是什么,直接给。

所以这必然会衍生出一种更合理的架构,其实这个架构已经有答案了,单机操作系统就是答案,有很好的标准,一堆人开发应用,另外一堆人使用应用,云为什么不这样?

今天的公有云很多都被框死在了控制台,这样应用很难有自己的发挥空间,比如帕鲁的用户去登录公有云一通操作,VPC 快照对象存储几个标签就能把他看晕乎,这不是一种极致的产品体验。而手机上 LOL 游戏就不会外面套个微信的聊天框,不同的应用需要有自己不同的风格。markteplace 就更不用说了,缺乏标准,一锅大杂烩而已。

第二:云是连接应用的生产者与使用者

一旦云足够成熟的时候就会有非常好的灵活性,可以让大量开发者开发云上应用,使用者来使用,而今天云厂商大部分是厂商自己开发云产品,虽然也有第三方上架什么的,但是味道不对,怎么样算对,参考手机生态。

Docker Hub 就有点这个味道了,什么味道?标准的形成,很好的链接了镜像的制作者和使用者,但是提供的是零件,不是完整的分布式应用。

K8s 生态提供了很好的标准,是个非常优秀的云内核,一旦发行版盛行,此生态大成!那个时候很多人会忘掉 K8s,我可以给一个非常让人吃惊的数字,Sealos 云上的用户 80% 没接触过容器,20% 完全不是专业的开发者,他们就只想直接起应用。

所以先进的云需要给应用非常高的自由度,需要让用户用它的时候完全沉浸在应用本身的使用中,Sealos 就是这样,打开一个应用之后你就看不到 Sealos 的任何东西了,而目前云厂商都有个大大的 Header 和侧边栏,所以就出现了这种怪物:

我想写代码,可是嵌套一层又一层。

云 IDE 应当是一个独立的应用,可能是第三方提供,然后别人来使用。即便是官方自研也应当是这样的架构。

第三:云是连接资源的提供者与消费者

现在的云厂商基本硬件资源都是自己提供,而 Sealos 的做法比较有意思,未来我们的很多 Region 算力本身也可以由第三方提供,接入到我们平台中,真正成为一个算力平台,从算力视角连接双方。有点像直营和加盟的意思,或者京东和淘宝。若无云操作系统,这种想法也无法落地,而我们 24 年就会提供。

第五:Sealos 公有云服务坚定选择云厂商,抛弃自托管硬件方向

自建还是选择公有云确实要看场景,Sealos 云服务的业务未来只考虑用公有云。不要只看到价格的贵而忽略效率成本,还有很多其它隐性成本不可不查。

帕鲁这个场景毫无疑问首选公有云,快速扩容这一个需求就决定了没法在自己的机房跑。而且热点过去了是要缩回来了。

即便不是帕鲁这个场景,Sealos 还是坚定不移用公有云,我曾经一直在摇摆自建还是上云,我们本身就是做云的,绝对有托管硬件自建的能力,物理机的性能也更好,单纯计算算力价格也低太多。

但是,最终发现需要花好多倍成本就解决那剩下 10% 的问题,比如高可用要备份,你的备份程序和磁盘都需要额外成本,对应人力成本也来了,最要命的是响应速度,换块盘也需要时间,需要沟通成本等等。这些公有云上一个快照就都可以解决。

还有个恶心的备案问题,几乎只能人肉迁移备案,开白名单这些。而且机房的带宽费用并不便宜。

买多少硬件资源也是一个很费事的问题,预留不够上架可就慢了。

综合下来如果你把云的弹性用好,是可以节省大量成本的。特别有状态和无状态分开运行,夜间释放,根据不同的 SLA 等级划分可用区,举个例子,我们可以针对开发测试场景专门做一个对接竞价实例的集群,把所有无状态全部用竞价去跑。

使用公有云还可以让我们自己保持轻资产运营,天下武功唯快不破,迭代速度是创业公司最为追求的。

爆了!Sealos 三天支持 1000 个帕鲁私服的更多相关文章

  1. 三联动 支持ie6,ie7 省,市,区

    三联动 支持ie6,ie7 省,市,区 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <tit ...

  2. 三个支持正则表达式的行处理的工具: grep/sed/awk

    grep: 全称Global Regular Expression Print, 是干什么的,不多说了: 用法:grep [-options] [pattern] [filename] 选项: -c: ...

  3. (转)全文检索技术学习(三)——Lucene支持中文分词

    http://blog.csdn.net/yerenyuan_pku/article/details/72591778 分析器(Analyzer)的执行过程 如下图是语汇单元的生成过程:  从一个Re ...

  4. U-Boot在FL2440上移植(三)----支持NAND Flash

    <一>支持NAND Flash 1. 首先在配置文件 include/config/fl2440.h 的宏 CONFIG_COMMANDS 中增加 CFG_CMD_NAND, #defin ...

  5. Windows下面安装和配置Solr 4.9(三)支持中文分词器

    首先将下载解压后的solr-4.9.0的目录里面F:\tools\开发工具\Lucene\solr-4.9.0\contrib\analysis-extras\lucene-libs找到lucene- ...

  6. 框架应用:Spring framework (三) - JDBC支持

    Spring框架是一个一站式的框架,也就是对很多技术和框架做了封装,使其应用更加简便. JDBC的代码过程 /STEP 1. Import required packages import java. ...

  7. 移动web开发之屏幕三要素

    × 目录 [1]屏幕尺寸 [2]分辨率 [3]像素密度 前面的话 实际上,并没有人提过屏幕三要素这个词,仅是我关于移动web开发屏幕相关部分总结归纳的术语.屏幕三要素包括屏幕尺寸.屏幕分辨率和屏幕像素 ...

  8. 20165235祁瑛 2018-3 《Java程序设计》第三周学习总结

    20165235祁瑛 2018-3 <Java程序设计>第三周学习总结 教材学习内容总结 类与对象学习总结 类:java作为面向对象型语言具有三个特性:①封装性.②继承性.③多态性.jav ...

  9. AWS 存储服务(三)

    目录 AWS S3 业务场景 挑战 解决方案 S3的好处 S3 属性 存储桶 Buckets 对象 Object S3 特性 S3 操作 可用性和持久性 一致性 S3 定价策略 S3高级功能 存储级别 ...

  10. iOS 从Xcode看应用支持横竖屏

    要看一个应用是否支持横竖屏,要看Xcode里面的info.plist文件设置才清楚,每一个新建工程都会包含三个支持方式,即Supported interface orientations里面的就是 P ...

随机推荐

  1. 【第三方库】从编译到运行,轻松学会gflags库

    gflags是Google开源的一个库,可以很方便地定义一些全局变量,并且可以从命令行设置他们的值,广泛应用于各个项目中以及自己平时的开发中.本期参考gflags的官方文档,简单直接介绍下怎么使用这个 ...

  2. 【RK3399】2.制作ubuntu20.04 roomfs

    firefly自带的文件系统,由于缺少一些基本功能模块,因此,我们可以自己手动制作一个ubuntu20.04的文件系统. 下载Ubuntu根文件系统 http://cdimage.ubuntu.com ...

  3. 《vuejs快跑构建触手可及的高性能web应用》读书笔记

    1.cdn:内容分发网络(CDN)是将资源托管到全世界各处的服务器上以实现快速分发.CDN版本对于开发和快速验证比较有用,但是将unpkg应用于生产环境前,需要检查它是否适合你. 2.假值包括fals ...

  4. P2895

    本题用时:01:44:20. 算法:BFS 期间固然去逛了逛淘宝买了两个东西,但毕竟还是太久了.我因为忘记判断是否出界而浪费了好多时间,后来才半天想起来,这便是用了这么长时间的原因. 之后提交代码只有 ...

  5. Nacos源码 (3) 注册中心

    本文将从一个服务注册示例入手,通过阅读客户端.服务端源码,分析服务注册.服务发现原理. 使用的2.0.2的版本. 客户端 创建NacosNamingService对象 NacosNamingServi ...

  6. 【Altium Designer】五颜六色标识的PCB布板(增强PCB可视化特性)

    出现上图中五颜六色的网络标识,对比各个网络会更加清晰,实现步骤如下 打开或关闭  View--->Net Color Override Active   快捷键     F5 设置 displa ...

  7. spring——DI_依赖注入

    Spring的注入方式 Dependency Injection 概念 依赖注入(Dependency Injection) 依赖:指Bean对象的创建依赖于容器,Bean对象的依赖资源 注入:指Be ...

  8. [转帖]3--二进制安装k8s

    https://www.cnblogs.com/caodan01/p/15104491.html 目录 一.节点规划 二.插件规划 三.系统优化(所有master节点) 1.关闭swap分区 2.关闭 ...

  9. [转帖]聊聊hikari连接池的leakDetectionThreshold

    http://www.manongjc.com/detail/52-hjoufmsfhtsqvgp.html 本文章向大家介绍聊聊hikari连接池的leakDetectionThreshold,主要 ...

  10. [转帖]SpecCPU2017 测试cpu性能

    https://www.bbsmax.com/A/GBJrxP1Ed0/ SpecCPU介绍见: https://blog.csdn.net/qq_36287943/article/details/1 ...