2

云原生的思考

 2 years ago
source link: https://mengtnt.com/2022/01/01/thinkcncf.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

云原生的思考

01月 01日, 2022 1 minute read

2022年即将到来之际,收到腾讯云服务器友好的提醒:“尊敬的用户,你xxxx云服务器资源将于2021.12.30号到期,到期后将在一天后停止服务,停服后数据为你保留7天,逾期未续费资源将被释放”。我想着企业都不容易,毕竟年底了续个费吧。一打开续费页面,续费的话一年将近2000RMB,虽然自己知道续费肯定会贵一些,但是着实还是震惊了下。毕竟当时买的腾讯云服务器3年也就300多块钱。

自己想着年底各种优惠活动应该有优惠券吧,就从腾讯云的官方看了下,果然有,然后美滋滋的领了老用户续费券一年就只要300多块钱了。正准备续费的时候,我思考了下,为啥服务器续费的价格涨的这么离谱,我这台服务器也就自己的博客和一个MySQL数据库,以及自己一些日常自动化的脚本在运行。不至于占用这么多资源吧。

同时我看了下腾讯云的销售政策,新用户注册同样的服务器一年只要79块钱,心里有些不平衡了。腾讯这不就是杀熟客行为,难道腾讯不怕客户跑路么?仔细想了下,这不就是典型的ToB行业的销售套路么?先用底价让你入坑,然后之后一行代码可能就是你原来入坑的几十倍。

其实ToB服务的企业,敢于这样干的本质原因,就是企业服务的迁移成本。典型的像给企业提供CRM服务,当你的企业客户数据都离不开他们的服务时,这时候企业就可以加价了,因为这时候他们在市场上已经没有对手了,被服务的企业也很无奈,因为迁移成本往往会很大,只要价格不要高的太离谱,他们自然会怪怪付费。这就是为什么说做SAAS服务的企业,往往收入相对稳定,比做ToC企业稳定性好很多。ToC的企业一个功能体验没做好,得罪了用户他们立马可能就转头去用另一个企业的产品了,用户花费的成本可能仅仅是重新下载一个新APP而已。

那么这样情况有没有破局那?尤其像云服务市场,如果一个企业的所有服务器都是通过一家公司购买的,想要迁移到另一个家公司成本会有多高哪?虽然自己服务器上也就5,8个服务在跑,和企业服务没发相提并论。不过自己想对比下迁移的成本到底有多高。然后就花了79块钱买了一个新的服务器。下面就描述下自己的迁移过程。

  1. 新购买的服务器首先要配置服务器的秘钥,方便用ssh登陆管理服务器。以及修改sshd_config一些配置。大概花费了半小时时间。

  2. 下载一些常用的软件,其实我这里主要是git和docker。git是因为要下载自己服务的源码而docker是要部署这些服务。这个就看网路了,10几分钟。(现在很多轻量级服务器都自带docker了)

  3. 下载源码开始编译构建所有基于docker的服务,这个构建过程可能比较久大概用了1个小时,自己服务用的环境主要是ruby、node、mysql、php、Nginx。这个过程全称都不需要我操作。

  4. 修改防火墙的配置,开发端口让外面的服务器访问。几分钟左右。

  5. 修改域名解析,自己用的godaddy域名,解析使用的时间,10分钟左右。

总计自己晚上搞了2到3个小时,把所有的服务器迁移好了。然后自己心里美滋滋,毕竟省下了2000块钱。这么顺利的迁移其实自己还是很意外的。

犹记得2011年那时候,当时云计算百家争鸣,自己买过新浪的云服务SAE(新浪当时的服务对标Google App Engine(GAE))。然后部署了一个网站和几个接口的服务,用的环境是Python。新浪SAE可以选择服务器自带python环境,由于自己的服务时基于Python的web2py框架,用了SAE后,只要简单的增加一些和平台的相关的配置就很快可以运行了。

只有由于一些业务迭代,接入他们的MemCache已经使用了SAE的MySQL数据库。这个服务运行一年后,感觉费用成本方面已经远远超过了阿里云。所以就想迁移到阿里云服务器,买了阿里云服务器后,部署了自己的源码,发现各种各种报错和接口不同,改动这些问题,花了1,2天的时间才迁移成功。

从上面看出当时服务器迁移的成本还是挺高的,自己就一个简单的服务就迁移了这么久,可想如果是一个企业那肯定要更高的成本。其中迁移困难的本质原因,就是每个云服务器配置都有他们自己特殊定制的功能,虽然SAE有Python环境,但是要完全使用平台的环境,需要侵入自己的源码,增加一些平台相关的配置。阿里云的服务和新浪的这些标准都各不相同,就造成了迁移的成本非常的巨大。

正应了那句名言“天下大势合久必分,分久闭合”,自从云计算服务出来后,各家公司都在争夺这个领域,然后亚马逊、微软、谷歌、阿里云这几个厂商在各自的区域拔得头筹。但是云计算各个平台的标准并不统一,本质上很容易造成上面我说的局面,也因为这些弊端,一些中小企业并不是很乐意上云,毕竟迁移成本还是很大的问题。所以统一云服务的标准势在必得,云原生的概念顺势而出了。

云原生的概念,由来自Pivotal的MattStine于2013年首次提出,被一直延续使用至今。这个概念是Matt Stine根据其多年的架构和咨询经验总结出来的一个思想集合,并得到了社区的不断完善,内容非常多,包括DevOps、持续交付、微服务、敏捷基础设施和12要素等几大主题,是一套典型上云指导思想和方法论,同时提供具体的操作工具。采用基于云原生的技术和管理方法,可以更好地把业务生于“云”或迁移到云平台,从而享受“云”的高效和持续的服务能力。

云原生的概念提出来以后。拥抱最多的企业就是谷歌。并且一直在推动和实践这个行为,谷歌这种做法也不无道理。为何要统一化云计算服务的标准哪?因为谷歌看到了亚马逊在云服务市场赚到盆满钵满。谷歌用的打法和当年的Android如初一辙,指定标准和开源,推出了k8s和docker这两种云原生的利器。

谷歌用这种方式对云服务市场进行的破局方式。当年的Android的套路很像通过统一标准,来降低企业依赖平台的系数。让企业可以更放心的选择迁移自己的云服务厂商。就跟Android一样,出来一个开源的标准所有厂商接入就行了。这样就消除了很多企业的顾虑,大家自然就都原因干这个事情,同时竞争也就会上来了。所以当时Android和微软、苹果的竞争中,才能后来居上。

不过谷歌的这种打法,必然会造成云计算行业厂商的利润下降,但是整体的云服务质量就会上升。其实长远来看还是很有利行业的发展。下面引用下云原生的常用概念。

其实从云原生概念上来看,云原生比上云更进一步,不再是一个方向或者指导思想,而是明确了上云的方式和最佳实践。CNCF TOC张磊分享他对云原生的理解:“云原生是一条最佳路径或者最佳实践。更详细的说,云原生为用户指定了一条低心智负担的、敏捷的、能够以可扩展、可复制的方式最大化地利用云的能力、发挥云的价值的最佳路径。

从上面可以看出云原生本质上就是为了解决各家云厂商标准的问题,如果大家都遵循了这个原则,那么企业只要关注自己业务的代码。写完之后想从一个云上迁移到另一个都很容易,因为标准是统一的不会出现不兼容。

云计算服务行业是典型的ToB企业,ToB的企业价值做到最后,往往就像工业时代的水电煤一样,成本会回归到事物本身的价值。往往不像ToC的行业利润可以做到很高,很重要的一点就是Toc行业很难形成统一的服务标准。对于Toc行业来说,首先有庞大的用户群体,并且每个用户的需求都不一样,要各种定制化的需求,统一就很难。但是如果是服务企业的话,本身群体不会特别大,并且标准统一反而有利于企业做迁移,所以统一就相对容易一些。

其实这也是市场发展的必然过程。任何行业想要降低成本的过程中,提供更好的服务,一定是大家形成统一的标准,可以自由的竞争,然后回归到价值本身了。这也是为什么很多国家会有垄断法,因为一旦一个行业被垄断了,用户迁移成本无限大的时候,垄断的企业就可以漫天要价。

从云计算的发展中也可以看出现在市场经济,往往价值最高的产品就是市面上没有统一的标准,需要给用户特殊定制的(这里的价值是说对提供的企业赚钱的多少,并不代表对整个行业的价值很高)。一旦一个行业形成了标准,大家都可以按照这个标准产出东西的时候,就意味着这个行业的利润已经基本回归到价值本身了。其实本质上这更利于行业的蓬勃发展,就跟现在的建筑、硬件制造、汽车制造行业,大家可以百家争鸣,同时消费者也能享受到更好的服务。这才是健康有利的发展。

所以所谓红海市场,本质上是行业还处于标准不统一的节点,同时也是企业最能赚到原始资本的地方,一旦行业形成标准,最终市场都会归于冷静,也就回归到理性的价格。不仅想起一句俗语”尘归尘,土归土,及尽繁华,不过一掬细沙”。所以云原生现在蓬勃的发展也是印证了这个道理。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK