课程2:从一个博客说起 | 学习笔记

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 快速学习课程2:从一个博客说起

开发者学堂课程【深入浅出白话 Serverless-1024 程序员节创造营公益课:课程2:从一个博客说起】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/890/detail/14263


课程2:从一个博客说起

目录

一、实现 Hello World

二、一个 Wed 服务版的 Hello World
三、查询 IP 地址的服务
四、一个传统博客部署到 Serverless 架构
五、Serverless 架构的开发流程

 

一、实现 Hello World

打开阿里云首页

登陆注册

选择 Serverless 下面的函数计算控制台

进入之后开始创建服务 输入服务的名称

点击确定

完成创建之后进一步创建函数

输入函数名称

选择事件函数

点击确定

创建完成之后编辑代码

编辑完成之后保存代码(部署)

执行代码

完成之后点击目标输出结果

 

二、一个 Wed 服务版的 Hello World

阿里云创建函数

httpworld

进行简单的代码修改

部署

然后控制台测试

选择地址,复制

通过 post  man 进行测试

测试完成之后再进一步修改代码

进行部署

部署完成之后

在 post man 进行测试

出现了新的结果

 

三、查询 IP 地址的服务

打印参数 environ

部署

然后执行

第一个参数包含了路径、http 参数信息等一系列的内容

对代码进行升级或完善

返回

取得刚刚所圈的 IP 地址

保存

通过控制台测试

/post nan 测试/网页查找

 

四、一个传统博客部署到 Serverless 架构

首先在本地进行 local 博客的开发,开发完成之后,同步数据库

同步完成数据库之后,进行一些静态文件的处理

创建一个管理员的账号

创建完成之后输入账号邮箱以及其他信息

完成之后本地启动服务

发现这个基于 Python 专攻框架的博客已经正式运行了

此时可以尝试登录到后台进行一些文章的发布,进一步看看整体的效果

登录账号之后,选择新建一些内容(新建一些分类或者是新建一些标签)

完成之后创建第1个博客

输入测试内容

完成之后返回主站观察是否是否正常

接下来将项目部署到函数计算上

首先,由于函数计算它是让事件触发的,所以在 wsga 这里做一些小小的文章,要找到对应的 IP ,来创建一个文件,也就是引带字的文件,然后 APP 放到这里

打开阿里云的控制台,找到函数计算这个服务

进行服务的创建以及函数的创建

创建完成之后,进行简单的测试运行一下是否正常

为 HTTP 函数绑定一个自定义域名,以便之后测试使用

绑定的时候,选择与服务名称、函数名称、对应的版本,点击确定

此时可以在浏览器测试域名,可以看到已经正常输出了预期结果

完成之后还需要将刚刚的业务代码包进行上传

同步代码,完成之后需要进行一个依赖的安装

在整个左侧的文件数,已经逐渐看到安装后的内容

安装完成之后,保存代码
保存成功之后,注意函数的详情,在函数详情里面修改一下函数的入口,而后面的入口方法 -application ,此时保存一下,保存完之后打开刚刚绑定的域名,会发现整个网站已经可以正常使用了
到后台来发布一些文章,看看它是否流畅
填写文章的测试名称
再写一下简单的内容

可以选择一下分类与标签,然后确定保存,此时再回到主站,会发现整个文章已经被创建好了


五、Serverless 架构的开发流程

image.png

伯克利认为,select 架构的出现,类似于40多年前从汇编语言转向高级语言的过程,在未来,SOS 架构的使用会进一步的飙升,或许服务器是个云计算不会消失,但是服务器式的云计算将是为了促进 bus 以为更好的为 SOS 架构提供支持。

是在逐渐取代 soho 计算的过程中,流程在逐渐的清晰基于 select 架构进行应用,开发将会形成一套新的应用开发流程,这种应用开发流程,将会比传统架构更为简单,由于 sos 架构传递的是 Serverless 的新制即并不需要开发者付出更多的精力关心服务器等顶层资源。

所以在一定程度上,sos 架构下的应用开发流程相对于来说会更简洁,在 servlet 架构下进行应用开发,通常用户只需要按照规范编写代码构建产物,然后部署到线上即可 ccf ,认为函数的生命周期从编写代码并且提供规范源数据开始,一个 build 的实体将获取代码和规范,然后编译并将其转换为工件,接下来将工件部署在具有控制器实体的集群上,该控制器实体负责机构。

image.png

在路上扩展函数实例的数量由于 sos 的架构传递的是 note4o 的性质,函数创建和更新的完整流程基本上是如这张图所示在创建函数时提供起源数据作为函数创建的一部分,将对其进行编译,使其具有可发布的特性,接下来可以启动禁用函数,用户可以发布一个函数,这叫创建一个新的版本,最新的版本的副本发布的版本,可能会被标记或用别名,用户可能希望直接执行或者是调用函数以进行调试和开发的过程,用户可以指定调用参数,比如说所需的版本同步或者是异步操作详细的日志级别的用户,也可能想要获得用户的统计信息,比如说调用次数,平均的运行时间,平均的延时失败重试的用户,可能还想要检索日志数。通过严重性级别可以通过严重性级别时间范围内容来进行过滤,落个数据是每个函数级别的,它包括了诸如函数的创建和删除警告,或者是调试消息之类的事件。

结论:在一定程度上,Serverless 架构下的应用开发流程相对于来说更简洁。通常情况下,一些 web 应用开发都是传统的三层 CS 架构,例如说一个常见的电子商务应用假设,它的服务端用了 Java 客户端,使用 htmlJavaScript ,在这个架构下,服务端仅为云服务器,其承载了大量的业务功能和业务逻辑,比如说我们常见的大部分逻辑,就包括身份验证,页面导航搜索交易,都是在服务端来完成的。

实际上已经逐渐的演变成为了一个单页,还有一些任务,需要保留在服务器上,比如繁重的计算任务,或者需要访问大量数据的操作,这里以搜索为例,搜索功能,可以从持续运行的服务器中拆解出来以 fast 的方式进行实现,从 API 网关接收到请求,然后做出一个响应,这个服务端函数,可以和客户端一样,从同一个客户端。图中的读取产品数据,原先的搜索代码越作修改就可以实现这个搜索函数,也就是部周四这一部分还可以把购买的功能改写成一个函数,出于安全考虑呢,他需要放在服务器端,而非客户端实现它,同样经由 APP 在传统到原主中间。

image.png

在传统的云主机架构下呢进行应用的开发和上线,可以认为是如上面这张图所示,当开发者开发完成代码之后呢,需要进行上线前的准备,包括不限于资源的评估,服务器的购买,操作系统的安装,服务器软件的安装等等完成之后呢要进行代码的部署。

处操作部署完成之后呢,还要有专业的人或者团队对服务器等资源进行持续性的监控和运维等,例如流量突然提升,需要进行服务器的平滑扩容,流量突然走低,需要对服务器进行平滑的缩容等。

架构开发者实际上关心的也就是函数中的业务逻辑,至于身份认证的逻辑呀,至于 API 网关的逻辑以及数据库的一些产品或者是服务全都交给云厂商来提供,在整个项目过程中呢,上线以及维护的过程中呢,用户并不需要关注服务器层面的维护,也无需为流量的波峰与波谷进行运维资源的投入,这一切的安全性弹性能力以及运维工作都可以交给云厂商来进行统一的处理和调度用户所需要关注的就是自己的业务代码是否符合自己的业务需求,同时呢,Serverless 架构下用户也无需为资源闲置进行额外的支出,Serverless 架构呢提供到按量付费的模型以及弹性伸缩的能力,服务端低运维和免运维等等,可以让 Serverless 的用户呢资源成本更低,人力成本更低,整体的研发效能得到进一步的提升,让项目的整体性能的安全。

image.png

研发项目得到进一步的提升,让项目的整体性能,安全性,稳定性都有一个极大的保障,综上所述,与传统架构或者传统应用开发流程的区别,有明显不同的是,Serverless 架构所主张的是,让开发者将更多的精力关注到自身的业务逻辑之上,并强调 Serverless 的性质可以在一定程度上让应用的开发部署流程,进一步的缩短,将更专业的事情交给更专业的人去做有助于业务的创新效率提升,降低业务的上线迭代周期等。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
6月前
|
Java 索引
杨老师课堂_Java教程第四篇之数组运用
杨老师课堂_Java教程第四篇之数组运用
45 0
|
6月前
|
Android开发
杨老师课堂_安卓教程第一篇之入门
杨老师课堂_安卓教程第一篇之入门
38 0
|
6月前
|
Java API 数据安全/隐私保护
杨校老师课堂之Java面向对象知识点整理集锦2
杨校老师课堂之Java面向对象知识点整理集锦
44 0
|
6月前
|
机器学习/深度学习 Java API
杨校老师课堂之Java面向对象知识点整理集锦3
杨校老师课堂之Java面向对象知识点整理集锦
23 0
|
6月前
|
Java 编译器 开发工具
杨校老师课堂之Java面向对象知识点整理集锦1
杨校老师课堂之Java面向对象知识点整理集锦
24 0
|
7月前
|
运维 监控 安全
网络安全预习课程笔记(四到八节)
网络安全领域的岗位多样化,包括应急响应、代码审计、安全研究、工具编写、报告撰写、渗透测试和驻场服务等。其中,应急响应处理系统故障和安全事件,代码审计涉及源码漏洞查找,安全研究侧重漏洞挖掘,工具编写则要开发自动化工具,报告撰写需要良好的写作能力。渗透测试涵盖Web漏洞和内网渗透。岗位选择受公司、部门和领导的影响。此外,还可以参与CTF比赛或兼职安全事件挖掘。了解不同岗位职责和技能需求,如安全运维工程师需要熟悉Web安全技术、系统加固、安全产品和日志分析等。同时,渗透测试包括信息收集、威胁建模、漏洞分析、攻击实施和报告撰写等步骤。学习网络安全相关术语,如漏洞、木马、后门等,有助于深入理解和学习。
|
7月前
|
运维 安全
|
前端开发
前端学习笔记202303学习笔记第五天-v-else和v-else-if
前端学习笔记202303学习笔记第五天-v-else和v-else-if
84 0
|
前端开发
前端学习笔记202304学习笔记第九天-收获
前端学习笔记202304学习笔记第九天-收获
67 0
|
JSON 开发工具 git
第一节课堂笔记|青训营笔记(二)
第一节课堂笔记|青训营笔记
第一节课堂笔记|青训营笔记(二)