开发者学堂课程【Serverless 架构在软件研发工程实践方面的价值:Serverless 架构在软件研发工程实践方面的价值】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/849/detail/14024
Serverless 架构在软件研发工程实践方面的价值
内容简介:
一、现代化 web 站点构建方式 JAMStack 介绍
二、阿里云 JAMStack 解决方案
三、JAMStack 服务化实现介绍
四、部署工具介绍
一、现代化 web 站点构建方式 JAMStack 介绍
1、JAMStack 是什么
JAMStack 号当下前端推崇的一种新的站点开发理念,将预渲染静态内容交给 CDN 以及通过 API 实现动态化,最终可以极大改进站点用户体验
(1)Javascript
·Web 开发的主流语言
·增强站点动态交互能力
(2)Api
·提供站点动态数据能力
·本身可以由传统 Server 得供,也可以使用 Serverless 提供 Api 能力,实现降本和应对大规模流量以及容灭的诉求
(3)MarkUp
·标记类型语言,静态化的基础
·HTML,Markdown 这类是 Jamstack 静态化预渲染的基础
2、JAMStack 有哪些优势
①更好的性能:
将预渲染的静态内容交给 CDN,极大的提升用户访问你的站点的效率
②更安全性:
静态化可以减少攻击面,动态 API 本身在 Serverless 服务运行也有安全保障
③更便宜:
静态资源本身的托管费用比较低基于 Serverless 的 Api 服务弹性调用花费也比较低
④更容易扩展:
动态 API 部分跟静态资源解耦动态 API 扩展起来更加便捷
⑤更好的开发体验:
松散的耦合开发者可以专注某个部分比如前端页面或者后端接口,基于 Git 的工作流也能够大幅减少集成部署时间
3、JAMStack 基本实现原理
JAMStack 减少动态访问的路径,提升站点的访问性能以及更安全的保障
二、阿里云 JAMStack 解决方案
1、阿里云 JAMStack 架构
三、JAMStack 服务化实现介绍
1、Jamstack 服务包含能力
(1)域名托管+自定义域名
提供 resume.net.cn一级域名,用户根据自己需求填写二级域名比如Zhangsan.resume.net.cn 即可使用另外也支持自定义域名
(2)重定向处理
解决静态化之后文件重定向的问题
(3)KvStore
通过存储静态资源,并且将资源更新跟站点部署解耦,实现动态化能力
(4)动静态分流
通过自定义网关实现静态资源和动态请求分流
(5)多站点管理
最多允许单用户创建 32 个站点
2、Jamstack 服务整体架构图
(1)Jamstack 项目部署流程
(2)Jamstack 项目用户访问流程
四、部署工具介绍
1、部署工具 Serverless Devs
2、通过组件自定义扩展可以支持任意云商的任意云服务
3、丰富的应用模板
4、工具的接口
5、Serverless Devs 官网
6、如何获取桌面工具、命令行工具
登陆官网通过下载链接获取桌面工具,登陆 GitHub 网站搜索“Serverless Devs”获取命令行工具