0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

无服务器计算的时间和费用节省方法

汽车玩家 来源:今日头条 作者:新钛云服 2020-05-05 21:17 次阅读

独立简单的功能使开发更容易,事件驱动的执行使操作性价比更高!

开发人员花费无数个小时用代码解决业务问题。 然后轮到ops团队花费无数个小时,首先弄清楚如何获得开发人员在任何可用计算机上编写和运行的代码,然后确保这些计算机顺利运行。第二部分真的是一项永无止境的任务。 为什么不将这部分留给别人呢?

在过去二十年中,IT的许多创新:虚拟化,云计算,容器 ,一直专注于确保不必过多考虑代码运行的底层物理机器。无服务器计算是一种越来越流行的范式,它将这种愿望用于其逻辑结论:使用无服务器计算,你无需了解代码运行的硬件操作系统,因为服务提供商都会为你提供服务。

什么是无服务器计算?

无服务器计算是云的执行模型,云提供商在其中动态分配,然后仅为执行特定代码片段所需的计算资源和存储向用户收费。当然,仍然涉及服务器,但它们的供应和维护完全由提供商负责。亚马逊无服务器的倡导者Chris Munns在2017年的会议上表示,从团队编写和部署代码的角度来看,“根本没有服务器可以管理或配置。这包括没有裸机,没有虚拟,没有容器,任何涉及你管理主机,修补主机或在操作系统级别处理任何东西的东西,都不是你应该做的事情。这就是无服务器的世界。”

正如开发人员Mike Roberts所解释的那样,该术语曾被用于所谓的后端即服务场景,其中移动应用程序将连接到完全托管在云中的后端服务器。但是今天,当人们谈论无服务器计算或无服务器架构时,它们意味着功能即服务产品,其中客户编写的代码只解决业务逻辑并将其上传到提供商。该提供程序负责所有硬件配置,虚拟机和容器管理,甚至是多线程等通常内置于应用程序代码中的任务。

无服务器函数是事件驱动的,这意味着只有在请求触发时才会调用代码。提供商仅对该执行所使用的计算时间收费,而不是维护物理或虚拟服务器的固定月费。这些功能可以连接在一起以创建处理管道,或者它们可以作为更大应用程序的组件,与在容器中或在传统服务器上运行的其他代码交互。

无服务器计算的优点和缺点

从该描述中,无服务器计算的两个最大好处应该是明确的:开发人员可以专注于他们编写的代码的业务目标,而不是基础设施问题;组织只需要以非常精细的方式支付他们实际使用的计算资源,而不是购买物理硬件或租用大多数闲置的云实例。

正如Bernard Golden指出的那样,后一点对事件驱动的应用程序特别有益。例如,你可能有一个大部分时间处于空闲状态的应用程序,但在某些条件下必须同时处理许多事件请求。或者,你可能拥有一个应用程序来处理从具有有限或间歇性Internet连接的IoT设备发送的数据。在这两种情况下,传统方法都需要配置一个能够处理峰值工作能力的强大服务器,但是大多数时候服务器都未得到充分利用。使用无服务器架构,你只需为实际使用的服务器资源付费。无服务器计算也适用于特定类型的批处理。无服务器架构用例的规范示例之一是上载和处理一系列单个图像文件并将它们发送到应用程序的另一部分的服务。

也许无服务器功能最明显的缺点是,它们是故意短暂的,正如AlexSoft所说,“不适合长期任务。”大多数无服务器提供商不会让你的代码执行超过几分钟,当你启动一个函数,它不会保留以前运行的实例中的任何有状态数据。一个相关的问题是,无服务器代码可能需要几秒钟才能启动,对于许多用例而言不是问题,但是如果你的应用程序需要低延迟,则需要发出警告。

正如Rohit Akiwatkar和Gary Arora所指出的,许多其他缺点都与供应商锁定有关。尽管有可用的开源选项,但无服务器市场由大型商业云提供商主导,我们将在稍后讨论。这意味着开发人员通常最终会使用其供应商提供的工具,这使得如果他们变得不满意就很难切换。而且,根据定义,在供应商的基础架构上进行了大量无服务器计算,将无服务器代码集成到内部开发和测试管道中可能很困难。

无服务器供应商:AWS Lambda,Azure Functions和Google Cloud Functions

无服务器计算的现代时代始于2014年基于亚马逊云服务的AWS Lambda的推出。微软于2016年推出了Azure Functions。自2017年以来一直处于测试阶段的Google Cloud Functions终于达到了生产状态,这三种服务的局限性,优势,支持的语言和做事方式略有不同。 Rohit Akiwatkar对这三者之间的区别进行了详细而详细的描述。运行中还有IBM Cloud Functions,它基于开源的Apache OpenWhisk平台。

在所有无服务器计算平台中,AWS Lambda是最突出的,显然已经有最多的时间来发展和成熟。

无服务器堆栈

与许多软件领域的情况一样,无服务器世界已经看到了软件堆栈的发展,这些软件堆叠了构建无服务器应用程序所需的不同组件。每个堆栈都包含一个你要编写代码的编程语言,一个为你的代码提供结构的应用程序框架,以及一组平台将理解并用于启动代码执行的触发器。

虽然你可以混合使用这些类别中的不同特定产品,但根据你使用的供应商存在一些限制,但存在一些重叠。例如,对于语言,你可以在AWS Lambda上使用Node.jsJava,Go,C#和Python,但只有JavaScript,C#和F#在Azure Functions上工作。在涉及触发器时,AWS Lambda拥有最长的列表,但其中许多都是特定于AWS平台的,如Amazon Simple Email Service和AWS CodeCommit;同时,Google Cloud Functions可以由通用HTTP请求触发。保罗·贾沃斯基(Paul Jaworski)深入研究了三大产品中的每一个产品的堆栈。

无服务器框架

这个方程式的框架部分有点遗憾,因为这将很好地定义了如何最终构建应用程序。亚马逊有自己的原生产品,即开源的无服务器应用程序模型(SAM),但也有其他产品,其中大多数是跨平台的,也是开源的。其中最流行的是无服务器,并且强调它为每个支持的平台提供相同的体验,即AWS Lambda,Azure Functions,Google Cloud Functions和IBM OpenWhisk。另一个受欢迎的产品是Apex,它可以帮助某些提供商无法使用某些语言。

无服务器数据库

正如我们上面提到的,使用无服务器代码的一个怪癖是没有持久状态,这意味着局部变量的值不会在实例化中持续存在。你的代码需要访问的任何持久性数据必须存储在其他位置,并且主要供应商的堆栈中可用的触发器都包含你的函数可以与之交互的数据库。

其中一些数据库本身是无服务器。这意味着它们的行为与我们在本文中讨论的其他无服务器函数非常相似,但显而易见的例外是数据无限期存储。但是,配置和维护数据库所涉及的大部分管理开销都被抛弃了。正如开发人员Jeremy Daly所说,“你需要做的就是配置一个集群,然后为你自动处理所有维护,修补,备份,复制和扩展。”与功能即服务产品一样,你只需支付实际使用的计算时间,并根据需要调高和调低资源以满足需求。

三大无服务器提供商各自提供自己的无服务器数据库:亚马逊拥有Aurora无服务器和DynamoDB,微软拥有Azure Cosmos数据库,Google拥有Cloud Firestore。

无服务器计算和Kubernetes

容器有助于为无服务器技术提供动力,管理它们的开销由供应商负责,因此对用户不可见。许多人认为无服务器计算是一种在不必处理其复杂性的情况下,获得容器化微服务的许多优点的方法,甚至开始谈论后容器世界。

实际上,容器和无服务器计算几乎肯定会在未来许多年内共存,无服务器功能可以与容器化微服务存在于同一应用程序中。Kubernetes是最受欢迎的容器编排平台,也可以管理无服务器基础架构。使用Kubernetes,可以在单个集群上集成不同类型的服务。

无服务器的离线

你可能会发现无服务器计算开始的前景有点令人生畏,因为你似乎需要与供应商签约才能玩,并了解它是如何工作的。但不要担心:有些方法可以在你自己的本地硬件上脱机运行无服务器代码。例如,AWS SAM提供了一个本地功能,允许你脱机测试Lambda代码。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AWS
    AWS
    +关注

    关注

    0

    文章

    427

    浏览量

    24312
  • 无服务器
    +关注

    关注

    0

    文章

    16

    浏览量

    4061
收藏 人收藏

    评论

    相关推荐

    SSR与传统服务器的对比分析

    随着云计算技术的快速发展,Serverless架构(服务器架构)逐渐成为业界关注的焦点。其中,SSR(Serverless Stateful Resources,
    的头像 发表于 11-18 11:22 206次阅读

    搭建海外云服务器需要什么费用

    搭建海外云服务器费用涉及多个方面,包括服务器实例费用、公网带宽费用、磁盘存储费用、操作系统
    的头像 发表于 10-29 10:55 122次阅读

    时间服务器有哪些类型

    时间服务器是一种计算机网络仪器,它主要负责从参考时钟获取实际时间,并通过计算机网络将这些时间信息
    的头像 发表于 09-29 17:00 234次阅读

    美国云服务器租赁费用怎么算

    美国,作为云计算技术的先驱和全球数据中心的重要聚集地,其云服务器租赁服务不仅种类繁多,而且价格体系也相对复杂。下面,rak小编帮您深入了解美国云服务器租赁
    的头像 发表于 09-27 09:31 133次阅读

    费用外国云服务器靠谱吗?

    费用外国云服务器在特定条件下可以考虑为靠谱,但需要用户综合考虑多个因素,以确保选择的服务器既能满足需求又能保证性价比。低费用外国云服务器
    的头像 发表于 08-30 11:19 194次阅读

    美国硅谷raksmart站群裸机服务器租用费用分析

    RAKsmart是一家提供数据中心服务的公司,其在美国硅谷拥有数据中心,并提供包括站群裸机服务器在内的多种服务器租赁服务。站群服务器通常用于
    的头像 发表于 08-29 10:05 175次阅读

    影响服务器托管费用的主要因素

    服务器托管是指将服务器放置在专业的数据中心(IDC)内,由数据中心提供必要的物理环境(如电力、冷却、安全等)以及网络连接服务。对于企业和组织来说,服务器托管是一种经济高效的方式来保证其
    的头像 发表于 07-29 09:48 238次阅读

    IaaS云服务器的优势是什么?

    计算的基本定义是,使用部署在远程机器/系统上的计算资源(硬件/软件),并通过网络(私人/公共)作为服务交付给最终用户。 IaaS云计算(云服务器
    的头像 发表于 07-18 11:53 456次阅读

    华为云函数工作流:引领未来服务器计算时代

    在当今数字化飞速发展的时代,企业和个人对于计算资源的需求越来越高,但传统的服务器架构带来的管理成本和资源浪费问题也愈发凸显。为解决这一难题,华为云引领着服务器
    的头像 发表于 05-27 10:50 329次阅读
    华为云函数工作流:引领未来<b class='flag-5'>无</b><b class='flag-5'>服务器</b><b class='flag-5'>计算</b>时代

    智慧时间同步解决方案——NTP网络时间服务器

    需要同步时间的设备,如个人计算机、服务器、控制等设备就可以与国际标准的时间进行同步。 用在在大型的网络环境中,可以实现
    的头像 发表于 05-15 14:29 498次阅读
    智慧<b class='flag-5'>时间</b>同步解决方案——NTP网络<b class='flag-5'>时间</b><b class='flag-5'>服务器</b>

    NTP网络时钟同步服务器(授时服务器)的几种设置方法

    NTP网络时钟同步服务器(授时服务器)的几种设置方法
    的头像 发表于 04-29 11:28 7838次阅读
    NTP网络时钟同步<b class='flag-5'>服务器</b>(授时<b class='flag-5'>服务器</b>)的几种设置<b class='flag-5'>方法</b>

    NTP网络时间服务器,保障您的计算机系统时间精准!

    而显示不同的时间,因为它们计时的速率会略有差异。时钟计时速率的差异会造成多种问题,但已有多种解决方案,最佳的解决方案须由实际情况决定。 NTP服务器的概念 NTP时间服务器是针对自动化
    的头像 发表于 04-29 10:33 388次阅读
    NTP网络<b class='flag-5'>时间</b><b class='flag-5'>服务器</b>,保障您的<b class='flag-5'>计算</b>机系统<b class='flag-5'>时间</b>精准!

    gpu服务器是干什么的 gpu服务器与cpu服务器的区别有哪些

    gpu服务器是干什么的 gpu服务器与cpu服务器的区别 GPU服务器是一种专门用于处理图形运算的服务器,而CPU
    的头像 发表于 01-30 15:31 811次阅读

    何为网络时间服务器?网络时间服务器如何同步虚拟时间

    何为网络时间服务器?网络时间服务器如何同步虚拟时间? 网络时间
    的头像 发表于 01-16 15:10 710次阅读

    北斗时间服务器的优点有哪些?

    北斗时间服务器是一种基于北斗卫星导航系统的时间同步服务器。与GPS时钟同步服务器类似,北斗时间
    的头像 发表于 01-16 13:26 346次阅读