无服务器计算实际上并不是没有服务器运营,而容器并不真正包含IT应用程序,它们会抽象化。跟踪云计算领域的语义是一项全职工作。
如今最新的热门话题是无服务器将会取代容器,更重要的是,有人想知道企业应该如何准备利用这个转变。
首先,容器不会消失。事实上,容器箱市场将在2018年和2019年大幅增长。但这里所说的是,与无服务器的云计算相比,容器可能最终不得不淘汰。
其次,无服务器比容器更为新颖一些。如今的Docker容器是以过去的容器标准为基础的。但是,云端的容器有点不同。它们提供了当前公共云提供商无法提供的便携性,并且他们提供了一个非常完善的分布式开发平台。
最后,无服务器和容器解决了非常不同的问题。在许多用例中,很难比较它们。例如,无服务器更适用于网络新应用程序,因为很难将应用程序重构或重写为无服务器功能集。容器可以容纳现有的应用程序,尽管人们需要对这些应用程序进行重大的重构,但是没有无服务器那么多。
比较无服务器与容器成本是一件简单而经济的事情。
为什么人们认为无服务器将占主导地位……也许是稍占主导地位?这是一个关注过去最终在这里呼吁的开发者采用过去的采用模式的问题,他们应该这样做。这些是需要考虑的几件事情:
开发人员不是基础设施人员。公共云计算的使用迫使许多开发人员对他们需要什么内存、CPU和其他平台容量有所了解。虽然他们不是将机架上的服务器捆绑在一起,但从来没有这样做过,但他们做出的决定留给了硬件人员。
公共云提供给工作人员以自我和快速提供资源的人。开发人员往往低估或高估了他们所需的硬件足迹,每一项都需要付费购买公共云中不会使用的虚拟硬件,或者由于缺乏资源而导致应用程序出现失败。
另一方面,无服务器可以避免开发人员处理虚拟硬件配置,或者担心基础设施投入过高或过低。无服务器云计算,无论它是微软的Functions还是AWS的Lambda,都将开发人员从虚拟服务器的概念中解脱出来。相反,他们只是运行他们使用公共云无服务器云计算工具创建的无服务器功能,并且他们需要从服务器自动分配,并自动释放。
公共云提供商并没有发明容器。另一个因素是Docker和CoreOS是容器的真正创新者,而不是AWS和微软这两大公共云供应商。尽管AWS和微软公司都采用了容器技术,甚至是来自Dockers,CoreOS和Google(Kubernetes)的容器技术,但真正的公共云用户却要求这种技术存在于公共云中,推动了现有的创新。谷歌、微软和AWS提供容器开发和部署服务。
所以,人们正在处理的是美国国家卫生研究院(NIH)与大型公共云提供商会面,这些提供商可能会从无服务器计算中获得更多收益,并且他们认为它比容器更具创新性。这就是为什么用户会从一个大型公共云提供商那里得到一个无服务器的云计算空间而不是容器的原因。但是,他们可能以同样的销售和营销资金支持两者。
最后,无服务器似乎更具成本效益。这是无服务器超过容器的真正原因。从专家的经验来看,使用基于云计算或内部容器技术构建一个全新的应用程序需要花费更多的资金,而是应该使用无服务器工具构建相同的应用程序。
开发人员不必处理调整虚拟计算、存储和数据库资源的规模以支持工作负载。它会自动发生,这使得它更容易。此外,由于资源正在被分解并分散给它们,所以它往往会更具成本效益。
Docker的这个图形说明了容器的可移植性。
无服务器vs容器哪个更适合
做出这个判断和决定必须有一定的常识。虽然无服务器适用于可从头设计、构建和部署的全新应用程序,但可尝试将传统应用程序或传统应用程序应用于无服务器应用程序。
不要指望公共云服务提供商会旁观他们的市场份额消失,因为容器占据了这两种技术之间的大部分传统迁移市场。他们已经在扩大对这些工具的语言、存储和数据支持,而微软和AWS提供的技术很快进入第三代。
容器是可移植性要求的选择。一旦构建了一个应用程序以在容器中运行,用户应该能够将该容器移到任何地方,包括在内部部署数据中心和基于云的平台上。如今,从无服务器工具品牌到其他无服务器工具品牌的便携性是不存在的。
但是,企业通常高估了便携性的需求。虽然企业在过去几年中已经向云计算供应商提出要求,但他们现在明白,构建可移植性应用程序(包括使用容器)的成本可能超过了收益,因为大多数企业工作负载将保留在构建它们的平台上。
如果企业只是从工作和技术出发,那么无服务器通常会因为上述一些原因而获胜。这并不意味着容器将会消失,他们将在2018年落后于无服务器。