云原生架构技术之无服务器技术

本文涉及的产品
简介: 当这些BaaS云服务日趋完善时,无服务器技术(Serverless)因为屏蔽了服务器的各种运维复杂度,让开发人员可以将更多精力用于业务逻辑设计与实现,而逐渐成为云原生主流技术之一。

1.技术特点

1.1面向特定领域的后端云服务(BaaS)  

       随着以Kubernetes为代表的云原生技术成为云计算的容器界面,Kubernetes成为云计算的新一代操作系统。面向特定领域的后端云服务(BaaS)则是这个操作系统上的服务API,存储、数据库、中间件、大数据、AI等领域的大量产品与技术都开始提供全托管的云形态服务,如今越来越多用户已习惯使用云服务,而不是自己搭建存储系统、部署数据库软件。

1.2无服务器技术(Serverless)

       当这些BaaS云服务日趋完善时,无服务器技术(Serverless)因为屏蔽了服务器的各种运维复杂度,让开发人员可以将更多精力用于业务逻辑设计与实现,而逐渐成为云原生主流技术之一。Serverless计算包含以下特征:

       (1)全托管的计算服务,客户只需要编写代码构建应用,无需关注同质化的、负担繁重的基于服务器等基础设施的开发、运维、安全、高可用等工作;

       (2)通用性,结合云BaaSAPI的能力,能够支撑云上所有重要类型的应用;

       (3)自动弹性伸缩,让用户无需为资源使用提前进行容量规划;

       (4)按量计费,让企业使用成本得有效降低,无需为闲置资源付费。  

1.3函数计算(FaaS)  

       函数计算(Function as a Service,FaaS)是Serverless中最具代表性的产品形态。通过把应用逻辑拆分多个函数,每个函数都通过事件驱动的方式触发执行,例如,当对象存储(OSS)中产生的上传/删除对象等事件,能够自动、可靠地触发FaaS函数处理且每个环节都是弹性和高可用的,客户能够快速实现大规模数据的实时并行处理。同样,通过消息中间件和函数计算的集成,客户可以快速实现大规模消息的实时处理。

       目前函数计算这种Serverless形态在普及方面仍存在一定困难,例如:

       (1)函数编程以事件驱动方式执行,这在应用架构、开发习惯方面,以及研发交付流程上都会有比较大的改变。

       (2)函数编程的生态仍不够成熟,应用开发者和企业内部的研发流程需要重新适配。

       (3)细颗粒度的函数运行也引发了新技术挑战,比如冷启动会导致应用响应延迟,按需建立数据库连接成本高等。

       针对这些情况,在Serverless计算中又诞生出更多其他形式的服务形态,典型的就是和容器技术进行融合创新,通过良好的可移植性,容器化的应用能够无差别的运行在开发机、自建机房以及公有云环境中;基于容器工具链能够加快解决Serverless的交付。如案例云提供了弹性容器实例(ECI)以及更上层的Serverless引擎(SAE),Google提供了CloudRun服务,这都帮助用户专注于容器化应用构建,而无须关心基础设施的管理成本。

2.技术关注点

2.1计算资源弹性调度

        为了实现精准、实时的实例伸缩和放置,必须把应用负载的特征作为资源调度依据,使用“白盒”调度策略,由Serverless平台负责管理应用所需的计算资源。平台要能够识别应用特征,在负载快速上升时,及时扩容计算资源,保证应用性能稳定;在负载下降时,及时回收计算资源,加快资源在不同租户函数间的流转,提高数据中心利用率。

2.2负载均衡和流控

        资源调度服务是|Serverless系统的关键链路。为了支撑每秒近百万次的资源调度请求,系统需要对资源调度服务的负载进行分片,横向扩展到多台机器上,避免单点瓶颈。分片管理器通过监控整个集群的分片和服务器负载情况,执行分片的迁移、分裂、合并操作,从而实现集群处理能力的横向扩展和负载均衡。

       在多租户环境下,流量隔离控制是保证服务质量的关键。由于用户是按实际使用的资源付费,因此计算资源要通过被不同用户的不同应用共享来降低系统成本。这就需要系统具备出色的隔离能力,避免应用相互干扰。

2.3安全性  

        Serverless计算平台的定位是通用计算服务,要能执行任意用户代码,因此安全是不可逾越的底线。系统应从权限管理、网络安全、数据安全、运行时安全等各个维度全面保障应用的安全性。轻量安全容器等新的虚拟化技术实现了更小的资源隔离粒度、更快的启动速度、更小的系统开销,使数据中心的资源使用变得更加细粒度和动态化,从而更充分地利用碎片化资源。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
5天前
|
监控 Cloud Native 开发者
云原生技术浪潮下的微服务架构实践
云原生技术正引领着现代软件开发的潮流,其中微服务架构作为其核心理念之一,为复杂应用提供了灵活、可扩展的解决方案。本文将探讨在云原生环境下实施微服务架构的策略和挑战,并结合实际案例分析微服务设计的最佳实践,旨在为开发者提供一套可行的微服务部署与管理指南。
|
1天前
|
运维 Cloud Native 持续交付
云原生技术:现代应用架构的未来
在当今数字化转型的浪潮中,云原生技术成为企业加速创新和扩展业务的核心。本文探讨了云原生技术的定义、优势及其在现代应用架构中的关键作用。通过深入分析容器化、微服务架构和持续交付等关键技术,揭示了云原生技术如何为企业提供灵活性、可靠性和可扩展性,从而实现更高效的软件开发和部署流程。
47 0
|
1天前
|
敏捷开发 Cloud Native 持续交付
云原生技术:未来软件开发的引擎
【6月更文挑战第16天】本文深入探讨了云原生技术如何成为现代软件开发的核心驱动力。通过分析其定义、优势及实际应用案例,揭示了云原生如何助力企业实现敏捷开发、降低成本并提升系统稳定性。
|
3天前
|
运维 Cloud Native 持续交付
探索云端未来:云原生技术的革命性影响
【6月更文挑战第14天】本文深入探讨了云原生技术如何重塑现代软件开发、部署和运维的景观。通过分析容器化、微服务架构以及持续集成/持续部署(CI/CD)等核心概念,揭示了这一技术趋势如何促进敏捷性和可扩展性,同时降低企业的运营成本。
|
3天前
|
运维 Cloud Native 云计算
云原生技术:推动企业数字化转型的引擎
【6月更文挑战第14天】随着云计算技术的飞速发展,云原生技术已经成为了推动企业数字化转型的重要引擎。本文将深入探讨云原生技术的概念、优势以及在企业中的应用,帮助企业更好地理解和利用这一技术,实现数字化转型。
|
3天前
|
存储 人工智能 NoSQL
探索数据库技术的奥秘:从基础架构到前沿应用
一、引言 在数字化时代,数据库技术作为信息管理的基石,已经渗透到我们生活的方方面面
|
3天前
|
存储 SQL Cloud Native
揭秘数据库技术的核心与未来:从架构到应用
一、引言 数据库技术是当代信息系统中不可或缺的一部分,它为企业和个人提供了可靠、高效的数据管理解决方案
|
3天前
|
存储 Cloud Native 物联网
数据库技术前沿探索:架构、优化与行业实践
一、引言 在信息化和数字化的浪潮中,数据库技术作为企业核心竞争力的关键要素,其重要性不言而喻
|
4天前
|
存储 SQL 数据库
数据库技术探索:基础架构、应用场景与未来展望
一、引言 数据库技术是信息时代的基石,为企业和组织提供了数据存储、检索、分析和管理的核心支撑
|
4天前
|
运维 Cloud Native 持续交付
云原生技术:构建现代应用的基石
【6月更文挑战第13天】本文深入探讨了云原生技术的核心概念、优势以及在现代应用开发中的关键作用。我们将分析云原生如何通过容器化、微服务架构和持续集成/持续部署(CI/CD)等原则,为开发者提供灵活性、可扩展性及高效的运维模式,从而推动企业数字化转型和创新。

热门文章

最新文章