serverless for 腾讯云初认识 |8月更文挑战

471 阅读5分钟

serverless 初认识

应用架构的进化

image.png


PS:一些基本概念

什么是serverless

Serverless(无服务器架构)是指服务端逻辑由开发者实现,应用运行在无状态的计算容器中,由事件触发,完全被第三方管理,其业务层面的状态则存储在数据库或其他介质中。

Serverless可以使开发者更聚焦在业务逻辑,而减少对基础设施的关注。

开发人员直接编写运行在云上的函数、功能、服务。由云服务产商提供操作系统、运行环境、网关等一系列的基础环境,我们只需要关注于编写我们的业务代码即可。


什么是云函数

云函数(Serverless Cloud Function,SCF)

是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。SCF 是实时文件处理和数据处理等场景下理想的计算平台。


Serverless 和云函数的关系

Serverless 架构由两部分构成,分别是 FaaS(Functions as a Service)和 BasS(Backend as a Sevice)。其中 FaaS 就是指云函数,它是一种新的算力组织和提供方式,它让用户不再需要关心服务器的管理和配置,只用专注于核心业务逻辑业务代码的编写。BaaS 指的是一些服务化的后端功能,包括数据库 / 对象存储、账户权鉴、消息队列、社交媒体整合和 AI 能力等,这些服务和接口在 FaaS 层使用相应的 SDK 或 API 来连接和调用。


什么是BaaS

  • BaaS(Backend as a Service)BaaS 是一种新型的云服务

旨在为移动和 Web 应用提供后端云服务,包括云端数据/文件存储、账户管理、消息推送、社交媒体整合等。BaaS 是垂直领域的云服务,随着移动互联网的持续火热,BaaS 也受到越来越多的开发者的亲睐。它作为应用开发的新模型,可以降低开发者成本,让开发者只需专注于具体的开发工作。 cloud.tencent.com/developer/a…


什么是Serverless Framework

Serverless Framework 是业界非常受欢迎的无服务器应用框架,开发者无需关心底层资源,即可部署完整的 Serverless 应用架构。Serverless 应用中心基于 Serverless Framework 资源编排、自动伸缩、事件驱动等能力,覆盖编码、调试、测试、部署等全生命周期,帮助开发者通过联动云资源,迅速构建 Serverless 应用。

cloud.tencent.com/document/pr…


什么是Docker


什么是Ckafka

  • 消息队列 CKafka(Cloud Kafka)是基于开源 Apache Kafka 消息队列引擎

消息队列 CKafka(Cloud Kafka)是基于开源 Apache Kafka 消息队列引擎,提供高吞吐性能、高可扩展性的消息队列服务。消息队列 CKafka 完美兼容 Apache kafka 0.9、0.10、1.1、2.4版本接口,在性能、扩展性、业务安全保障、运维等方面具有超强优势,让您在享受低成本、超强功能的同时,免除繁琐运维工作。


cloud.tencent.com/document/pr…

什么是CMQ

  • 消息队列 CMQ(Cloud Message Queue,以下简称 CMQ)

消息队列 CMQ(Cloud Message Queue,以下简称 CMQ)是基于腾讯自研消息引擎的分布式消息队列系统,可以用作数据源(Source)和数据目的(Sink)。用户可以把流数据导入到 CMQ 的某个 Queue 中,通过 Flink 算子进行处理后,输出到相同或不同 CMQ 示例的另一个 Queue。

cloud.tencent.com/document/pr…


什么是CDB

CDB的全称是Cloud Database

(1)云存储服务,是腾讯云平台提供的分布式数据存储服务
(2)完全兼容MySQL协议,适用于面向表结构的场景,适用MySQL的地方都可以使用CDB
(3)提供了高性能、高可靠、易用、便捷的MySQL集群服务
(4)整合了备份、扩容、迁移等工具,同时提供CDB管理台,开发者可以方便的进行登录、数据库和表的增删查改等工作
(5)现网CDB的运营数据超过40T,接入业务包括蜀山传奇、武道破天、捕鱼大亨、梦回西游、斗战西游等

wiki.open.qq.com/wiki/CDB%E7…



serverless是什么 ,一种新的应用架构方式

  • 应用架构过渡过程 image.png

  • serverless 架构图

image.png

  • 开发一个应用需要的资源 金字塔图 image.png

image.png

  • serverless 为开发者提供一个只关注应用业务逻辑的开发环境

image.png

  • serverless componet 组件化可复用

  • serverless framework 链接应用层和云服务,如下图

image.png

  • serverless 组成部分

image.png

  • serverless 简介

image.png

  • 一个业务架构

image.png

  • 一个业务架构

image.png

  • 一些serverless 组件化的例子

image.png

  • serverless 好处

image.png

安装 Serverless Framework

可参考网址:cloud.tencent.com/document/pr…

NPM 安装

安装前提

使用 npm 安装前,需要确保您的环境中已安装好了 Node(版本需要 > 10)以及 npm(查看 Node.js 安装指南)。

$ node -v
v12.18.0
$ npm -v
7.0.10

安装步骤

在命令行中运行如下命令:

npm install -g serverless