微服务和 Serverless 架构-Serverless 理念的出现

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
可观测监控 Prometheus 版,每月50GB免费额度
应用实时监控服务-用户体验监控,每月100OCU免费额度
简介: 微服务和 Serverless 架构-Serverless 理念的出现

开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:微服务和 Serverless 架构-Serverless 理念的出现】

课程地址:https://edu.aliyun.com/course/3112075/lesson/19029


微服务和 Serverless 架构-Serverless 理念的出现

 

内容介绍:

一.云计算平台的优势和局限性1

二.云计算平台的优势和局限性2

三.需求催生新的架构升级

四.Serverless带来的产业模式升级

五.Serverless 的技术优势

六.Serverless 带来的技术升级

 

一.云计算平台的优势和局限性1

image.png

云原生中的另一个重要概念 Serverless 理念,2009年云计算方兴未艾之时,加州大学伯克利分校发布了一篇著名的论文:《在云之下,从伯克利的观点看云计算》,论文对云计算的发展方向和关键技术做了大量的预测和论证。
在论文中,伯克利大学对云计算的业态总结了六点优势,其中前四点优势包括:无限可用的计算资源、用户不需要承担服务器运维工作和责任、服务按需付费,超大型数据中心降低使用成本,这四点经过云计算厂商多年努力,结合新商业模式,已经从预测变为了现实,但第五点和第六点问题,即可视化资源管理运维操作难度大大降低,和分时复用硬件的利用率大大提高,虽在云计算环境下有所改善,但问题并没有得到完全解决。

 

二、云计算平台的优势和局限性2

image.png
与传统自建 IPC 模式相比,云计算着重解决数据中心商业模式变化和服务器虚拟化与上云。

在云计算模式下,用户不再需要自建 IPC 和购买实体服务器,而是转向云计算厂商租用虚拟服务器,但开发人员使用服务器的方式并没有太多改变。
具体来讲,都是通过远程连接登录服务器,然后在服务器上进行操作系统升级维护和应用运行环境配置,以及应用的部署、运行、调试,唯一的区别只是远程登录地址由自家IPC转到云服务厂商。

这样可以降低用户上云的迁移成本,并不需要对原有的服务器使用流程做过多修改,但这样做的缺点首先是无法完全消除不必要的运维经济消耗,虚拟机的操作系统和应用运行环境仍然需要开发者定期升级和检查安全漏洞,这些操作无形中增加了企业运维人员的精力消耗,而且一旦升级更新部署环境出现问题,潜在的安全风险也大大上升。

虚拟服务器一般使用按时长付费的方式租用,但在实际使用过程中,应用的消耗有着时间周期的变化,虚拟服务器往往为了应付短时间的大流量而在其他时间计算需求不足,导致资源的浪费,即物理计算资源利用率并没有得到更加深入的挖掘和提升。

 

三、需求催生新的架构升级

在这种情况下,2015年推出了一款名为 AWS Lambda的产品,在这款产品中亚马逊提出了 Cloud 和 Serverless理念。其中 Serverless 并不是指不再需要服务器,而是开发人员不再关注服务器,转而使用运营商提供的应用运行环境直接运行应用。
亚马逊的这一理念一经提出,就引起了业内的广泛关注,虽然 AWS Lambda 这款产品,在设计上仍显得有些粗糙,以致其并没有迅速成为主流,但是Serverless 的概念为业界提供了新的云资源管理思路。

image.png


Serverless的概念,如上图,在云计算模式下,要运行由代码编写的一个简单网络应用,需要做的最小操作是:首先编写简单代码,然后租用 ECS 服务器,并在服务器中配置代码运行环境,接下来为 ECS服务器配置 VPC ,配置公网弹性 IP。
当启动多实例时,开发者还需要配备SLB 作为负载均衡,如果再考虑到应用流量变化,还需配备弹性伸缩组件,相比较下,业务代码的编写在整体流程中的占比反而相对较低,而在 Serverless 中用户只需开发服务代码,然后将服务代码传入与运行环境相关的Serverless 平台上即可运行。
运行环境的准备、公网 IP的配置以及多实例的负载均衡和弹性伸缩都由 Serverless平台进行提供,这就大大降低了应用开发者的运维成本。

 

四.Serverless 带来的产业模式升级

image.png

Serverless 平台包含云计算平台下应用所需的全部资源,开发者不再需要关注 ECS 网络资源,应用平台等多种顶层资源,同时,Serverless 模式并不像传统的 ECS 服务器,采用按时长方式进行收费,而是提出新的商业模式,即按计算量进行收费,云服务厂商会提供一个容量庞大的集团资源池,当 Serverless 应用需要使用计算资源时,则动态的从资源池中请求资源。
而当资源使用结束后,则迅速将资源归还给公共资源池。Serverless 的资源使用时间可以精确到秒甚至毫秒,这种设计相较于 ECS 的租用模式,资源的使用效率又得到了明显的提升,同时,对企业资产管理来讲,这种完全按照计算量收费的模式,简化了计算方法,做到了费用和业务部门的计算量完全挂钩,计算即付费,不计算不付费,使得资产管理更加便利。

 

五.Serverless 的技术优势

 image.png经过四五年的发展,Serverless 理念逐渐在云原生中得到了广泛实践,2019年伯克利分校再次发表的论文对 Serverless 做出了三点总结:

1. 存储与计算分离:按需使用计算资源就意味着当计算停止时,对应的应用资源将得到释放,在这种情况下,如果存储和计算绑定,势必在计算释放计算资源时也会导致存储数据丢失。因此 Serverless的设计思路即是将数据存储和数据计算分开,存储放在可持久服务中,计算放在可释放服务中。

2. 代码的执行,即数据的计算不再需要手动分配和维护资源,只需要准备好应用程序,直接通过 Serverless平台向公共资源池申请资源即可。

3. 云服务厂商按照代码计算量精确付费,一旦计算资源结束,会在秒到毫秒间释放计算资源,保证计算资源的最大效率运用。

 

六.Serverless 带来的技术升级

 image.png 

Serverless 理念不仅带来了运维效率的提升和商业模式的变化,也为云计算的底层技术实现带来了变革的契机。
传统的云计算方式下,应用的部署环境一般为右图,底层是物理服务器,物理服务器之上是云计算操作系统,而云计算操作系统之上安装一层虚拟机,通过虚拟机将物理服务器虚拟成多台ECS 云服务器,在 ECS 云服务器之上会再安装ECS 操作系统, ECS操作系统之上才是云计算应用平台和云计算应用实例。这种在底层安装了两套工作系统和一套虚拟机的架构,虽然有助于实现 ECS的按需租用。但是虚拟底层造成的性能损失平均估计在10%-20%左右,而在Serverless 基础下,开发者不再关注操作系统和运行环境。应用也不再需要直接部署在操作系统上,云服务厂商可以完全抛弃虚拟机层,在服务器操作操作系统上直接安装应用平台层,通过应用平台层实现计算资源分配和应用之间的隔离。
这样的服务架构我们称为 ESB 弹性裸金属服务器,裸金属服务器的含义就是底层的物理服务器直接暴露给应用平台层,不再存在中间的虚拟层,一台底层物理服务器可以支撑大约几十个虚拟机,而弹性裸金属服务器架构下, Serverless 应用平台可以支持几百甚至数千个应用同时部署,操作系统和底层护理服务器的硬件架构都可以为 Serverless 平台做制定化的修改和设计。
因此,如果说容器技术是云原生的基础技术,微服务架构是云原生下的推荐架构,那么 Serverless 理念则深刻的改变了用户的上云方式和云服务厂商的底层技术实现。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
6天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
4天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
5天前
|
Dubbo Java 应用服务中间件
服务架构的演进:从单体到微服务的探索之旅
随着企业业务的不断拓展和复杂度的提升,对软件系统架构的要求也日益严苛。传统的架构模式在应对现代业务场景时逐渐暴露出诸多局限性,于是服务架构开启了持续演变之路。从单体架构的简易便捷,到分布式架构的模块化解耦,再到微服务架构的精细化管理,企业对技术的选择变得至关重要,尤其是 Spring Cloud 和 Dubbo 等微服务技术的对比和应用,直接影响着项目的成败。 本篇文章会从服务架构的演进开始分析,探索从单体项目到微服务项目的演变过程。然后也会对目前常见的微服务技术进行对比,找到目前市面上所常用的技术给大家进行讲解。
16 1
服务架构的演进:从单体到微服务的探索之旅
|
4天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
24 5
|
6天前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
25 7
|
5天前
|
Kubernetes 负载均衡 Cloud Native
云原生架构下的微服务治理策略
随着云原生技术的不断成熟,微服务架构已成为现代应用开发的主流选择。本文探讨了在云原生环境下实施微服务治理的策略和方法,重点分析了服务发现、负载均衡、故障恢复和配置管理等关键技术点,以及如何利用Kubernetes等容器编排工具来优化微服务的部署和管理。文章旨在为开发者提供一套实用的微服务治理框架,帮助其在复杂的云环境中构建高效、可靠的分布式系统。
19 5
|
5天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
6天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
6天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
6天前
|
安全 持续交付 Docker
微服务架构和 Docker 容器化部署的优点是什么?
微服务架构和 Docker 容器化部署的优点是什么?

相关产品

  • 函数计算