暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

不仅在云端,在自己的数据中心也可以有无服务器

开源云中文社区 2020-09-16
470

如果你关注流行的DevOps技术,你应该听说过无服务器功能。但你可能没有意识到,无服务器功能不仅仅是公共云提供商提供的功能,它还可以使用混合云或私有云架构,在内部或托管数据中心运行。             

如果你想在不依赖公共云提供商的情况下探索无服务器功能,请继续阅读,了解如何以及为什么在自己的数据中心或托管设施中部署无服务器功能。             

什么是无服务器功能?             

无服务器功能是作为无服务器架构的一部分运行的应用或应用的一部分。开发人员只需将无服务器的功能加载到无服务器的托管环境中,然后配置触发功能执行的条件。             

不需要配置整个操作系统环境,也不需要安装传统意义上的软件,因此说是“无服务器”——这有点用词不当,因为这些功能仍然托管在服务器上,即使服务器环境是从最终用户抽象出来的。             

最受关注的无服务器平台,如Azure Functions和AWS Lambda,都是公共云服务。这些解决方案有时被称为功能即服务(FaaS),因为它们允许用户使用类似SaaS的基于云的架构来部署和执行无服务器代码。             

公共云以外的无服务器功能              

尽管公共云供应商已经主导了无服务器市场,但无服务器模式中并没有要求功能托管在公共云中。你可以轻松地在自己的数据中心内设置一个环境,允许开发人员以无服务器的方式部署功能,并使用事件驱动框架执行它们。             

希望在自己的数据中心运行无服务器功能的原因有很多。一是成本。公共云供应商每次执行无服务器功能时都会向你收费,因此在使用他们的服务时会持续不断地产生开支。如果你在自己的硬件上运行功能,那么在设置无服务器环境时,大部分投资都是预先进行的。每个功能的执行没有直接成本。长期来看,总体拥有成本可能会低于公共云中同等服务的成本。

             

安全是另一个考虑因素。通过在数据中心保留无服务器功能,你可以将所有数据和应用程序代码排除在云端之外,这有助于避免某些安全和合规性挑战。             

在某些情况下,在自己的数据中心运行无服务器功能的性能也可能更好。例如,如果功能需要访问存储在数据中心的数据,那么在同一个数据中心运行这些功能可以消除在云中运行但必须从私有设施发送或接收数据时可能面临的网络瓶颈。             

考虑除公共云之外的无服务器解决方案的最后一个关键原因是,公共云服务只对用某些语言编写的功能提供原生支持。使用其他语言开发的功能可以执行,但只能使用包装器来执行,这会导致性能下降。当你部署自己的无服务器解决方案时,可以更好地配置它的操作方式以及它将支持哪些语言。             

也就是说,可用于数据中心的各种无服务器框架在这方面有其自身的局限性,因此你应该在选择之前评估它们支持哪些语言和打包格式。             

数据中心无服务器功能解决方案              

在自己的数据中心(或托管数据中心)部署无服务器功能并不比在公共云中运行它们复杂很多。在公共云之外建立一个无服务器架构主要有两种方法。             

第一种方法是在数据中心内运行私有云,然后在其上部署一个无服务器框架。在OpenStack云中,你可以使用Qinling来实现这一点。Kubernetes(这并不完全是一个私有云框架,但它同样允许你将一个服务器池整合到一个软件环境中)支持Knative、Kubeless和OpenWhisk以及其他无服务器框架。           

第二种方法是使用混合云框架,允许你在自己的数据中心运行公共云供应商的无服务器框架。微软的混合云解决方案Azure Stack支持Azure无服务器平台,Google Anthos通过Cloud Run实现了无服务器集成(亚马逊的混合云框架AWS Outposts目前没有提供无服务器选项)。             

第一种方法需要更多的精力来设置,但是它可以更好地控制你使用的无服务器框架以及如何配置它。它还可以更好地帮助你实现更低的成本,因为许多针对私有云的无服务器解决方案都是开源的,可以免费使用。             

而第二种方法,使用公共云供应商的混合云解决方案,对于大多数团队来说,部署起来会更简单,因为它不需要设置私有云。它还可以在数据中心或直接在公共云中部署相同的无服务器功能。通过Azure Stack部署的一个无服务器功能可以很轻松地lift and shift到在Azure Functions上运行。  

结论              

公共云中的无服务器功能非常容易部署,但它们不能为所有类型的工作负载提供最佳的成本、性能或安全性。在公共云供应商的无服务器解决方案不足的情况,请考虑在自己的数据中心或托管设施中部署无服务器功能。

原文链接:

https://www.datacenterknowledge.com/devops/not-just-cloud-serverless-your-own-data-center

文章转载自开源云中文社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论