聊聊 sealer 开源背后的故事|学习笔记(二)

简介: 快速学习聊聊 sealer 开源背后的故事

开发者学堂课程【云原生技术趋势与行业发展解聊聊 sealer 开源背后的故事】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1035/detail/15156


聊聊 sealer 开源背后的故事


主持人:摩羯后来是成为了sealer的一个核心成员是吗?

摩羯:是。

主持人:是因为对这个项目比较感兴趣,还是说经常会用到,还是说自己有一些想法对于这个项目?

摩羯:一个是我们团队支持这个事情,因为我们自己本身就对这块是有一块强区;然后另外一块,其实我是被sealer的,就刚才中弈提到的集群定向这种设计的方式所吸引,我觉得它可以很优雅的去解决我们的问题,所以我就参与进来了。

主持人:其实刚才吕莫也介绍了sealer除了是一款开源项目之外,商业款产品ADP也是基于sealer来构建的,那吕莫也跟我们介绍一下sealer跟ADP之间关系,包括ADP到底是一款什么样的产品?

吕莫:OK,首先我简单介绍一下ADP是一个怎样的产品?ADP,是云原生,就是阿里云原生团队这边的一个应用交付平台。主要的场景还是服务于Sars的产品,在这种专有云场景的一个私有化输出。我跟中弈其实之前是做着同一个项目,就是ADP这个项目,但是在面对ADP的一个真实用户场景,中弈这边可能有一些独特的想法,然后就产生了sealer这样的idea。然后后续可能就是商业化场景的发展了,中弈这边的话主要是开源层面的一个发展,然后在后面可能经过一年左右的沉淀,sealer这块的技术也走向了成熟,所以ADP,在前段时间也全面把底层技术切换成了sealer。所以其实ADP跟sealer之间,就是一个并行发展的关系,然后它们都是面向于私有化交付这样的场景。

主持人:ADP目前整个市场的应用情况是怎么样的?

吕莫:目前,ADP更多的服务还是阿里巴巴集团内的一些应用,目前的规模,基本上覆盖了所有阿里巴巴的私有化输出的产品,就是私有化这种场景;然后外部客户的话,目前也具备了一定的规模。

主持人:可以在不透露客户名字的情况下,或者是你能讲讲这个产品到底给客户带来什么样的价值吗?

吕莫:首先还是从私有化交付这种产品说起,可能做过这种专有云的私有化输出的都了解,这个过程其实是非常复杂的,然后这个可能还涉及到客户的资源易购,还有交付的产品的各异性,那它需要做非常多的适配。然后ADP的话,其实首先是利用这种云原生的技术,把这种差异都抹平了,然后在私有化交互的这种场景下做到了底座的统一,然后把IaaS差异,私有化产品的各种异常问题都解决以后,给客户一个比较统一的方式,这样的话极大的提供了客户在私有化交互的场景下的一个效率。在我们统计下来,可能这种效率提高了十倍以上。

主持人:好的,我们回到sealer这个开源项目,那如果让三位,一个是sealer的一个发起人,然后一个是sealer的用户,还有一个是基于sealer构建了一款产品,如果让大家选一个词形容sealer的话,大家会选哪个词?然后告诉我原因是什么,我们还是从中弈开始。

中弈:我觉得其实给sealer贴词可能会有很多词,然后让我挑一个最重要的,我觉得一定是简单。就是我希望把一个很复杂的东西变得特别简单,其实docker就做了这样的事情,它把整个单机上的应用,以前在单机上可能装MySQL都是件很恼人的事情,而且装各种各样的软件方式都不一样,有各种各样面向过程的,那docker出现了之后,所有东西我们都可以避垒,docker wrong。对于sealer来说,我觉得最重要的就是让用户感受到它是特别简单的,就在拉起一个集群的时候,不需要其他的很多很多的东西,这是一方面。另外一方面,就是说它的概念会特别简单,其实它主要的就是一个镜像跟一个运行时的配置这两个东西,其实你只要理解了这两个东西,基本上你就理解了sealer。其实从概念到使用上它都是非常简单的一个东西,所以我觉得这是最重要的。我认为能成为这种理念,开源项目一定是要有这样的特性的,就是大家接触起来非常简单,而且能解决非常复杂的问题,就是复杂的东西都是sealer来承担,这个我觉得是非常重要的。

主持人:现在把这个问题交给摩羯。

摩羯:我觉得是优雅。其实早期我们调研的时候,就是很多的交付工具,但是在我们看来,这些工具它的侧重点,其实在于keep us本身的交互。但是这一块对我们的价值就比较有限,然后其实那时候我们需要的是解决包括开发集群,包括中间件上面的业务以及配置,就是我们需要的是一个整体性的解决方案。然后sealer就是把整个业务维度,抽成这种集群定向的方式,我觉得这个非常优雅。

吕莫:其实我想到的第一个词跟中弈一样,确实这个产品就是简单,sealer本身其实确实是做到了足够的简单方便,然后确实解决了非常多的问题。但是我挑出来第二个词是精致,就是我们本来的底层架构不是基于sealer去做的,那这个时候,其实对我们要处理的问题是非常多的,然后用了sealer以后,把所有的问题都集中在sealer这个工具里面了,它把所有的东西都封装好了,然后这个东西就变得足够简单和精致,这就是我对sealer的印象。

主持人:请问,几位都是经常混迹在开源圈的吗?

中弈:我比较多。

主持人:摩羯也是参与过很多开源项目吗?

摩羯:我参与过几个,但是不算多。

主持人:大家对于参与一个开源项目,觉得对于自己比较有收获的地方是什么呢?

中弈:其实最大的收获是综合的,首先就是开源项目跟公司内部做的项目,它本身的要求可能就不一样,因为你的代码是所有人都能看见的,在写代码的时候,心态就是不一样,写的很垃圾的地方,就会想这个地方得优化一下,虽然这个功能满足了,还是得优化一下,就这个心态上其实是不一样的。然后第二个就是,在真正去主导一个开源项目的时候,其实技术只是其中的一部分,你需要有几点非常重要的东西,就比如说你要如何吸引一些用户,一些开发者能够持续的参与到你的项目中,或者是吸引新的开发者,你要如何去让你的客户用你的东西?你要如何去运营?让别人知道你的东西等等,这其实是非常考验一个人的综合能力的,所以我觉得在这一块收获还是比较多的。

摩羯:我觉得我的这个收获跟中弈刚才说的差不多,举一个简单的例子,就是之前写代码不好,只有团队自己知道,现在全世界的人都知道,这个开源项目对开发的标准,编码习惯有很好的促进作用。另外一点就是产品的一个思维,就是因为之前我是做应用开发的,所以其实我觉得在这一块,产品思维比写代码本身,要更加的重要一些。然后你去了解一个项目背后的一个设计理念,很多的一些开源项目我觉得都是很有智慧的,这点很值得学习。

主持人:吕莫有参与过很多的开源项目吗?

吕莫:我这边比较惭愧,sealer应该是我参与的第一个开源项目呃,之前可能更多的还是去学习开源项目,现在这边确实是第一个。最深的感想可能就是作为开源项目,不仅仅是解决自己产品的一些问题,可能更多的要去考虑非常广泛的各种用户的产品问题,包括编码规范、接口设计等都需要做到足够的简单和通用。这个跟内部的一些研发项目确实有一些不一样。

主持人:那其实你也是代表了一个非常典型的一个群体,就是之前对于开源的关注非常少,但是因为一个项目反而参与进来了,自己也有了一些收获。

吕莫:对。

中弈:其实我觉得是早期那些事情是印象最深刻的,因为我设计这个东西大概花了半年左右的时间。当时就是这个东西还没出来的时候,我跟别人就说,大部分人觉得挺好,但心里像的可能完全相反。就是好像只是说出来但毫无感觉,虽然表面上觉得好像这个想法挺好的,但真正这个东西到底能不能搞出来,其实大家是打个问号的。后来,我这个设计的过程中,其实废弃掉了很多东西,就是一开始的设计稿是极其复杂的,指令或者什么之类东西会特别多,然后一直删减,从十几条一直删减到几条指令,后来能够把将来需要囊括的那些功能都融入到很简单的指令里面,这个过程其实是非常难的。然后有了这样比较好的设计之后,就开始搭团队,其实一开始就我一个人,然后各方包括内部,一些合作方等等,大家都愿意抽调一部分人来参与这个项目,使得我们在很短的时间内把第一个版本图形开发出来了,开发出来了之后,给大家demo的时候,大家一下子能感受到这个东西确实挺厉害的,就是那个时候我觉得我印象最深刻的一个时刻。

主持人:刚刚在听那个摩羯介绍的时候,他说他看到这个项目第一时间联系到了你,所以你在接受到他来信之后,你们之间是进行了怎样的交流,这个细节可以给我们讲讲吗?

中弈:这个我觉得摩羯可以来谈一谈。

摩羯:其实就当天我们发现挺惊喜的,然后我就直接微信联系上中弈,其实我们没聊多少内容,然后就直接决定现场会面。所以后来是中弈和他的同事来到我们公司,然后一起进行相关交流,基本上在当场我们就决定说一起参与这个项目的建设。

主持人:从几位的经历来看,你们觉得怎么来看待开源和工作之间的一种平衡?

中弈:其实我觉得这个我是非常有发言权的,因为我在做sealer之前就做了非常多的开源项目,从最早的大学时期就开始写一些开源的小游戏,比如说基于终端的罗斯方块,小围棋等等。然后后面就是在工作中,在工作中发现自己的一些问题之后,也会基于这些问题,去思考一些解决方案,写一些东西。然后我就写了selears的项目,那个项目其实就是上班跟兼职写开源之间的相互协调,哪个就是自身的一个热爱,基本上,每天下班之后可能写到十二点,十二点之后开始运营,大概是这样的一种状态。那种状态持续了很长时间,然后创造了我现在第一个比较靠谱的,口碑比较好的一个开源项目,包括还写过web safety的框架等等这样的一些项目。所以我觉得我对小白或者是初入职场的新人是不是很难参与到开源中,其实是有一些建议的。第一个就是说,有可能你融入某个开源社区,这个社区的一些规章制度或者是融入方法,不太能够让你快速掌握或者怎样,但是这个其实不是最重要的,最重要的是你,比如说假设没法融入到其他的开源社区的时候,你可以自己写一些东西。自己写东西怎么写?第一个就是你要找到你的想法,这个其实不是一件难事,就是你自己在工作中遇到的一些问题,这就是需求,你如果能通过一些技术手段把这个问题解决,它就有可能变成一个很好的开源项目,然后你不断的去打磨它,就可以了。然后还有一点就是,特别是个人开发者,在写开源项目的时候不一定非得追求有用,就是自己写的很开心就可以了,因为你不是做一个商业化的东西。还有一点是比如说像我们的这种开源社区就非常好,因为我们对于新人的引导会非常好,所以多接触一些像sealer的社区就能很快速的帮你引入到开源社区中来,所以这个是对于新的开发者来说是一个比较好的方式。

主持人:摩羯,你怎么看待这个问题?

摩羯:我觉得从两方面来看,一方面就是说,作为一个项目其实不光是功能实现的部分,怎样让人能用起来、怎样在真实场景里面去解决越来越多的问题。那其实让人用起来那,肯定首要的就是要告诉别人怎么用,所以如果是新手想要参与进来的话,我觉得文档这块的重要程度并不比写代码低,因为你看文档的时候,然后发现了一些问题,或者是直接去私文档上的建设去补充,我觉得这是对这个项目来说一个很大的贡献,而且从写代码的角度,我作为一个可以说半生不熟的一个开源参与者,这其实是我参与的第二个开源项目,在开源上面,虽然我参与的并不多,但是从我新手的角度上来说,一个开源项目你想参与进去的时候,看着庞大的一栏代码我不知道从哪里入手,那这个时候,我觉得可以从一些简单的bug修复,甚至是说你去查看文档的时候,发现这个文档有一些语病或者错别字,都可以去TPR修正,我觉得这其实也是比较重要的东西。

吕莫:我这边觉得可能更多的是一种对技术的追求和热爱。首先就是在工作当中,你做的事情,并不一定是你最喜欢的,可能包括一些需求什么的,这些都不是你能选择的,那开源这个最好的一个好处就是可以选择你自己喜欢做的一些事情;同时也是可以提升自己的技术,所以这里其实最主要的还是技术的一些热爱。另外一个就是对技术小白,或者说是对初入职场的一些同学的一些开源建议,这块其实不管是开源还是平时工作,这两者之间我认为都是一样的。首先它对于新人来说,很多项目不管是开源还是非开源,它都是有一些门槛的,那这块其实最快的方法就是做一些答疑或者说一些简单的东西去入手,这样其实是很快的能够掌握到里面一些门路,然后再整体性的去看这个项目上的一些东西。那这样的话,其实慢慢的对整个项目或者是开源的一些理念,可能会有一个更加清晰的认识。

主持人:中弈刚刚提到一个点,就是项目开源之后是给全世界来看,就相当于把遮羞布拿掉了,我们说到好多人在夸你的项目特别好,那有没有人挑战过你的项目或者指出你的项目有不好的地方?

中弈:还是有的,特别是在早期的时候,早期时候因为项目不成熟,bug多,然后又因为自己的测试场景跟客户场景之间存在差异性,运行的时候可能会有很多问题。摩羯就运行出不少问题,摩羯比较好,就是很客气的跟我说这个有问题,我们来一起修复一下。但是有些客户不是这个样子,觉得你这个不行,甚至直接放弃。所以前期是有这样的,但是我觉得这个其实是挺好的,基本上遇到的这些客户是对自己的一个很重要的鞭策,就是很多时候也确实会帮助我们的项目做的更好,让我们的态度发生一个转变的,就是不以自己的标准来衡量你做的东西,以客户的标准来衡量。人家要求是很严格的,就不像你自己觉得自己做的好,所以对我们来说那些批评的声音还是特别重要的。

主持人:请摩羯举一个批评中弈的例子,他是怎么应对你的批评?

摩羯:在最早期的时候,我们其实参与这个项目算是刚发起的,应该是只有三四个月的时候就参与了,然后那个时候,我们就开始测试,但是测的过程中就遇到不少问题,典型的就是说,其实政采云的场景,因为服务对象基本上都是政府,所在的位置基本都是各个省会城市里面的一些IDC,或者政务云之类的,在这样的一个场景里面,是存在网络等各方面的一个强限制全把控,所以其实就是说在sealer社区里其他用户都跑的好好的,一到政采云的场景就出现bug,这些问题早期确实是存在的。尤其是一些网络场景导致sealer直接中途就崩溃,然后跑不通,这个是早期出现比较频繁的问题。不过社区在这个上确实是给了我们很大的帮助,基本上我们出现问题之后,反馈到社区,社区基本上在第一时间内就安排专人来帮我们处理,这点其实蛮感动的。主持人:sealer项目基本上达到了一个你比较满意的程度吗?

相关文章
|
人工智能 资源调度 Kubernetes
混部开源 Koordinator 背后的故事|学习笔记(一)
快速学习混部开源 Koordinator 背后的故事
468 0
混部开源 Koordinator 背后的故事|学习笔记(一)
|
6月前
|
架构师 Java 程序员
同事开源我的微服务深度实践笔记到GitHub,短短3天竟吸粉10W+
说Spring成就了Java,Spring是Java程序员必修课之一,应该没人反对吧? 前几年面试最常问的且可以顺利拿到高薪的技能是Spring,随着Spring体系的壮大,除非你在简历上添加Spring Boot和Spring Cloud的技能,才可以打动面试官,而现在,除非是Spring架构的扎实经验,否则难以让面试官高看。 一名合格的Java后端工程师或架构师,至少微服务架构是必须牢牢掌握的,这里也整理了整套微服务架构学习路线,准备作为福利送给大家,可以先看一下重点简图。
|
8月前
|
存储 分布式计算 架构师
阿里架构师十年开发总结的《分布式系统开发学习笔记》太强了
分布式系统 分布式系统是将多台小型微型机互连组成的一种新型计算机系统。它冲破了传统的集中式单机局面,从分散处理的概念出发来组织计算机系统,具有较高的性能价格比,灵活的系统可扩充性, 良好的实时性、可靠性与容错性等潜在优点,是近几年来计算机科学技术领域中极受重视的新型计算机系统,现已成为迅速发展的一个新方向。
|
存储 弹性计算 Kubernetes
731.当我问chatGTP“容器云是什么?”它是这样回答的
731.当我问chatGTP“容器云是什么?”它是这样回答的
132 0
|
Cloud Native 开发者
KubeVela 获得 2022 “开源新锐”和“开发者最喜爱”双料年度项目
在 InfoQ 最新公布的 2022 中国技术力量年度榜单中,KubeVela 获得了 “十大开源新锐项目” 和 “开发者最喜爱的十大开源项目” 两个大奖。
KubeVela 获得 2022 “开源新锐”和“开发者最喜爱”双料年度项目
|
Cloud Native 中间件 开发者
聊聊 sealer 开源背后的故事|学习笔记(一)
快速学习聊聊 sealer 开源背后的故事
175 0
|
存储 运维 Cloud Native
聊聊 sealer 开源背后的故事|学习笔记(三)
快速学习聊聊 sealer 开源背后的故事
79 0
|
存储 弹性计算 Cloud Native
混部开源 Koordinator 背后的故事|学习笔记(三)
快速学习混部开源 Koordinator 背后的故事
185 0
混部开源 Koordinator 背后的故事|学习笔记(三)
|
存储 机器学习/深度学习 弹性计算
混部开源 Koordinator 背后的故事|学习笔记(四)
快速学习混部开源 Koordinator 背后的故事
276 0
|
编解码 人工智能 Kubernetes
混部开源 Koordinator 背后的故事|学习笔记(二)
快速学习混部开源 Koordinator 背后的故事
265 0
混部开源 Koordinator 背后的故事|学习笔记(二)