容器正在快速发展,但仍旧要求研发人员与服务器打交道,这从而便为企业采用无服务器铺平了道路。
尽管KubeCon Europe大会开幕时参加人员超过4000名,但Begin的创始人和PhoneGap之前的研发人员Brian Leroux正在其位于旧金山的家里,静静地编写代码,并且非常高兴完全不用考虑容器方面的东西。
“今天我不会做的事情,”他在推特上写道,“提供一个实例,创建其他的实例,使用ssh来调查实例,或者升级一系列实例。”
他为什么不会做这些事情,秘密何在?答案就是无服务器。
现在,人们对Kubernetes(容器,一般来说)正十分狂热,它也有理由让人们为之如此疯狂:很明显,容器是构建应用程序的一种更好的方式,同时Kubernetes因能大规模管理这些容器而成为了行业的领头羊。然而,正如原生云计算基金会(CNCF)所发布的数据表明,尽管Kubernetes能够使管理容器变得更简单,但对于一些人来说仍旧是很困难的,因此大量的企业都选择直接采用无服务器来获取容器的诸多好处,同时又不用考虑容器。
不需要提供实例,不需要升级,那你做什么?
Leroux现在拥有了所有这些新发现的自由,那么他正在利用他的时间做什么呢?他随后在一篇推文中详细介绍了这些行为:
- 只为使用的服务付费
- 只关注业务逻辑
- 因为每个功能是隔离开的,所有能够立即知道问题所在
- 数秒内无缝部署升级
Leroux随后说到,尽管无服务器有它自己的学习曲线和问题,但是它能够将开发人员释放出来,让他们不用去思考基础设施,转而将重心集中在业务逻辑上。
对于那些浸泡在虚拟机(VM)里的企业来说,容器在很大程度上是一个启示,因为尽管是不同的,但是他们仍旧使用了类似的比喻。几分钟之内(而不是几个小时),容器便能部署起来,从而相比其他技术,能够花费更少的时间进行启动,但是因本身技术的限制,它使得开发人员开始采用无服务器了。
无服务器打破了那个服务器的比喻。正如Leroux在2017年的一次采访中告诉我的,“一旦你采用那个隐喻的飞跃,你就会获得相当大程度的隔离,在那个隔离中,你能够获得更多的持久性。这很像构建静态的网站(有效地上传文件)。”
再一次地,对于那些必须生活在VM土地上的人来说,容器转变是进化性而不是革命性的。总体上来说,这是一个好事情。但是,随着企业试图拥抱微服务,容器方式开始显示出它的限制性。毕竟,在Kubernetes中,你确实可以构建微服务器架构,但是你必须自己去做这些事。而AWS Lambda和其他无服务器方式却能够为你处理所有这些事情。
不,真的,这是很简单的!
当然,考虑到Kubernetes近来才成为容器的新宠,这对一些人来说是一个噩耗。即使这样,Kubernetes绝不简单,它有着自身最大的优势(让开发人员摆脱以往的VM)和劣势(开发人员采用它是没有前景的)。然而,对今天许多的企业来说,采用以往的技术是一件大事。正如CNCF的一项调查显示,许多企业仍旧在本地采用容器:
很明显,Kubernetes是一种企业选择升级研发而不用彻底转变模式的方式。即使这样,它也不是十分简单的。当问及关键的挑战时,复杂性、网络、安全、监控和存储位居榜首。
随着Kubernetes逐渐成熟,这些挑战中的一些似乎会变得越来越好。但是它们改进的速度是否会比无服务器成为主流的速度更快,目前尚不清楚。
Kubernetes聚会会散场吗?
这并不表明无服务器将驱散Kubernetes人群。尽管它得到了快速采用(无服务器的采用以闪电般的速度快速增长,在CNCF所调查的开发人员中,41%已经在使用无服务器了,另有28%计划在接下来一年半的时间里这样做),企业技术人员也不会那么快采用它。接下来许多年里,Red Hat等公司将会因帮助迁移到容器而赚取大量金钱。
然而,据AWS的主管Andy Jassy表示,过去一年时间中,AWS Labda增长了300%。据一位撰稿人James Governor表示,“懒散的人”驱动了它的采用。正如他写道的:
“容器能够帮助降低IT费用,但是采用容器的主要的推动力还是在于,速度和有效地管理基础设施。容器基础设施的问题在于,这一有效的管理需要高技能研发人员和操作者。人才是一种稀缺资源。即使你负担得起他们的薪资,但是他们可能更想要为更酷的公司工作。”
这种对开发人员生产力的推动正在促使一些公司避免将精力“分散”在容器上,转而完全专注在编写业务逻辑上。基于此,随着公司不同的领域正在以不同的速度发展,以及不同级别的遗留逐步走向未来,我们有可能会看到企业拥抱同时Kubernetes和无服务器的现象。
但是如果你将赌注下在某种人身上,明智的选择总是将金钱放在能够使开发人员最具有生产力的东西上。这就是无服务器。是的,正如Rishidot分析师Krishnan Subramanian所大声疾呼的,它是容器进化的一大风险。