为什么我们要使用无服务器架构

本文涉及的产品
简介: 本文讲的是为什么我们要使用无服务器架构【译者的话】这篇文章介绍了无服务器架构与传统架构相比的优势,与此同时,也指出了无服务器架构并非适用于所有的应用,但了解这种架构模式对于开发者或者企业来说都是大有裨益的。
本文讲的是为什么我们要使用无服务器架构【译者的话】这篇文章介绍了无服务器架构与传统架构相比的优势,与此同时,也指出了无服务器架构并非适用于所有的应用,但了解这种架构模式对于开发者或者企业来说都是大有裨益的。

【3 天烧脑式基于Docker的CI/CD实战训练营 | 北京站】本次培训围绕基于Docker的CI/CD实战展开,具体内容包括:持续集成与持续交付(CI/CD)概览;持续集成系统介绍;客户端与服务端的 CI/CD 实践;开发流程中引入 CI、CD;Gitlab 和 CI、CD 工具;Gitlab CI、Drone 的使用以及实践经验分享。

无服务器架构并不适用于所有的app,但这篇文章将帮助您了解,如果使用这种架构,将会有哪些是值得您期待的。
如今谈论无服务器架构,大多数都是关注其与function-as-service的集成、如何编排访问请求,以及基于无服务器架构的故障排查工具等等。然而,没有多少精力关注在为什么选择无服务器架构,而不是传统架构背后的深层次原因,这是为什么呢?

降低开发成本

使用无服务器架构(serverless)的首要原因,正如其名字所表明的那样,将服务器从我们的关注项中移除。我们不得不承认,并没有真正的无服务器(无服务器仅仅只是对托管在云端的服务器的另一种说法)的应用,选择一种无服务器架构的实现,获得的好处只是不必开发服务器端代码罢了。

在传统的客户端 - 服务器应用程序中,基于数据的所有API和端点都需要由开发人员实现。开发方式包括通过使用像Rails这样的框架自己编写代码,或者通过利用可将底层调用转换为可调用的REST API的第三方工具来实现。

使用无服务器架构,您可以将大量的后端技术工作交给第三方,从而无需关注将Web应用推向市场的复杂工作。这显着降低了开发成本。您的开发人员可以专注于用户界面和用户体验,您的应用最具特色的地方将会更具有吸引力。

减少DevOps和维护成本

涉及到应用的开发和托管Web应用的直接成本很多。其中包括开发人员薪酬,托管费用,域名注册费用,数据传输费用等。此外,对于web应用程序,您通常需要保持服务器不间断运行,以处理一天中任何时间的访问请求。这意味着对于访问频率低的应用程序,每天只能运行一个小时的计算时间,您仍然需要为您的应用程序可用但尚未使用的其他二十三小时付费。

使用像 AWS Lambda 这样的功能即服务实用程序,您可以通过确保只有在应用程序处于活动状态时付费,才能进一步降低成本。功能即服务运行在按执行次数计费的模式,所以您只需要在代码实际被调用时支付托管和计算资源。许多Web应用程序通常是空闲的,因此可以显著节省成本。

虽然您可以使用Docker等产品在Heroku上托管容器来获得类似的收益,但您将无法获得功能即服务的无服务器提供商允许的纯粹级别,该服务器只提供一个实例, 实际上调用了一个单独的函数。通过确保您的代码仅在实际需要时处于活动状态,这种间歇性安装和卸载容器可以减少托管和资源使用成本。

减少面市时间

除了减少代码量和运营成本外,还可以减少交付时间。通过牺牲硬件和服务器端的灵活性,您可以通过将复杂性移到客户端来减少开发应用程序所需的时间,将您的努力专注到代码库中的单一语言中。

此外,您不需要找到提供商,运行起来服务器,配置Web服务器软件,并让您的应用程序在机器上运行,最终会是一个更简单的问题。您还可以获得更多的主机选择,因为无服务器应用程序只需要一个可以为其终端用户提供文件的CDN,而不是在处理来自网络用户的请求,运行编程语言的运行时的特定Web服务器。

最后,通过将您的应用程序的服务器端交给无服务器的提供商,您可以通过允许第三方管理应用的安全来提升安全性。通过这种方式,可以减少对web服务器、数据库服务器的安全防护,以及在传统客户端-服务器应用程序中至关重要的任何其他后端安全性问题所需的工作。

结论

虽然许多应用程序由于特定的需求或者某些其他原因而无法在无服务器环境中运行,但与其传统的客户端/服务器应用相比,支持无服务器架构的应用程序具有许多优势。通过使用无服务器的提供程序,您可以减少所需的代码量,让第三方基于您的数据源构建API。

您还可以通过允许您的代码以更间歇的方式运行,仅在需要时才启动(和终止)实例,从而降低运营成本。

基于这两个好处,以及其他尚未被发掘的优势,您可以看到产品上市时间缩短,因为您可以专注于外观、感觉、以及您的应用程序基本的交互行为。虽然无服务器架构可能不适合您,但对于越来越多的公司来说,这是一个可行且明智的选择。

原文链接:Why Go Serverless? (翻译:付辉)

原文发布时间为:2017-07-10

本文作者:付辉

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

原文标题:为什么我们要使用无服务器架构

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
2月前
|
Kubernetes Cloud Native Go
如何从主机环境演变到云原生开发模式?
如何从主机环境演变到云原生开发模式?
|
8月前
|
存储 弹性计算 监控
无服务器架构的优势与挑战:解析FaaS和BaaS
随着云计算和微服务架构的发展,无服务器架构(Serverless Architecture)已经成为当今软件开发领域的热门话题。无服务器架构通过将服务器管理的责任交给云服务提供商,使开发人员能够专注于业务逻辑的编写,而无需关注基础设施的细节。本文将深入探讨无服务器架构的优势与挑战,并重点解析函数即服务(Function as a Service,FaaS)和后端即服务(Backend as a Service,BaaS)这两种常见的无服务器实现方式。
154 0
|
9月前
|
存储 安全 架构师
「无服务器架构」无服务器架构是应用程序的正确选择?需要考虑利弊。
「无服务器架构」无服务器架构是应用程序的正确选择?需要考虑利弊。
|
9月前
|
存储 安全 架构师
「无服务器架构」无服务器架构是应用程序的正确选择?考虑利弊
「无服务器架构」无服务器架构是应用程序的正确选择?考虑利弊
|
算法 Serverless API
无服务器架构ServerlessServerless 的特点:
无服务器架构ServerlessServerless 的特点:
116 0
|
算法 Serverless API
无服务器架构ServerlessServerless 的特点
无服务器架构ServerlessServerless 的特点
83 0
|
消息中间件 SQL 缓存
互联网后端基础设施架构应该是怎样的呢?
互联网后端基础设施架构应该是怎样的呢?
245 0
互联网后端基础设施架构应该是怎样的呢?
|
SQL XML 架构师
在服务器应用虚拟化中发现价值
在服务器应用虚拟化中发现价值
106 0
在服务器应用虚拟化中发现价值
一键生成 FISCO-BCOS 企业级架构部署
本项目为区块链开源项目 FISCO-BCOS 提供了自动化生成企业级配置文件的 ansible-playbook。2 群组 3 机构 6 节点的环境,可以在 30 秒内(除下载时间)生成配置,极大简化了部署难度,避免了手工配置容易发生的错误。
544 0
|
弹性计算 运维 负载均衡
服务器的“服务器”,enginx之于分布式部署的创新意义:使任何服务器程序秒变集群
本文关键字:nginx,元服务器,单机集群,分布式集群,集群引擎
467 0
服务器的“服务器”,enginx之于分布式部署的创新意义:使任何服务器程序秒变集群