【云驻共创】零门槛Serverless课堂 应用全托管 so easy!

前言

一切要从一个风和日丽的早上说起:

那天,阳光正好,微风不燥。还来不及从容吃口早饭,我就接到了线上报警,赶忙打开了电脑,处理突发的流量高峰导致的页面报错。

重启好服务,饭都冷了。

我心里想着,

如果能够简化操作就好了,

如果是界面化的操作该多好,

如果几分钟就能轻松搞定就好了,

......

上述情况中的困境,是技术开发时常会遇到的问题之一。随着业务增长,服务便会遇到各式各样的状况,如:瞬时大规模并发访问、服务出错等。

为了更好的解决目前的困境,Serverless闪耀登场。

一、云计算的下一代范式—Serverless

1.1 企业为什么需要Serverless

在企业发展的各个阶段,技术开发可能会遇到各式各样的问题:

  • 系统版本不统一,应用代码越来越臃肿
  • 开发框架总有意想不到的坑?
  • 奇奇怪怪的依赖问题;
  • 一个需求上线有多少时间是花在代码上的?
  • 数不完的配置;
  • 部署工步调试,过程耗时又耗力;
  • 扩容究竟准备多少资源?
  • 全栈?

......

这样看,一个应用从开发到落地,开发成本高、运维复杂又容易出错。

如果,技术开发者能从繁杂的服务器维护工作中解脱出来,不但可以缩短上线时间,还可以减少不必要的错误,同时能够更专注于产品代码的质量和效率上,岂不是一举多得。

而Serverless,无服务架构,让开发者不再需要管理服务器,为企业降低了业务的基础设施管理和运维成本。

1.2 Serverles简介

Serverless是云计算的一种模型。以平台即服务(PaaS)为基础,无服务器运算提供一个微型的架构,终端客户不需要部署、配置或管理服务器服务,代码运行所需要的服务器服务皆由云端平台来提供。

通过上面的概念介绍,我们可以这样理解无服务器运算:

无服务器运算并不是不需要服务器,而是不需要开发者管理实际的服务器。

伴随着软件开发大神Martin Fowler关于"Serverless 实际上是 BaaS 与 FaaS 的组合"的观点的提出,也让Serverless有了清晰的组成结构:

在Serverless中,开发人员无需维护自己的服务器,只编写应用的部分服务器端逻辑,而这些逻辑运行在一个无状态的计算容器中,通过事件驱动、需要时才消耗资源。这种无服务器运算(Serverless computing)的情况,又被称为函数即服务(Function-as-a-Service,FaaS)。

另外,服务器服务能力由第三方提供,并且建立在云服务生态之上,只需要客户端或者前端开发调用相应的能力就可以快速开发应用,这些服务被称为后端即服务 (Backend as a Service,BaaS) 。

作为云计算的一种模型,Serverless的特点如下:

  • 免运维:用户不需要管理服务器,服务器服务皆由云端平台来提供;
  • 按价值付费:在Serverless框架上使用资源只需为实际运行时间付费;
  • 能自动持续扩容:根据业务流量波动进行自动的资源分配和销毁,最大限度地实现服务的平衡稳定;
  • 内置高可用和容错能力

正因为具备这些特征,Serverless让开发者可以更关注于产品应用的开发,不需要管理和维护服务器,因此被笔者称为"快速完成开发的云计算下一代范式”。

二、云应用托管到Serverless托管的平滑演进

2.1 云应用托管的演进趋势

2.2 技术架构演进

2.2.1 单体应用

单体应用,又单体架构,一种把软件所有功能的应用程序包含在一个工程包里的架构方式。

通常,所有应用共享一个数据库。

单体应用的优点主要是易部署和易测试,因为应用程序都在一个工程包里,一旦部署,所有的服务就都可以使用了。

而单体应用的问题,主要是围绕"弹性弱"这一点,如:

  • 随便一点改动涉及上千行代码的改动;
  • 流量总是海量,性能成为瓶颈;
  • 依赖于硬件可靠性,故障要人工恢复;
  • 使用到的资源越来越多;
  • 版本越来越难做。

2.2.2 微服务

微服务,又称微服务架构,是一种云原生架构方法。它提倡单个应用程序划分成一组松散耦合且可独立部署的较小组件或服务。

一般一个应用程序由一个或多个微服务组成,这样一来,就降低服务间的耦合性。

许多优秀的微服务云应用服务平台提供商,帮助实现微服务应用的快速开发和高可用运维。如华为云的微服务引擎 CSE,除了提供微服务管理能力,还提供了微服务治理的能力。

服务间松耦合是微服务的主要优点之一。此外,微服务还有其他优点:

  • 可以轻松更新代码;
  • 团队可以为不同的组件使用不同的堆栈,技术选型多样化;
  • 单个微服务的复杂性低,易开发也易维护。

而微服务的问题,主要是"复杂度高"这点,如:

  • 微服务拆分后管理复杂性指数级上升;
  • 要学的技术越来越复杂,人力成本高;
  • 容器资源调度也很令人困扰;
  • 运维其实并没有变简单。

2.3 云端托管演进

2.3.1 基础设施托管

基础设施,主要包括计算、存储、网络等基础硬件资源。

传统的本地部署,所有的基础设施,应用都需要开发者自己准备,维护成本十分高。

于是,诞生了IaaS。

IaaS,它是Infrastructure as a Service的缩写,即基础设施即服务。IaaS提供商为使用者提供了基础的硬件资源,使用者可以按量付费,租用服务商部署好的硬件资源环境,在这些基础硬件设施支持下部署和运行各种软件。

传统部署,用户需要管理所有服务:

IaaS部署,基础设施由云服务商提供,其他由用户管理:

开发者无需管理或控制任何基础设施,但能控制操作系统、储存空间、部署的应用,也有可能获得有限的网络组件的控制。

IaaS部署解决了管理基础设施的困难,但是仍然存在不足,用户仍然需要管理基于开源或自建应用软件及业务。

2.3.2 应用软件托管

SaaS(Software as a Service),即软件运营服务。

SaaS服务提供商负责管理硬件和软件,所有基础结构、中间件、应用软件和应用数据都位于服务提供商的数据中心内,并根据适当的服务协议确保应用和数据的可用性和安全性。

使用者可以从云服务提供商处以即用即付方式进行购买,无需将软件产品安装在自己的电脑或服务器上,可以在前期以最低成本的应用快速建成投产。

SaaS有以下主要优点:

  • 可以使用先进的应用程序:SaaS服务商提供了ERP和CRM等先进的企业应用程序。
  • 只为自己使用的东西付费:即用即付的付费方式,半自动弹性伸缩,帮助使用者节省费用。
  • 使用免客户端软件:用户可以直接在Web浏览器中运行大部分SaaS应用而无需下载和安装任何软件(部分应用需要插件),无需再购买和安装特殊软件。
  • 从任何位置访问应用数据:将数据存储到云端后,用户可通过任何连接到 Internet 的计算机或移动设备访问其信息,且在用户的计算机或移动设备发生故障时不会丢失任何数据。

2.3.3 Serverless托管

Serverless被称为"云计算的下一代范式",代表着下个十年。

使用Serverless托管的主要优势是:

  • 可实现云端全托管:用户无需配置或管理服务器,专注于业务创新;
  • 降低企业成本:资源按需分配,资源成本按使用收费,避免资源浪费,减少投入成本;
  • 高弹性:实现透明、准确和实时的伸缩,应付业务峰值的访问;
  • 缩短产品上市周期:服务商提供一键式应用部署,可缩短TTM(产品上市周期)。

华为云提供了应用级Serverless化产品形态,如下:

其中,Cloud Application Engine,云应用引擎,简称CAE。它可以帮助实现零门槛转型Serverless架构。

三、CAE—微服务应用的Serverless托管服务

3.1 什么是CAE

3.1.1 CAE介绍

华为云官网对CAE的产品介绍如下:

CAE(Cloud Application Engine云应用引擎)是一个面向WEB、微服务应用的Serverless托管服务,提供极速部署、极低成本、极简运维的一站式应用托管方案。支持从源码、软件包、镜像包快速发布应用,秒级弹性伸缩、按量付费。可做到基础设施免运维,根据可观测的运行指标对应用进行生命周期管理。

CAE 可为不同行业类型的企业提供Serverless托管服务,同时CAE集成了微服务引擎CSE、云数据库RDS等众多服务的核心功能,对公有云基础设施服务、存储服务、数据库服务、软件仓库服务、监控运维以及中间件服务进行了深度整合,为用户提供了一个功能齐全的一站式应用云平台。

CAE具有的优势如下:

  • laaS+PaaS集成的全托管免运维解决方案:完全聚焦应用业务逻辑,无需关注底层资源的申请、配置、部署及运维等。同时为应用提供开箱即用的生命周期管理、可观测等功能,快速排查故障;
  • 一站式快速上云:实现从代码变更到代码构建,镜像构建和应用部署的全流程自动化,本地应用一键部署到云端。提升了开发迭代效率;
  • 极致弹性,精益成本,节省资源:秒级扩容,多指标伸缩,精确匹配业务请求量;
  • 极简运维:零门槛容器化,由CAE提供底层资源调度、部署、微服务治理和监控能力,节约运维人力及技术成本。

3.1.2 CAE价值

CAE对客户价值主要体现在三个方面:高效、快速、便捷。

具体的说:

  • 缩短TTM从周到天,提高开发效率

用户专注于业务创新和代码开发,代码运行环境由云平台提供,无需管理基础设施资源,更快地从想法到市场。

  • 通过屏蔽基础设施,减少运维人力投入
    • 通过屏蔽基础设施,提供立体化监控指标
    • 节约了专职运维人力
    • 节约了运维技术成本
  • 秒级弹性,极致硬件成本
    • 通过弹性伸缩能力,从容应对周期性业务
    • 无资源浪费

3.2 CAE体验:微服务应用简单上云

3.2.1 "城市天气预报"微服务应用

本次体验上云的微服务应用叫做"城市天气预报",它是一个基丁SericeComb开发的微服务应用,可以根据用户输入的城市名称查询天气情况。

它整体的调用关系如图:

3.2.2 上云步骤

1、步骤1:创建后端服务组件

  • 在页面上方,单击“新增组件”。
  • 设置的组件信息如下截图。

  • 单击“配置组件”,进入组件配置页面。
  • 进行微服务引擎CSE配置。

  • 进行访问方式配置。

  • 单击“创建组件并部署”,在弹出的对话框中单击“立即部署”,部署组件。

了解其他信息可查看:创建组件。

2、步骤2:创建前端服务组件

  • 在页面上方,单击“新增组件”。
  • 进行组件信息设置。

  • 单击“配置组件”,进入组件配置页面。
  • 进行环境变量配置。

  • 进行访问方式配置。

  • 单击“创建组件并部署”,在弹出的对话框中单击“立即部署”,部署组件。

3、步骤3:重复步骤1,新增其他后端服务组件。

4、步骤4:访问web页面。

打开组件配置的路径(含端口),可以看到一个包含天气预报信息的页面。

3.3 小结

经过上面的CAE实践,我们来做个简单的小结。

1、CAE价值提炼

对CAE价值做了简单的提炼,主要包含以下几点:

  • 一站式PAAS体验,效率提升90%;
  • 几个微服务组件分钟级上云,代码直接上云;
  • 无须担心性能瓶颈;
  • 立体化监控,实现无人值守;
  • 内置高可用,保障运行高效稳定。

2、CAE 的资源利用率

目前企业用户的主要痛点是:

  • 周期性业务洪峰,需提前预估容量资源;
  • 促活流量激增,需临时手动部署应用;
  • 业务稳定期,需释放资源降低成本;
  • 复杂业务运维,需维持业务稳定。

为了解决这些痛点,需要做到以下几点:

  • 实时配置规则从容面对流量洪峰;
  • 自定义流量阈值自动部署高频访问服务;
  • 极致弹性伸缩按需使用;
  • 资源聚焦业务层运维屏蔽基础设施。

我们来看一下CAE在资源利用率方面的实际表现。

如图为自运维所需资源量、业务所需资源量、CAE提供资源量,随着业务波动,资源具体使用情况的波动图。

随着业务所需资源量的动态变化,自运维所需资源量可能会出现不足,而且随着业务量的减少下滑的非常缓慢。

而CAE提供资源量,是完全匹配业务所需资源量的变化需要的资源量,真正做到了极致弹性伸缩按需使用。

四、总结

从基础设施托管到应用软件托管再到Serverless全端托管,Serverless帮助企业级开发,提升了研发效能、降低了基础设施和运维成本。

随着Serverless服务的日渐丰富,许多优秀的云提供商们提供了各种的Serverless服务,更好的支持各种应用的开发和运行。

华为云提供的云应用引擎CAE,因其“零门槛转型Serverless架构”的强大能力,璀璨夺目。

云应用引擎CAE,承载了Serverless应用的全生命周期管理,可无侵入托管Apache ServiceComb、Spring Cloud、Dubbo等微服务应用。另外还提供配置管理、监控运维和服务治理等更多功能,让微服务应用上云变成一件十分简单的事。

接下来,期待与云应用引擎CAE一起的更多可能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/352814.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3dmax效果图渲染出现曝光怎么解决?

在使用3ds Max完成效果图渲染工作时,有时会遇到曝光过度的问题,这会使得渲染的图像出现光斑或者过亮,损害了效果的真实感和美观度。那么解决解决3dmax曝光问题呢?一起看看吧! 3dmax效果图渲染出现曝光解决方法 1、相机…

使用Opencv-python库读取图像、本地视频和摄像头实时数据

使用Opencv-python库读取图像、本地视频和摄像头实时数据 Python中使用OpenCV读取图像、本地视频和摄像头数据很简单, 首先需要安装Python,然后安装Opencv-python库 pip install opencv-python然后在PyCharm或者VScode等IDE中输入对应的Python代码 一…

web前端---------盒子模型

1.内容 盒子的内容可以包含文字、图片等多种类型。 浏览器在加载网页时&#xff0c;会将元素按照内容区分为替换元素与非替换元素。 &#xff08;1&#xff09;替换元素指的是HTML中的一些形如<img>、<input>等非文本元素。 这些元素本身不包含任何内容&#x…

Spring Cloud 之Config详解

大家好&#xff0c;我是升仔 在微服务架构中&#xff0c;统一的配置管理是维护大规模分布式系统的关键。Spring Cloud Config为微服务提供集中化的外部配置支持&#xff0c;它可以与各种源代码管理系统集成&#xff0c;如Git、SVN等。本文将详细介绍如何搭建配置服务器、管理客…

司铭宇老师:汽车销售培训:汽车销售员培训:汽车销售技巧培训:汽车销售技巧和话术

汽车销售培训&#xff1a;汽车销售员培训&#xff1a;汽车销售技巧培训&#xff1a;汽车销售技巧和话术 汽车销售是一项充满挑战性的工作&#xff0c;它需要销售人员具备良好的沟通技巧、谈判技巧以及产品讲解能力。在这篇文章中&#xff0c;我们将详细探讨汽车销售中的技巧和话…

【MQ02】基础简单消息队列应用

基础简单消息队列应用 在上一课中&#xff0c;我们已经学习到了什么是消息队列&#xff0c;有哪些消息队列&#xff0c;以及我们会用到哪个消息队列。今天&#xff0c;就直接进入主题&#xff0c;学习第一种&#xff0c;最简单&#xff0c;但也是最常用&#xff0c;最好用的消息…

Nginx安装以及具体应用

文章目录 Centos7安装NginxNginx命令Nginx具体应用反向代理 location指令说明负载均衡动静分离 Nginx.conf配置详解 Centos7安装Nginx 下载地址&#xff1a;nginx: download 中间这个就是tar.gz包 Centos7安装Nginx 下载nginx-1.16.1.tar.gz上传到Centos7中的/user/local目…

漏洞攻击中怎么去做最全面覆盖的sql注入漏洞攻击?表信息是如何泄露的?预编译就一定安全?最受欢迎的十款SQL注入工具配置及使用

漏洞攻击中怎么去做最全面覆盖的sql注入漏洞攻击?表信息是如何泄露的?预编译就一定安全?最受欢迎的十款SQL注入工具配置及使用。 SQL注入是因为后台SQL语句拼接了用户的输入,而且Web应用程序对用户输入数据的合法性没有判断和过滤,前端传入后端的参数是攻击者可控的,攻击…

一位网友开始设计一个叫 VisionPro 的VR现实交互操作系统,可以将电脑屏幕的图片拖拽到现实空间摆放

在 Figma 中创建的资源和组件可以在 ShapesXR 中导入和同步&#xff0c;这样您就可以在 Mixedreality 中开始设计&#xff0c;而无需任何 3d 专业技能 Figma是一个矢量图形编辑器和原型设计工具&#xff0c;主要基于网页进行工作&#xff0c;通过macOS或Windows的桌面应用程序…

Docker命令---搜索镜像

介绍 使用docker命令搜索镜像。 命令 docker search 镜像命令:版本号示例 以搜索ElasticSearch镜像为例 docker search ElasticSearch

Redis的应用问题

目录 一、缓存穿透 问题描述 解决方案 缓存击穿 问题描述 解决方案 缓存雪崩 问题描述 解决方案 二、分布式锁 问题描述 解/决方案&#xff1a;使用redis实现分布式锁 优化之设置锁的过期时间 优化之UUID防误删 LUA脚本保证删除的原子性 LUA脚本 LUA脚本在Red…

Dockerfile入门指南:轻松创建定制化Docker镜像

镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本&#xff0c;用这个脚本来构建、定制镜像&#xff0c;那么无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。 Doc…

(大众金融)SQL server面试题(3)-客户已用额度总和

今天&#xff0c;面试了一家公司&#xff0c;什么也不说先来三道面试题做做&#xff0c;第三题。 那么&#xff0c;我们就开始做题吧&#xff0c;谁叫我们是打工人呢。 题目是这样的&#xff1a; DEALER_INFO经销商授信协议号码经销商名称经销商证件号注册地址员工人数信息维…

Windows上安装Linux系统

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、WSL是什么&#xff1f;二、WSL安装步骤1.开启wsl支持2.安装wsl3.运行wsl4.环境配置 三、WSL删除引用 前言 提示&#xff1a;这里可以添加本文要记录的大概…

故障树分析蒙特卡洛仿真程序(附MATLAB完整代码)

故障树是一种特殊的倒立树状逻辑因果关系图&#xff0c;它用事件符号、逻辑门符号和转移符号描述系统中各种事件之间的因果关系&#xff0c;通过对引起系统故障的各种因素进行逻辑因果分析&#xff0c;确定导致故障发生的各种可能的原因&#xff0c;并通过定性和定量分析找出系…

MybatisPlus二级映射和关联对象ResultMap

文章目录 一、业务背景1. 数据库表结构2. 需求 二、使用映射直接得到指定结构三、其他文件1. Mapper2. Service3. Controller 四、概念理解一级映射二级映射聚合 五、标签使用1. \<collection\> 标签2. \<association\> 标签 在我们的教程中&#xff0c;我们设计了…

三十四岁的程序员转行送外卖的不在少数啊

疫情过后的就业形势&#xff0c;对于很多人来说&#xff0c;真的变得更为严峻。我有很多之前的朋友&#xff0c;他们待业的时间长达半年&#xff0c;这对他们的生活和心理都造成了很大的压力。我是一名程序开发人员&#xff0c;虽然相对于其他行业来说&#xff0c;我们的薪资待…

如何保证接口幂等性

接口幂等性是指对同一操作发起的一次或多次请求结果是一致的&#xff0c;并且不会因为重复请求而产生副作用。 例如前端应用对后端发出请求&#xff0c;可能由于网络原因&#xff0c;前端并未接收到后端响应&#xff0c;前端进行重试&#xff0c;对后端同一接口发出多次请求 假…

Tortoise-tts Better speech synthesis through scaling——TTS论文阅读

笔记地址&#xff1a;https://flowus.cn/share/a79f6286-b48f-42be-8425-2b5d0880c648 【FlowUs 息流】tortoise 论文地址&#xff1a; Better speech synthesis through scaling Abstract: 自回归变换器和DDPM&#xff1a;自回归变换器&#xff08;autoregressive transfo…

SpringBoot中阿里云OSS的使用

目录 1 登录/注册阿里云并进入控制台 2 进入OSS控制台 3 创建bucket 4 查看bucket 5 获取AccessKey 6 查看帮助文档 7 添加Maven依赖 8 获取示例代码并改造成工具类 9 测试 1 登录/注册阿里云并进入控制台 2 进入OSS控制台 3 创建bucket 4 查看bucket 5 获取AccessKe…