本篇文章给大家分享的是有关serverless与云开发实例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
2020 年初的一场疫情让我们有了更多宅在家里学习的时间了。前不久我也受邀担任了腾讯主办的「协力抗疫,码力全开」线上公益黑客马拉松的嘉宾评委。这次黑马大赛和以往不同之处在于全程都是线上,自由组队,通过 2 天时间开发一款和抗击疫情相关的微信小程序。2 天时间有近 200 人提交了 80 多个参赛作品。
这次大赛还有一个技术上的两点就是“云开发”。
提到云开发,我们自然会想到另一个概念,那就是 Serverless。毫无疑问 2019 年是 Serverless 大规模推广的一年,无论是 Serverless 相关书籍和文章,还是各种大会上关于 Serverless 相关的主题,都是非常热门的。甚至有很多文章称 Serverless 为前端 3.0。
以 ajax 为代表的前端 1.0
以 Node.js 为代表的前端 2.0
以 Serverless 为代表的前端 3.0
Node.js 更是把前端 JavaScript 的能力带到了服务器端,使得前端开发者可以方便的搞 Full Stack 或者 (BFF)Backends for Frontend。很多前端开发者也把自己的职业目标定义为了全栈工程师。显然这与主流软件开发的理念是违背的:让专业的人做专业的事。很多开发者也慢慢从“全栈工程师”变成了“全干工程师”——什么都会干,却什么都干不好。
你作为前端开发者,还懂如何配置 nginx。但是你配的 nginx 真的是最优的吗?为什么不交给专业的人去做呢?
你作为前端开发者,还懂如何配置 mysql。但是你配的 mysql 真的是最优的吗?为什么不交给专业的人去做呢?
你作为前端开发者,真的懂并发、网络、扩容、容灾、监控、日志吗?为什么不交给专业的人去做呢?
通过本次黑马大赛期间我和几名开发者聊天,大概了解到了云开发的概念。基本上可以认为是一套构建于 Serverless 的最佳实践和解决方案,涵盖了 FaaS(Function as a service,函数即服务)和 BaaS(Backend as a service,后端及服务)的综合体。
具体实现为下图所示的模型:
以云开发体系提供的功能和服务为基础支撑,前端开发者的关注点除了 UI 和交互逻辑以外,能够以很小的成本接入以云函数为承载的业务逻辑层和以云数据库、云存储为支撑的数据存储层。简而言之,前端的关注点为:交互逻辑 + 业务逻辑(云函数)+ 数据(云数据库/云存储)。
很多将 Serverless 的文章都会提到 CDN(Content Delivery Network,内容分发网络),这也是大多数前端开发者接触到的第一个 Serverless 服务,即使在 Serverless 这个名词诞生之前我们就已经使用了很久了。使用 CDN 开发者不需要关心文件的私密性、安全性、鉴权机制,不需要了解 CDN 服务器的状态、文件存储的具体位置,只需要部署文件即可,CDN 对于前端开发者来说就是 Serverless 的。
在本次黑马大赛中 80% 多的开发者使用了云开发,而其中使用最多的功能则是云函数。云函数类似 AWS Lambda,开发者只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。
云函数带来的最明显的优势就是用户只需编写最重要的“核心代码”,不再需要关心周边组件,极大地降低了服务架构搭建的复杂性。无需任何手动配置,云函数即可根据请求量自动横向扩缩。不管您的应用每天的请求数处于波峰还是波谷,SCF 均可自动安排合理的计算资源满足业务需求。
本次黑马大赛采用云开发还有一个最大的优势就是“零部署,零维护”,因此参赛者都是开发者,没有专业的运维工程师。而任何一个小程序的上线,除了大家看到的小程序,背后还有网关、计算服务、基础设施管理、数据库、文件服务、缓存服务等等。云开发提供了较完整的服务器架构,并且能够保证服务的稳定性。
以上就是serverless与云开发实例分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。