深度解读阿里云 Elasticsearch Serverless 服务如何实现超高性价比

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 阿里云 Elasticsearch Serverless 商业化版本正式上线,在帮助用户快速构建数据检索与分析应用的同时,提供按实际资源用量付费的付费体验,与自建相比大幅降低成本,助力用户快速上云!

阿里云 Elasticsearch Serverless 正式版上线,基于云原生 Serverless 技术,致力于为用户打造更低成本、弹性灵活、开放兼容、开箱即用的云上 Elasticsearch 使用体验。Elasticsearch Serverless 服务提供按实际资源用量的付费体验,相较于自建 Elasticsearch 固定规格的付费方式,可以大幅降低使用成本,最低仅需1元/天。


立即开通>>



1.背景介绍

1.1 关于 Elasticsearch

Elasticsearch 是业内最主流的信息检索、分析引擎,DB-Engine 指数排行“全球热度No.7数据库,全球热度No.1检索引擎”,被广泛应用于日志观测、检索与分析(如:运维监控、APM等)、结构化/非结构化数据检索(如:全文、图片、语音等)、数据分析和可视化(如:安全/业务/交易数据等)、结构化信息查询(如:ERP/CRM等系统)、空间检索(LBS/地图/O2O)等场景。不论是开发者,还是企业客户,都可以在以上场景使用Elasticsearch 。阿里云检索分析服务 Elasticsearch 版是基于开源 Elasticsearch 构建的全托管云服务,100%兼容开源功能。不仅提供云上开箱即用的 Elasticsearch、Logstash、Kibana、Beats 在内的 Elastic Stack 生态组件,还与 Elastic 官方合作提供免费 X-Pack(白金版高级特性)商业插件,集成了安全、SQL、机器学习、告警、监控等高级特性。近几年阿里云检索分析服务 Elasticsearch 版积累了非常多的用户,也基于用户使用产品过程中遇到的问题,持续打造优化产品能力,帮助用户更好的体验产品。


1.2 什么是 Serverless ?

广义定义:Serverless强调的是一种架构理念和服务模型,所谓的“无服务器”并不是“没有服务器”,而指构建和运行不需要服务器管理的应用程序概念。它描述了一种更细粒度的部署模型,其中将应用程序打包为一个或多个功能,上传到平台,然后执行、扩展和计费,以响应当时确切的需求。

—— CNCF WG-Serverless Whitepaper v1.0


用户不需要进行服务器配置、维护和更新,也不需要根据业务本身的流量做容量规划,可以专注应用程序业务逻辑本身,将机器的运维、部署、扩缩等工作交给云厂商进行统一的运维和管理,以便更好的进行业务开发。所以 Serverless 架构本质上是将基础资源抽象成各种服务,然后以API接口的方式提供给用户调用。它主要包含三个特征:

  • 弹得快:自动弹性伸缩,资源与负载动态匹配
  • 开发效率高:资源解耦和服务化,无须关注底层资源,降低开发与运维复杂性
  • 成本低:按服务的使用量计费


1.3 Elasticsearch 面临的业务挑战

上图列举了用户在使用 Elasticsearch 过程中面临的常见挑战。第一个是流量波峰问题。不管是游戏行业还是电商行业,经常会因为大促、发版等带来蜂拥请求,此类突发读写流量,在业务规划之初较难预估,大部分客户的解决方案是发现流量变高或者集群受到影响后再去扩容,众所周知,无论是自建还是云上Elasticsearch 扩容,都会面临机器调度问题,此外,在数据搬迁过程中扩容时间非常慢,很难在短时间内完成资源扩缩,就会对业务的稳定性造成影响。


与波峰对应的是由于业务波谷的成本浪费,因为有高峰期业务流量,用户不得不按照高峰期的业务水位评估集群资源,大部分时间就会面临业务低谷期,导致大量资源冗余。从云上数据来看,目前用户整体资源存在大量冗余,可能不到20%的资源使用率,带来成本的大量浪费。


无论是个人开发者还是企业客户,无论是自建还是云上Elasticsearch ,成本都是核心考量因素,很多企业内部也在强调降本策略,在保障业务稳定性的同时,进一步优化服务器资源成本的诉求日益强烈。


此外,很多企业在使用 Elasticsearch 的过程中,偏向于使用检索业务场景,项目团队没有专属运维支撑,开发团队既要保障业务需求快速迭代,又要承接意外不断的高强度运维工作,人力投入大, 开发门槛高。


以上是众多企业用户,包括中小型企业用户,在使用Elasticsearch的过程中所遇到的业务挑战。


2. 阿里云 Elasticsearch Serverless 介绍

2.1 阿里云 Elasticsearch Serverless 概述

2017年,阿里云与 Elastic 开展开源战略合作,发布云上 PAAS 版本 Elasticsearch,规模化支撑万核云上用户,并基于开源及云上用户使用 Elasticsearch 过程中的痛点问题,持续优化产品能力,升级产品形态。


2020年,阿里云 Elasticsearch 团队基于云原生内核进行了深度优化,在大规模计算、高读写QPS等场景下,成本和性能稳定性有了大幅度提升。


2023年,基于云原生技术架构打造的 Elasticsearch Serverless 服务化产品正式商业化,兼容 Elasticsearch 原生 API 及生态组件,提供简单易用、弹性灵活、开箱即用的产品体验。用户无须管理集群资源及配置,即可实现负载与资源的动态匹配,在快速响应业务变化的同时,合理优化使用成本。


对比 PAAS 版本,Elasticsearch Serverless 服务正式版即买即用,无需感知部署环境下的实际机器资源,应用可以实现自动扩缩容,只需为实际占用的资源付费,实现成本优化。


2.2 阿里云 Elasticsearch Serverless 核心能力

2.2.1 自动弹性扩缩

传统意义的弹性扩缩,是指当现有集群的资源无法承载压力时,通过手动调整集群的规模、分配相对应的资源;当集群负载较低时,系统可以尽量降低集群的资源配置从而减少闲置资源的浪费,以进一步节约成本开销。但实际上往往因为业务流量无法预测而无法及时扩容,另外在业务高峰期频繁的扩容可能会影响业务稳定性,另一方面,缩容策略通常相对保守,很难控制闲置资源的产生,所以传统扩缩容实施起来是有困难的。


阿里云 Elasticsearch Serverless 自动弹性扩缩,在用户侧的表现,取消了ES集群本身的容量规划过程,不再需要手动分配资源,不需要为服务的运行指定需要的资源(比如使用几台机器、多大的带宽、多大的磁盘等)平台会根据业务流量波动,自动调度决定资源的增加或缩减,秒级实现弹性扩缩,过程平滑,业务请求无需中断。


现阶段仍然需要用户指定固定的应用扩容范围,未来将进一步支持应用资源与配额的同时自动扩缩,理想情况是通过某些学习算法来进行完全自动的自适应分配作为 Serverless 架构带来的核心技术红利之一的弹性伸缩能力,在一定程度上也是提升资源利用率,朝着绿色计算的方向不断前进的过程。



2.2.2 低成本按量付费

Elasticsearch Serverless 打破了传统按规格计费方式,采用全新计费方式,根据计算资源和存储空间的实际使用量计费。


使用 Elasticsearch Serverless 服务,用户只需为业务负载实际消耗的资源支付费用。系统对计算资源用量和存储空间用量分别收费,其中计算资源用量由写入计算资源用量和查询计算资源用量组成。即单个Elasticsearch Serverles应用费用=写入计算资源费用+查询计算资源费用+存储空间费用。


Elasticsearch Serverless 服务默认使用按量付费的方式,按量付费是一种先使用后付费的计费方式,费用按每小时出账。


计费案例

某用户在小型网站建站场景使用Elasticsearch Serverless服务提供信息检索能力,Serverless应用一天内经历了8个小时的业务高峰,计算资源每小时平均使用了1.2 CU,最高峰值可达到2CU;其余时间写入和查询计算资源每小时均各使用了 0.1 CU,存储空间使用量始终为1 GB。


在此场景下,Serverless 一天总费用 = 计算资源费用+存储费用 = 5.1384 元(1.2 × 8 × 0.3975 + 0.2 × 16 × 0.3975 +1 × 0.0021 × 24); 对应业务流量,需自建ES 2核4GiB单节点实例才可完成任务,ECS自建一天费用= 9.6元(2核4GiB规格:0.407698/时售价)。使用Serverless成本节省高达50%!


2.2.3 简单免运维

对比自建 Elasticsearch,从资源准备到研发部署再到运维,Elasticsearch Serverless 版本可以快速交付业务,简化维护,降低人力资源投入。真正做到用户无感知、业务无影响、服务持续可用。


2.2.4 开放兼容

阿里云 Elasticsearch Serverless 支持 Elasticsearch 原生 API 和 Kibana 等生态组件对接,保留用户原有使用习惯,支持快速迁移至 Serverless 版本,助力业务快速上云

2.3 阿里云 Elasticsearch Serverless 架构解读

阿里云 Elasticsearch Serverless 整体架构主要由应用层、路由层、计算层、存储层、资源调度系统、基础运维系统构成。应用层完全开放给用户,支持 Elasticsearch Client、Kibana、Custom UI 等生态组件对接,兼容 Logstash 等上下游组件。路由层通过统一网关 Serverless Proxy ,主要承载鉴权、路由、流控等工作,提供整体服务的流量入口和访问鉴权控制。


Elasticsearch Serverless 服务的基础服务单元是应用,用户可以通过创建应用基于原生 Elasticsearch API或 Kibana 创建索引和读写数据。而底层的 Elasticsearch 集群资源,会由 Serverless 平台的资源调度系统进行集群和应用的关联分配、并进行相应的配额管控、弹伸控制等。而 Serverless 为用户提供了免运维能力的背后,也依赖着 Serverless 底层的基础运维系统,对底层 Elasticsearch 集群进行统一的生命周期管理、运维监控和升级优化等工作。

2.4 阿里云 Elasticsearch Serverless 演进方向

在弹性方面,Serverless 应用必须具有良好的可扩展性,以应对不断增长的数据量和请求量。目前 Serverless 应用计算资源上限2CU,也会根据计算资源上限有相关使用限制。后续会持续上线支持更高的弹性上限,即将上线的标准版支持最高24CU,并基于存储计算解耦架构,实现扩缩无须数据搬迁,提供高效资源调度、和更高的弹性效率保证


高可用性要求应用必须在任何时候都可以对外提供服务,确保高可用性,因此阿里云Elasticsearch Serverless会持续通过自研引擎特性,提供多维度的资源监控和限流、熔断能力,保证企业场景的服务稳定运行。同时,云上数据安全仍然是各个企业用户重点关注的话题,因此也会持续加固应用访问和数据的安全性,以提供更高的数据安全保证。


在易用性方面,Elasticsearch作为一个通用搜索引擎和数据分析工具,在搜索、信息检索、日志分析、全观测,安全等各种不同场景下,在后端部署拓扑结构、容量和资源大小配置、应用配置、数据类型与管理等方面都有不同,Serverless 服务应该为用户提供对应的场景选择,并根据最佳实践,配置场景对应所需的底层配置和管理。


在提供成熟 Elasticsearch Serverless 服务的同时,对于用于企业搜索、日志分析、全观测性、安全的场景,类似于像采集模块的Fleet集中管理能力、机器学习节点、数据处理管道 Logstash、APM 等,也应进一步提供 Serverless 模式,并且能够在界面上完成 Serverless 应用的端到端的配置,从而提供更多对场景化方案的延续。



3. 快速入门


点此查看视频教程 >>


3.1 创建应用

控制台顶部菜单栏选择地域-杭州


在左侧导航栏单击Elasticsearch Serverless服务


进入 Elasticsearch Serverless控制台,在左侧导航栏单击应用管理


在应用管理页单击创建应用


在创建应用面板,输入应用相关信息;包括应用名称、网络访问方式、公网访问白名单、用户密码等


单击创建按钮后,应用进入「创建中」状态,稍作等待直到应用状态变为「运行中」


单击应用名称进入应用详情页


在应用详情页查看应用基本信息和访问配置信息


3.2 使用 Kibana 创建索引并读写数据

单击控制台「访问kibana」按钮进入 Kibana 页面


在登录页输入用户名密码


在 Kibana 控制台选择 Dev Tools 进入 Console 控制台


通过示例代码创建一个名为 product_info 的索引,索引中包含 productName、annual_rate 和 describe 三个字段


返回结果显示索引创建成功


通过示例代码在索引中创建文档并插入数据


在索引中搜索数据


3.3 查看应用和索引监控数据

返回 Elasticsearch Serverless 控制台,进入监控中心页


刷新并查看应用维度和索引维度各项指标,快速了解应用和索引的读写资源消耗、存储用量情况


3.4 查看应用配额

在配额管理页,查看当前应用资源配额以及服务限制






相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1月前
|
监控 Serverless 测试技术
Serverless 应用引擎常见问题之做的web服务计费如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
407 3
|
1月前
|
运维 Serverless 调度
Serverless 应用引擎常见问题之资源使用完影响服务使用如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
23 0
|
1月前
|
监控 Serverless
函数计算(FC)作为一种无服务器的计算服务,在使用过程中可能会遇到各种问题
函数计算(FC)作为一种无服务器的计算服务,在使用过程中可能会遇到各种问题
21 4
|
6天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
33 3
|
5天前
|
存储 开发工具 对象存储
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
11 0
|
15天前
|
网络协议 Java 物联网
阿里云服务器上搭建 MQTT服务
阿里云服务器上搭建 MQTT服务
|
15天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
29天前
|
人工智能 监控 Serverless
如何基于ACK Serverless快速部署AI推理服务
通过上述步骤,可以在ACK Serverless上快速部署AI推理服务,实现高可用、弹性扩展的服务架构。
21 1
|
1月前
|
关系型数据库 MySQL Serverless
Serverless 应用引擎常见问题之新发布的服务 arms 没了如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
26 3
|
1月前
|
NoSQL 关系型数据库 数据库
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
【2月更文挑战第29天】数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
20 5

相关产品

  • 检索分析服务 Elasticsearch版