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

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

【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。

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

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
3天前
|
负载均衡 应用服务中间件 持续交付
微服务架构下的Web服务器部署
【8月更文第28天】随着互联网应用的不断发展,传统的单体应用架构逐渐显露出其局限性,特别是在可扩展性和维护性方面。为了解决这些问题,微服务架构应运而生。微服务架构通过将应用程序分解成一系列小型、独立的服务来提高系统的灵活性和可维护性。本文将探讨如何在微服务架构中有效部署和管理Web服务器实例,并提供一些实际的代码示例。
21 0
|
5天前
|
消息中间件 SQL 监控
Serverless 应用的监控与调试问题之BMQ的架构是怎么支持流批一体的
Serverless 应用的监控与调试问题之BMQ的架构是怎么支持流批一体的
|
8天前
|
负载均衡 网络协议 Linux
在Linux中,常用WEB服务器负载架构有哪些?
在Linux中,常用WEB服务器负载架构有哪些?
|
9天前
|
人工智能 Serverless API
Serverless 架构实现弹幕场景问题之用SAT进行双主键的插入操作如何解决
Serverless 架构实现弹幕场景问题之用SAT进行双主键的插入操作如何解决
20 0
|
9天前
|
数据可视化 NoSQL Serverless
现代化 Web 应用构建问题之Serverless架构的Web站点费用计算如何解决
现代化 Web 应用构建问题之Serverless架构的Web站点费用计算如何解决
23 1
|
4天前
|
弹性计算 运维 Serverless
揭秘ADB Serverless架构:如何实现无服务器计算的神奇魔法?
【8月更文挑战第27天】随着云计算的演进,Serverless架构作为一种新兴计算模式崭露头角。阿里云函数计算(简称ADB)提供了一种无需管理服务器即可运行代码的服务。本文通过案例探讨ADB Serverless模式的实现方式。首先介绍Serverless架构的基础概念,即事件驱动模型,使开发者仅需关注业务逻辑,减轻了基础设施构建与维护的负担。ADB采用分布式、无状态的设计,确保高可用性和弹性伸缩能力。以一个简单的Web应用为例,展示了如何利用ADB快速实现根据用户输入返回问候语的功能,突显出其简化开发流程、提高性能与可扩展性的优势。
14 0
|
5天前
|
存储 监控 Cloud Native
Serverless 应用的监控与调试问题之Flink流批一体在架构层面有什么演进
Serverless 应用的监控与调试问题之Flink流批一体在架构层面有什么演进
|
8天前
|
存储 边缘计算 监控
探索云计算的未来:无服务器架构的兴起与挑战
【8月更文挑战第23天】在这篇文章中,我们将深入探讨无服务器架构——一种现代的云计算执行模型,它允许开发者构建和运行应用程序和服务而无需管理服务器。我们将从基本概念出发,逐步揭示无服务器计算的核心优势、面临的挑战以及未来可能的发展方向。文章旨在为读者提供对无服务器技术全面而深刻的理解,同时激发对云原生技术未来可能性的思考。
|
9天前
|
NoSQL Serverless 数据库连接
Serverless 架构实现弹幕场景问题之initializer方法在执行过程中遇到错误如何解决
Serverless 架构实现弹幕场景问题之initializer方法在执行过程中遇到错误如何解决
21 0
|
9天前
|
存储 Serverless API
Serverless 架构实现弹幕场景问题之在initializer方法中初始化数据库实例如何解决
Serverless 架构实现弹幕场景问题之在initializer方法中初始化数据库实例如何解决
10 0

热门文章

最新文章

下一篇
云函数