V2EX IronCore864
 IronCore864 最近的时间轴更新
IronCore864

IronCore864

V2EX 第 570110 号会员,加入于 2022-01-25 11:47:38 +08:00
IronCore864 最近回复了
@Taiga 非常有深度的回复,再次感谢!

能看出您对于无论是 DevOps 工具链还是 Terraform 的原理都有深刻且读到的见解,请再次接受我的赞美:)

毋庸置疑,DevStream 的确受到了 Terraform 的启发;当然,更大程度上是受我们自家 Dev 系列产品 DevLake ( merico-dev/lake )的启发。当然,如果追宗溯祖,其实 Terraform 本身的 core-plugin 架构、core 做状态机然后 plugin 做 CRUD 的主意也并不是原创就是了:)

"从 0 到 1"的确是 DevStream 首先针对的场景:初创公司、初创团队、老公司老团队的初创项目需要快速 bootstrap 、需要快速搭建 Software Development Life Cycle (SDLC)所依赖的全部工具。对于有能力自研一站式 DevOps 平台的中大型企业来说,可能并不是 DevStream 的第一批潜在用户。当然,从长远来看,DevStream 力图去做 DevOps Toolchain 界的 apt/apk/yum 甚至是"Linux 发型版本";但作为 v0.1.0 版本,我们的目的不是解决从 1 到 100 , 而是解决从 0 到 1.

至于 v0.2, v0.3, v0.4...以至于 v1.0, v2.0 之类的版本,自然是要完善"从 1 到 100"的场景,否则就会像您说的一样,"之后的修大概率不会再用 DevStream 了",这显然并非是我们的本意。

SSoT 是否值得, 其实我们也不知道:这正是我们敢于选择在产品非常雏形阶段的 v0.1 就决定与公众面世的原因:我们想倾听用户的声音,让用户告诉我们它们想要什么产品,什么样的产品能够为他们的工作带来最大的加在一起;而不是想开发一款自认为特别牛逼的产品,完善到了 v1.0 再发布,only to find out that we solved a problem that doesn't even exist in the first place.

DevStream 的目标是减少用户的 operational overhead (请原谅中英文夹杂的回复,有些词汇本来就是在英语环境下接触到的,可能没找到合适的翻译,见笑),如果实现 SSoT 反而增加了用户的学习、配置成本,那的确就有些舍本求末的意思了,这正是我们想尽快发布出来倾听用户声音的原因。说实话,我个人的观点其实是不太赞成 DevStream 来支持 SSoT ,或者,至少我希望把是否由 DevStream 来支持 SSoT 这给决定交给用户、交给插件的开发者来决定,因为他们才最知道自己的需求。但是我们并不敢狂妄自大的替用户做决定,于是还是决定尽快 public release 然后倾听用户的声音。本来我以为这不是一个适合在 v0.1 阶段讨论的问题,因为可能只有用了一些时间之后才能对这个问题有更深刻的理解,出乎意料的是在发布当天就受到了您这样有见解的回复,再次感谢!

其实我觉得,与其说 DevStream 是为了解决某个切实的问题(从 0 到 1 也好,从 1 到 100 也好),不如说 DevStream 本身是一种新的思维方式,更厚颜无耻的说是一种哲学思想:我们不想受限于 one-size-fits-all 的一站式平台的限制,我们想要在 SDLC 的整个过程中都达到研发效能的最大化:在 DevOps 工具层出不穷的今天,我们认为 CNCF 、开源代表了先进的生产力,这也是我们想做 DevOps Tool Manager 的初衷:灵活性。

在不久的将来,对于已经到达 1 的团队,或许在后续的学习实践中会发现某个工具能进一步的提升自己的生产力,但比如由于某云厂商 code pipeline 的限制,不能把最先进的工具整合进来以提升效率。对于这种场景,我们希望 DevStream 可以轻松的修改一端配置然后一个简单的 apply 即可完成"热插拔"。DevOps 跟前端一样,新产品新工具新框架层出不穷,要想时刻保持最先进的生产力,就需要对工具、方法进行不断的学习和试错,不断的整合、改善自己现有的 SDLC 流程。DevStream 希望能为大多数拥抱开源的开发者团队减少一些 overhead ,让他们能够更快速更轻易的达成这一目的。

至于您所说的 pipeline 本来就是 code ,没必要再 as code 一次,这个我个人非常认可。我们并不是单纯的想把某条 CI pipeline as code (虽然看起来目前 v0.1 版本支持的几个插件的确是这么做的,但目前 DevStream 只是一个 minimum viable product ,不是我们的最终目标)。实际上 DevOps 是一个非常广阔的概念,包含了太多工具之外的最佳时间、mindset 、做事的哲学、团队的管理方式等等内容,这些内容不可能都由 DevStream 来承载,但作为一个 unopinionated 的开源工具,无疑我们想尽可能多的整合一些 DevOps 的最佳实践进来。

不知道您职业生涯项目中、包括个人项目中,个人的偏好、最常使用的工具有哪些?在使用过程中的痛点有哪些?如果可能,希望您能在不泄露个人信息的前提下不吝赐教,或许 DevStream 可以从中学习一二,走的更远。

祝好!
@Taiga 很好的问题!

这其实是一个是否要把配置作为 Single Source of Truth (SSoT)的问题。

可能对于有些工具而言这么做没问题,但有些工具这么做可能就会带来问题:比如你举的例子,如果不允许我手动 git commit 来修改 pipeline 我觉得很肉疼。。。

所以可能最终的实现还是要看负责那个工具的插件的实现。到底哪些插件适合做成 SSoT? 这个问题可能让插件的使用者来回答比较具有说服力。

所幸的是,某个插件是否要做成 SSoT ,DevStream 都是支持的。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4338 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 16ms UTC 10:04 PVG 18:04 LAX 03:04 JFK 06:04
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86