当软件更改的成本代价越来越低,你的产品就会越来越强!!!

我今天看了一篇文章,大概是讲不是所有的公司都需要kubernets,里面讲的有些东西确实很中肯,但我觉得它是片面的。如果是一个互联网公司,即使你刚刚才成立,用户量很少,你也应该考虑使用例如kubernets类似的开源工具。

为什么这么说呢?

相信对于所有的程序员来说,需求的变动导致自己更改代码都是一件不怎么愉快的事,而这还仅仅是代码层面的改动。

有天cto告诉你我们用户增量越来越大,考虑下集群的使用,再过一段时间发现夜晚用户量又不大,夜晚需要收缩集群,即考虑scale,又要考虑high availability,还要考虑fail over,log的处理需要更加有章法,更新时候的小心翼翼…,我们的软件成功运行的依赖项越来越多,我们不敢随意进行改动其中任何一个环节,生怕漏掉一个细节引起全局崩溃,所以这一系列的改动所引发的成本提升是极其不可控的。

但是直到例如docker、k8s这些开源软件的出现就改变这些问题,微服务、devOps他们使软件更改的cost变的越来越低,我们可以轻松隔离每个应用甚至单一组件的服务,我们可以进行策略性的更新(滚动、灰度、蓝绿),甚至可以快速回退到稳定的版本,而这一切,如果用代码或者脚本去实现,需要花费很大的精力却也不见得使整个软件更加稳定灵活!

当软件不再为公司的硬件环境束缚,当集中式的,复用第一的设计理念开始崩溃,我们需要更高的灵敏度,所以分散,灵活,解耦,隔离成为设计文档中最火的key word。

在新的挑战出现之前,利用新的自己杀死老的自己,在这个过程中自然也竞争赢过了同行业对手。

其实在整个开发过程中,我们都可以应用熵增理论,简洁高质量的代码搭配适合的工具必然使整个系统维护性和扩展性变高,这些操作上在某种程度上都使整个系统的熵降低,所以在不断的迭代中我们始终要贯穿降低系统熵的理念!

当软件更改的成本越来越低,你的产品就会越来越强!

发布了169 篇原创文章 · 获赞 224 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/sureSand/article/details/86736996