根据“RightScale 2018 State of the Cloud”报告,无服务器计算在云服务中增长最快,增长率为 75%,这意味着许多企业选择使用无服务器系统的便利性。
众所周知,无服务器计算将开发者从底层基础架构,主要是服务器中解脱出来。然而,利用无服务器计算在公有云系统上构建的应用程序不太容易移植到其他云平台。
无服务器计算刚出现时,其中一个优点就是同样的无服务器计算环境能够在不同的公有及私有云之间保持一致性与应用可移植性。然而,在具体使用中才发现,无服务器计算并未能完美解决可移植性问题。开发平台调用无服务器代码的方式可能会有所不同,并且几大公有云平台之间并不完全一致。
大多数在基于云的系统上利用无服务器计算进行应用程序开发的程序员将代码紧密耦合到公有云提供商的本机 API,这可能会使代码移动到另一个平台变得困难或不可行。如果在云原生无服务器系统上构建应用程序,则很难将其转移到另一个云平台或返回到本地。
虽然无服务器计算依然很方便,但越来越多的企业在选择云提供商时开始强调可移植性,而应用程序开发和部署平台通常选择最快、最便宜和最简单的方式。
当然,容器也在实现跨越式发展,其优势之一就是可移植性,这相比无服务器计算而言,牺牲了一部分效率,使用容器需要做很多额外工作,并且需要在构建架构时才能有效。也就是说,虽然大多数开发人员因为可移植性的优势选择了容器,但他们从来没有真正将其转移到除原始平台之外的地方。
那么,这一切意味着什么?是否应该继续选择无服务器计算呢?
效率和易用性,无服务器计算意味着更快的部署周期和更低成本,优于大多数工具的可移植性,但这并不足以让人惊讶,考虑过去引领市场的所有数据库、编程语言和平台,几乎都具备这些特质,因此这是否算作优势还是取决于个人和业务场景。
随着公有云提供商在构建和部署无服务器平台方面做得更好,他们可能会变得更加封闭。这些主流公有云提供商不会坐在一起,商量相似的无服务器系统。相反,他们会努力寻找差异点,通过差异化竞争在市场中占据上风。
好在,无服务器计算的标准正在逐渐成熟,但是,如果作为企业的 IT 政策者,需要自行处理这种权衡,而不是随意向某个方向迁移。
评论