1.遇到的问题
你可能遇到过这种情况:公司内有多个系统,有某些业务需要必须开发一个新的系统,按照过去的方式,增加一台服务器,增加一个系统的开发成本。
看到供应商的报价后,总感觉有些不舒服。“发邮件”的功能,明明其他系统已经具备了,新系统却要重新再做一次,类似的重复开发还有:获取其他系统中特定的基础数据(比如天气,时间等),这些功能可以砍掉吗?这个钱怎么省?
2.解决方案
云服务,当下很多需求使用云服务已经是标准且首选的方案。供应商报价中的“发邮件”功能可以这样砍 ---- Serverless
阿里云:
函数计算(Function Compute)是一个事件驱动的全托管 Serverless 计算服务。您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,并以弹性、可靠的方式运行您的代码。
调用次数:每月前 100 万次函数调用免费。
执行时间:每月前 400000(CU-秒)费用免费。
AWS Lambda:
通过 AWS Lambda,无需预置或管理服务器即可运行代码。您只需按使用的计算时间付费。
借助 Lambda,您几乎可以为任何类型的应用程序或后端服务运行代码,而且完全无需管理。只需上传您的代码,Lambda 会处理运行和扩展高可用性代码所需的一切工作。您可以将您的代码设置为自动从其他 AWS 产品触发,或者直接从任何 Web 或移动应用程序调用。
AWS Lambda 免费使用套餐包含每月 1M 次免费请求以及每月 400000GB-秒的计算时间。
115 科技
115 科技使用函数计算进行海量日志处理,按照业务规则对日志进行压缩、转换并将处理结果存放到数据库或者对象存储中。函数计算助力 115 科技搭建弹性可靠的日志处理系统,轻松应对负载的变化。(https://resources.functioncompute.com/115-tech.html)
3.实施方案
为Severless 定义API、接口文档、接口版本,任何系统只需参照接口文档调用这个API就可以发送邮件。将现有“任意”系统中发邮件代码复制到Serverless中再做简单调整,所有系统需要发邮件时只需要调用API把相关信息传入即可。
4.效果
通过逐渐丰富Serverless功能库,新系统开发只需要关注业务,一劳永逸节省成本和上线周期。
参考:
AWS Lambda
Aliyun Function Compute
无服务器计算常见使用场景及riff和Kubernetes快速教程