Serverless 技术选型|学习笔记

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 快速学习 Serverless 技术选型

开发者学堂课程【建立 Serverless 思维Serverless 技术选型】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/644/detail/10718


Serverless技术选型

内容介绍

一.Severless 产品类型

二.函数计算

三.Severless 应用引擎

四.Severless Kubernetes

一.Severless产品类型

1.Landscape

image.png

如图,随着技术引进,Severless 已经不仅面对函数形态,更包括函数计算,面向应用的产品,应用引擎,以及面向容器的产品——Severless Kubernetes。它会帮助用户将自己不同类型的业务,或面向不同企业使用习惯提供服务,帮助用户实现价值。


二.函数计算

1.介绍

函数计算对于开发者来讲,只需编写代码,并把代码上传到函数计算中,且不会产生经费。真正产生经费的项目是需要触发的,而触发的方式是多种的。

一是通过函数计算的 API 或 SDK ,二是通过一系列的事件源,如阿里云的 OSS 产品和日志产品。

触发发生后会根据调用频率弹性应对客户诉求,最后按照弹性执行的实际情况付费,以上是最常见的付费模式。开发者可以使用非常丰富的编程语言,nodejs,python,java,php,C#等。

同时函数计算还提供了自定义的运行环境,在这种环境下,用户可以使用任何他想使用的语言将函数上传到函数计算中使用。在上述情况下,开发者只需关注自己的代码,后续的网络配置管理,基础资源管理等都不需要开发者关心。在极致情况下,整个团队都不需要业务人员,只需由开发人员完成整个代码开发及上线的过程。

2.典型场景

各种编程语言的 Web APP 或者 Web API 相关开发群体

Nodejs: Express, Koa ...

Java: Spring Boot

PHP: WordPress, larval....

Python: Django, Flask...

C#: ASP.Net Core WebApp and WebApi

Custom: Go, C/C++, Ruby, Lua...

第一类典型场景是通过各种语言编写外部应用程序。它既可以是传统应用迁移到函数计算运行环境中,也可以是新开发的小程序后端,或是云上 API 后端。

第二类典型场景是对计算力有很大弹性诉求的场景。如 AI 推理,音视频等多媒体处理,文档转换、多媒体截图等处理。这类场景的特点是有异步且有事件触发的。

比如将文件上传到阿里云 OSS 文件存储中,并对其进行类似格式转化、解压等处理时,可以将这种情况视为典型场景。

当文件上传到 OSS 时,会自动触发代码执行,执行完后,资源得到释放。这种方法不需要事先规划或去购买许多资源,对用户来说也是最经济的方式。

第三类典型场景是事件驱动模型。这种事件可能是定时任务,可能是 webhook 回调,也可能是阿里云其他的云产品,包括  OSS 、日志服务、云监控等,这些都可以作为事件源去出发用户想定义的后续动作。

3.核心优势

一是帮助用户只需专注业务代码编写,无需关心任何底层基础设施及软件网络配置,借助函数版本别名功能实现灰度发布或 AB 测试。

二是从安全性方面来讲,提高了 VM 级别的租户隔离,可以很好地做到租户之间和应用程序之间的隔离性,保证访问控制,处理运输的安全。

三是在成本方面提供了非常灵活的积累模型,包括按量付费和预付费两种模型。

按量付费特别适合突发型的,或者是事件驱动型的场景。只需要在代码运行时付费,如果没有这种请求时,是不需要付费的。预付费可以优化较为平稳的业务成本。

有时我们可能还是希望函数计算会有一些负债是长期存在的,预付费模式会让经济成本更低。

四在弹性方面能够做到自动的弹性伸缩,在短时间内,如果需要大量的数据文件,或是新业务,在它的峰值高且陡峭时,也能很好应对。


三.Severless应用引擎

image.png

Severless 应用引擎是首款面向应用的 Severless PaaS 平台,它和函数计算的差异主要是它的所有设计都是面向应用的,它适合把后端业务,微服务业务,强业务,无缝迁到阿里云上,并且享受其带来的红利。

从用户角度看,它其实只是把一个应用托管给 SAE ,平台托管后,SAE 将围绕这个应用提供一系列应用管理相关的能力,包括应用的生命周期发布,策略性伸缩,监控日志等,为应用在云上运行考虑得十分周全。同时 SAE 对微服的应用进行了特殊的支持,内置了一些简单的微服的管理能力,包括服务注册发现、配置、管理等,使入门级的微服用户,可以进一步降低门槛,无需构建或理解微服相关的知识即可快速使用。

这种方法对用户非常灵活,用户既可以不了解镜像构建,利用传统方式部署,也可以利用镜像方式部署。

SAE典型场景

(1)各种语言的应用快速上云/搬站

Java : webapp ,微服务应用容器基础快速上云

PHP. Nodejs. Python. Go. C+ + 等单体应用上云➢期望本地一 健部署到云端

物联网、 传统行业等客户上云/搬站时,对交付效率有极致需求。期望得到一站式开箱即用的 PaaS 体验。

(2)灵活&弹性使用计算资源

电商大促应对峰值流量

智慧安防行业火警监控、 烟感报警等,要求极致弹性效率

在线教育、 医疗政府、证券等行业固定潮汐使用计算资源

大中型企业多套开发测试环境 ,固定时段使用计算资源,希望能节省成本

(3)低门槛微服务架构转型

中小企业快速构建云 上微服务

开源自建 Spring Cloud/Dubbo 应用为了稳定性兜底,计划迁云➢单体应用微服务改造

(4)集成方

云市场、云开放平台、小程序云魔笔等期望集成应用 PaaS 底座能力

外部垂直行业 ISV 集成 ,打造某垂直领域的 Serverless 方案.

从以上场景看,来自于最典型的场景是 Java 或微服应用的快速上云场景,在这个场景里,用户无需学习容器的知识,也无需对自己的应用进行容器化,就能把自己的Java 应用在容器的环境里,达到容器的隔离性,以及快速申诉的效果同时在 PHP 等单体应用上,对于这种物联网,或者传统行业的客户来讲效率很高。

因为他不需要对应用做任何改动,包括部署模式及构建模式。通常 SAE 是不具有行业属性的,任何行业都可以使用它,但是当对于流量或是弹性有特别高诉求的行业时,它的作用会更加明显。

比如在线电商,它会有大促的场景,或是在线教育,医疗政府、证券等行业,他们是有这种固定潮汐的,都是非常适合使用 SAE 的,因为它可以非常灵活地进行计算资源的弹性,并且能在弹性试测过程中,把用户的应用也实时地启停。

SAE 也可以被集成方用作云市场、云开放平台、小程序、云魔笔等,期望集成应用底座能力。

产品核心优势:

(1)零代码改造,即享免运维体验

基于 Serverless 架构,屏蔽底层 aaS 运维和 K8s 细节。用户零代码改造平滑迁移企业在线应用。

(2)精益成本,不为闲置浪费

按需使用.按分钟计费.无需长期保有固定 laaS 资源。

(3)自动弹性

支持定时弹性和监控弹性,应对应用突发场景下秒级弹性伸缩,保障业务 SLA.

(4)零基础,开箱即用微服务和 K8s 能力

完美支持各种主流微服务框架、支持镜像 warjar 三种部署方式

(5)高安全

底层基于安全容器运行应用,网络通过 VPC 隔离,双重保障应用运行时安全。

(6)服务集成,一站式体验

自动集成阿里云上的基础设施类产品:SLB. SLS. NAS 等和微服务生态周边产品:  ACM. ARMS. AHAS,  提供-站式的解决方案。

SAE 更显著的特点是会围绕应用给用户带来一系列的能力。其包括监控日志能力、微服务能力,使用户在应用签约时,不需要再去考虑应用周边的可观性等需求,而是在这一个产品中就能被完全提供。


四.Severless Kubernetes

2014年,容器技术横空出世,这时用户还没有编排系统,用户使用容器的方式往往是购买一台 ECS,然后把容器部署在上面。这时如果用户需要很多容器去运维和管理,就非常不方便。他需要自己去维护容器的生命周期,多个容器的编排。

2015年,容器编排技术逐渐火爆,特别是 Kubernetes。这项技术如今已经成为实施标准,帮助用户解决容器编排问题。他可以把多台 ECS 创建程序的 k8s 集群。提供这种编排技术,可以让用户非常方便地实现集群的管理及容器的管理。

但是这项技术本身门槛很高,使用的用户首先需要构建集群,买 ECS 并进行容量规划,去做运维,所以这时需要用户对 Kubernetes 有比较高的理解。但很多用户其实只想拿到 Kubernetes 的红利,并不真的想去学习 Kubernetes 的技术,运维其集群。

为了满足这一群体才产生了如今的 Severless Kubernetes(ASK) 。在这样一个使用的这个模式下,用户的从上层往下看的视角还是一个容器编排系统,用户可以使用所有的 Kubernetes 来提出编排能力,但是不需要去维护创建出这个机型所需要的资源,所有 ECS 机器的资源和运维全部由云产品来完成。

从用户视角来看,他就拿到一个具有无限容量的集群,可以随时去部署它的镜像,而且可以根据这个镜像的使用计算资源付费。从这个角度来讲,它确实提供了一个Severless 使用形态,但是从用户层的使用体验来讲,他又是一个 Kubernetes 的集群,所以这就是 Severless Kubernetes。

Serverless Kubernetes 典型场景

(1)场景一:免运维的应用托管

无需管理基础设施,专注应用开发

灵活弹性、按需使用

结合预留实例券大幅降低计算成本

支持原生 Kubernetes 生态 ,包括 HelmChart 部署等

(2)场景二:突发流量的弹性扩容

系统关键模块弹性扩容,应对突发流量,使得端到端扩容速度缩短70%

端到端的伸缩性能达到30秒500个容器实例

ASK 独享 Master ,免运维、按需使用

ECI 镜像快照使得“零秒”镜像下载

(3)场景三:大数据计算任务

使用 VK/ECI 提供的极致弹性能力支撑 Spark/Presto 大数据计算

提交作业前无需预留任何资源,"无限” 容量,按需使用,高并发,高峰期10000+ pod 运行。

(4)场景四: CI/CD

使用 ASK 运行 Jenkins/Gitlab-Runner  ,按需创建 Job  ,极大降低计算成本。

部署阶段无缝对接 ASK ,无需事先申请资源,实现应用的快速测试和预发。

总结:

Severless 不仅面对函数形态,更包括函数计算,应用引擎,以及面向容器的产品——Severless Kubernetes。用户可以根据自己的需要选择不同类型的业务,实现自身价值。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
运维 Kubernetes Serverless
serverless学习笔记 | 关于 Serverless 应用架构对企业价值的一些思考
serverless学习笔记 | 关于 Serverless 应用架构对企业价值的一些思考
187 0
serverless学习笔记 | 关于 Serverless 应用架构对企业价值的一些思考
|
Serverless 数据处理 开发者
serverless 入门与实践47 | 学习笔记: 应用 Serverless 化,让业务开发心无旁骛
serverless 入门与实践47 | 学习笔记: 应用 Serverless 化,让业务开发心无旁骛
251 1
serverless 入门与实践47 | 学习笔记: 应用 Serverless 化,让业务开发心无旁骛
|
SQL 缓存 安全
serverless 入门与实践39 | 学习笔记: 华为 Serverless 核心技术与实践
serverless 入门与实践39 | 学习笔记: 华为 Serverless 核心技术与实践
206 0
serverless 入门与实践39 | 学习笔记: 华为 Serverless 核心技术与实践
|
新零售 运维 Kubernetes
SAE -第一课《 Serverless 应用引擎的过去、现在和未来》|学习笔记
快速学习 SAE -第一课《 Serverless 应用引擎的过去、现在和未来》
397 0
SAE -第一课《 Serverless 应用引擎的过去、现在和未来》|学习笔记
|
Web App开发 人工智能 弹性计算
FC -第一课-《从云计算到云原生再到 Serverless 架构》|学习笔记
快速学习 FC -第一课-《从云计算到云原生再到 Serverless 架构》
363 0
FC -第一课-《从云计算到云原生再到 Serverless 架构》|学习笔记
|
消息中间件 运维 Cloud Native
QCon 2022·上海站 | 学习笔记5: 从上云到用云: Serverless 引领下一代应用架构
QCon 2022·上海站 | 学习笔记5: 从上云到用云: Serverless 引领下一代应用架构
166 7
|
云安全 供应链 Cloud Native
serverless学习笔记: 解读云原生的 2022 0x2 产业落地篇
serverless学习笔记: 解读云原生的 2022 0x2 产业落地篇
140 0
serverless学习笔记: 解读云原生的 2022 0x2 产业落地篇
|
Kubernetes Cloud Native 关系型数据库
serverless学习笔记: 解读云原生的 2022 0x1
serverless学习笔记: 解读云原生的 2022 0x1
166 0
serverless学习笔记: 解读云原生的 2022 0x1
|
运维 NoSQL Serverless
serverless 学习笔记: 解读Serverless的2022
serverless 学习笔记: 解读Serverless的2022
173 0
serverless 学习笔记: 解读Serverless的2022
|
存储 弹性计算 Cloud Native
serverless 学习笔记: 阿里云已将 Serverless 数据库大规模落地,这是否代表着数据库的新风向?
serverless 学习笔记: 阿里云已将 Serverless 数据库大规模落地,这是否代表着数据库的新风向?
297 0
serverless 学习笔记: 阿里云已将 Serverless 数据库大规模落地,这是否代表着数据库的新风向?

热门文章

最新文章

相关产品

  • 函数计算