8个无服务器计算平台来运行您的应用程序代码 Serverless计算平台可以帮助开发人员在云中运行应用程序代码而无需管理底层服务器基础架构。这些平台提供了一种简化的方法来部署和扩展应用程序,使开发人员能够更专注于编写代码而不是处理服务器设置。以下是8个值得考虑的无服务器计算平台:
无服务器计算并不意味着您不需要服务器,只是您需要管理的服务器更少。让我们来看一下一些最佳的运行时平台,来托管您的无服务器应用程序。
在传统的应用程序中,您需要在虚拟机、物理机或云服务器上管理整个应用程序逻辑执行。然而,这个趋势正在改变。
通过转向 serverless architecture,您可以将应用程序代码执行任务卸载到无服务器计算平台上。这有很多好处。
- 您不需要担心托管运行时(Node.js、Python、Go等)
- 按您的应用程序消耗付费(具有成本效益)
- 不用担心应用程序增长的需求(具有可伸缩性)
- 让提供商管理安全性和软件更新
- 与提供商提供的其他服务轻松集成
- 快速部署应用程序和更改
这对开发人员和企业主来说是一笔交易,您可以专注于自己的代码,由专家处理执行。如果您对无服务器不熟悉,可以参考这个 introductory course。
让我们来探索以下 FaaS(函数即服务) 平台。
AWS Lambda
AWS Lambda 是最早提供一个平台,您可以在其中运行自己的代码,AWS 负责管理(在幕后)的平台之一。
最初,它只支持 Node.js,但今天,您可以运行 Python、Go、Java、C#。
正如您在插图中所见,您需要上传应用程序代码,Lambda 将处理执行。您可以手动执行,也可以通过 AWS 服务或 Web 应用程序触发进行自动化。
AWS Lambda 在许多实时场景中非常有帮助,如文件处理、流处理、数据验证、数据转换、处理 API 请求等。
一些功能包括:
- 与其他 AWS 产品无缝集成
- 无状态的 Lambda 函数
- 高可用和容错的基础设施
- 详细的日志记录和监控
- 自动扩展
- 以及许多其他功能
如果您想尝试一下,好消息是 AWS 提供100万个请求和40万个GB秒的计算时间,在免费套餐下无需费用。
免费套餐对于业余爱好或小型项目来说已经足够。如果您有兴趣学习,可以查看这个 hands-on online course by Stephane Maarek。
如果您担心合规性问题,AWS Lambda 符合 HIPPA、PCI、ISO 和 SOC 标准。
Cloudflare Workers
没错,您没听错。
Cloudflare 不仅仅是一个 CDN 和安全性公司,他们提供的远不止于此。
最近,他们推出了 Cloudflare workers,允许您在他们遍布全球的150多个数据中心中运行 JavaScript。
Cloudflare 使用 V8 JS 引擎,所以如果您需要以更快的速度执行 JavaScript,可以试一试。
您可以将 workers 与 Serverless framework 集成,以实现更快的部署。您可以从每月低至5美元起步。
他们为您提供了一些 scripts(示例),供您查看和玩弄以熟悉。
AWS Fargate
AWS Fargate 是亚马逊提供的无服务器计算解决方案,用于运行容器。它提供了一种按需付费的解决方案,让您构建无服务器应用程序。Fargate 为您减少了管理基础设施的负担,并负责扩展、打补丁和保护服务器。
AWS Fargate 兼容 Amazon ECS(弹性容器服务)和 Amazon EKS(弹性 Kubernetes 容器服务)。
AWS Fargate 提供的优势包括:
- 专注于运行容器的解决方案
- 基于CPU资源、内存和存储的付费
- 支持AI和ML开发环境
- 为ECS和EKS任务提供专用的运行环境,提高安全性
- 与Amazon CloudWatch容器洞察集成,让您轻松监视应用程序
Azure Functions
事件驱动计算支持多种编程语言。
- JavaScript
- C#
- F#
- Java
- Python
- PHP
- TypeScript
- Bash
- PowerShell
Azure Functions可以根据应用程序的基础设施需求进行扩展或收缩,无需担心容量规划。
您可以从Web应用程序、移动应用程序的HTTP API、Blob存储、流式传输、Webhooks等触发函数。
定价基于运行代码所需的总时间。没有预付费用,并且Azure每个月提供100万次免费执行。
利用Azure Functions来构建无服务器应用程序,适用于SaaS产品、API等。
Google Cloud
Google Cloud提供一系列的serverless computing solutions。
App Engine是一个完全托管的用于Web和移动应用程序的平台。您可以部署使用PHP、Python、C#、Node.js、Ruby、Go等构建的应用程序,按照应用程序消耗的资源付费,并根据需求进行扩展。
Cloud Functions是一个用于在云中运行Node.js和Python应用程序的事件驱动平台。您可以使用函数构建IoT后端、API处理、chatbots、情感分析、流式处理等功能。
还有更多功能-Storage、Firestore、BigQuery、Dataflow、Pub/Sub、ML引擎。可能,这是构建企业级无服务器应用程序架构所需的一切。
IBM Cloud Functions
IBM Cloud Functions基于Apache OpenWhisk开发应用程序操作,可以快速响应事件触发。
有一些很好的教程,讲解如何构建无服务器应用程序、API、移动后端、可搜索视频等,以帮助您了解其工作原理。
阿里云函数计算
这是中国和国际市场的一个很好选择。最近,阿里巴巴宣布推出了一个无服务器计算服务,可以让您上传和运行代码,无需管理服务器和核心基础设施。
实时物联网消息处理无服务器流程的示例。
阿里巴巴每个月提供100万个免费请求。适合试用。
无服务器概念不仅仅是FaaS(函数即服务),还有更多。我希望上述平台能帮助您构建一个强大的应用程序,无需担心服务器管理和维护,并且成本更低。
StackPath
Serverless Scripting通过StackPath在靠近用户位置的边缘运行代码。
有很多用例:
- API网关
- 负载均衡
- 防火墙
- 优化图像
- 个性化用户体验
- 用户身份验证
StackPath由Chrome V8 JavaScript引擎驱动。EdgeEngine的延迟低至50ms。
您可以在他们的IDE中开发应用程序,也可以直接上传代码。
结论
采用无服务器架构是节省托管和基础设施管理成本的好方法。移植传统应用程序可能具有挑战性;我理解这一点。但是,如果您正在构建现代化的新应用程序,应该考虑在体系结构中采用无服务器。以下是一些有价值的学习无服务器的资源。
- AWS Fundamentals: Building Serverless Applications
- AWS Lambda and Serverless Framework
- Learn to build apps with Serverless
祝好运!