Skip to main content

· 8 min read
Ethan
引言

自己搭建Elasticsearch确实是一件相对简单的事情,特别是对于有一定技术基础的人来说。通过下载适当的安装包,按照官方文档或者一些优秀的教程进行步骤操作,就可以比较轻松地搭建起一个基本的Elasticsearch集群。

然而,尽管搭建过程可能相对简单,但在实际应用中,烦恼也会随之而来。

Elasticsearch on Windows

很多初学者为了图方便把Elasticsearch生产集群部署在windows上,导致集群的性能低下和不稳定性增加。

内核差异: Windows和Linux操作系统在内核设计和优化上存在显著差异。Linux内核针对服务器工作负载进行了优化,包括网络、磁盘I/O等方面,而Windows则更多地关注桌面用户和通用应用程序的需求。

文件系统: Elasticsearch对文件系统的使用非常频繁,包括索引数据的存储和搜索过程中的临时文件创建等。Linux的文件系统(如Ext4)在处理大量小文件时通常比Windows的NTFS文件系统更高效。

线程管理: Linux内核采用了完全抢占式调度模型,即任何时刻都可以强制性地中断当前运行的线程,并调度其他线程执行。这种调度模型可以更好地利用多核处理器,并提高系统的响应速度和并发性能。而Windows内核的线程调度算法可能更为保守,并不能适应Elasticsearch的高并发处理。

内存管理:Linux操作系统具有高度灵活的内存管理和调度机制。例如虚拟内存、页面置换算法、内存压缩等,以优化内存的使用和管理。Linux内核可以根据系统的负载情况和应用程序的需求,动态地分配和回收内存资源,以确保系统的性能和稳定性。Windows操作系统的内存调度策略和页面置换算法可能较为传统,并未采用最新的优化算法,从而会限制Elasticsearch对内存的利用率和性能。

结论

综合考虑 Linux操作系统更适合作为运行生产级Elasticsearch的平台,能够为Elasticsearch提供更好的性能和稳定性支持。

Linux部署优化

讲完了windows,在Linux下自建Elasticsearch时,也会面临一些潜在的挑战和坑,特别是对于初学者或者缺乏经验的用户。Linux内核有许多参数可以调整,以优化系统的性能和稳定性。例如,可以调整文件描述符限制、内核参数(如vm.max_map_count、vm.swappiness等)和TCP参数等。

  • 文件系统选择:在选择文件系统时,可以考虑使用性能较好的文件系统,如XFS或者ext4。同时,调整文件系统的挂载选项和缓冲策略,以提高磁盘IO性能。
  • JVM调优:Elasticsearch运行在Java虚拟机(JVM)上,因此需要对JVM进行调优以提高其性能。可以调整JVM的堆内存大小、垃圾回收器类型和参数,以及线程栈大小等。
  • Swappiness设置:在Linux系统上,可以通过调整swappiness值来控制内存页交换的频率。对于Elasticsearch来说,通常希望尽量减少内存交换,因此可以将swappiness值调整为较低的值。
  • 网络调优:针对Elasticsearch集群的通信和数据传输,可以调整Linux系统的网络参数以优化网络性能。这包括调整TCP缓冲区大小、TCP拥塞控制算法和网络队列大小等。
  • 安全设置:在优化操作系统时,也需要考虑安全性。确保系统的防火墙规则、用户权限和访问控制设置是合理的,并且系统是最新的补丁和安全更新。
  • 定时任务和系统服务:确保系统中没有不必要的定时任务和系统服务运行,以减少对系统资源的占用。可以禁用不需要的服务或者将其调整为按需启动。
  • 监控和日志管理:部署监控工具来实时监控系统的运行状况,并配置日志管理策略以便及时发现和解决问题。这包括收集和分析Elasticsearch的日志、指标和事件等。

总结

总结来说,对于许多不太熟悉的用户来说,选择更为专业的Elasticsearch Serverless是一个更好的选择。

  • 简化管理: 用户无需自行搭建和管理Elasticsearch集群,减少了部署和维护的工作量,降低了运维成本。
  • 弹性伸缩: Serverless架构可根据实际需求自动伸缩,无需手动调整集群规模,提供了更高的弹性和灵活性。
  • 成本节约: 用户仅需根据实际使用的资源量付费,避免了长期绑定资源造成的资源浪费,节约了成本。
  • 高可用性: Elasticsearch Serverless通常由云服务提供商管理,具备高可用性和可靠性,降低了单点故障的风险。
  • 专注业务需求: 用户可以更专注于业务需求,无需过多关注底层基础设施的管理和维护,提高了开发和运营效率。

综上所述,选择Elasticsearch Serverless能够帮助用户简化管理、提高弹性、节约成本、提高可用性,并使用户能够更专注于业务需求,从而获得更好的开发和使用体验。

· 7 min read
Ethan
引言

本文将介绍纳速云扩展Elasticsearch数据权限的实现原理,适合具备高级 Elasticsearch 开发技能的开发者。阅读者需要熟悉 Elasticsearch 的核心概念,具备相关的编程和调试能力。

在Elasticsearch中添加权限控制可以起到以下作用:

  1. 数据保护:对于敏感的数据,例如用户信息、支付记录等。通过实施权限控制,可以确保只有经过授权的用户能够访问这些数据,从而保护数据的安全性和隐私。
  2. 避免误操作:在一个团队或组织中,不同的人可能具有不同的职责和权限需求。通过权限控制,可以限制用户只能执行其职责范围内的操作,避免误操作导致的数据丢失或损坏。
  3. 合规性要求:许多行业和法规对数据访问和处理提出了严格的要求。通过实施权限控制,可以确保组织符合相关的合规性标准,避免可能的法律责任和罚款。
  4. 防止未经授权的访问:没有权限控制的系统容易受到未经授权的访问和攻击。通过实施权限控制,可以有效地防止未经授权的用户访问系统,并提高系统的安全性。
  5. 数据完整性:通过权限控制,可以限制用户对数据的修改和删除操作,从而保护数据的完整性,防止数据被恶意篡改或损坏。

综上所述,添加权限控制是保护数据安全、确保系统运行稳定、满足合规性要求的关键措施,对于任何需要保护数据安全和确保系统稳定的环境都是必不可少的。

实现思路

info

ACL权限策略表 : 通过扩展Elasticsearch 元数据(cluster_state metadata) 实现ACL规则的注册与管理维护机制。
引擎权限检测钩子: 实现自定义引擎,通过钩子从ACL表获取当前索引权限,检测引擎操作是否被允许。

Engine Plugin

Elasticsearch的Engine Plugin是一种插件,它允许开发人员通过自定义索引内核引擎来扩展Elasticsearch的核心功能。Engine Plugin允许你以更底层的方式介入Elasticsearch的索引和搜索过程。

public interface EnginePlugin {

Optional<EngineFactory> getEngineFactory(IndexSettings indexSettings);

}

 实现自己的Elasticsearch 引擎插件

public class CloudPlugin extends Plugin implements EnginePlugin {

public Optional<EngineFactory> getEngineFactory(final IndexSettings indexSettings) {
return Optional.of(config -> new PermissionInternalEngine(config);
}

}

自定义引擎,放置钩子,添加权限检测

通过覆盖索引策略和删除策略,增加Checker拦截机制

public class PermissionInternalEngine extends InternalEngine {

/**
* 返回 EngineOperation 是否被允许
*/
Function<EngineOperation, Boolean> checker;

public PermissionInternalEngine(EngineConfig engineConfig, Function<EngineOperation, Boolean> checker) {
super(engineConfig);
this.checker = checker;
}

/**
* 索引策略
*/
@Override
protected IndexingStrategy indexingStrategyForOperation(final Index index) throws IOException {
boolean allowed = checker.apply(new EngineOperation(shardId.getIndexName(), index.version(), index));
if (allowed == false) {
final PermissionEngineException error = new PermissionEngineException(shardId, index.seqNo(), lookupPrimaryTerm(index.seqNo()));
return IndexingStrategy.skipDueToVersionConflict(error, false, index.version());
} else {
return super.indexingStrategyForOperation(index);
}
}

/**
* 删除策略
*/
protected InternalEngine.DeletionStrategy deletionStrategyForOperation(final Delete delete) throws IOException {
boolean allowed = checker.apply(new EngineOperation(shardId.getIndexName(), Versions.MATCH_DELETED, delete));
if (allowed == false) {
final PermissionEngineException error = new PermissionEngineException(shardId, delete.seqNo(), lookupPrimaryTerm(delete.seqNo()));
return DeletionStrategy.skipDueToVersionConflict(error, delete.version(), false);
} else {
return super.deletionStrategyForOperation(delete);
}
}
...
}

ACL 权限策略设计

这里设计一种枚举类型,代表是否能创建、更新、删除文档,然后通过组合构建不同的权限策略

public enum PermissionPolicy {

/*
* 不允许新增、修改、删除
*/
STRICT(false, false, false),
/*
* 仅允许新增,不允许更新、删除
*/
ALLOW_APPEND_ONLY(true, false, false),
/*
* 允许新增、更新,不允许删除
*/
ALLOW_CREATE_UPDATE(true, true, false),
/*
* 仅允许更新,不允许新增、删除
*/
ALLOW_UPDATE_ONLY(false, true, false),
/**
* 仅允许删除,不允许新增、更新
*/
ALLOW_DELETE_ONLY(false, false, true);

private final boolean create;
private final boolean update;
private final boolean delete;

PermissionPolicy(boolean create, boolean update, boolean delete) {
this.create = create;
this.update = update;
this.delete = delete;
}

public boolean canCreate() {
return create;
}

public boolean canUpdate() {
return update;
}

public boolean canDelete() {
return delete;
}

public static PermissionPolicy fromString(String str) {
if ("STRICT".equalsIgnoreCase(str)) {
return STRICT;
} else if ("ALLOW_APPEND_ONLY".equalsIgnoreCase(str)) {
return ALLOW_APPEND_ONLY;
} else if ("ALLOW_UPDATE_ONLY".equalsIgnoreCase(str)) {
return ALLOW_UPDATE_ONLY;
} else if ("ALLOW_CREATE_UPDATE".equalsIgnoreCase(str)) {
return ALLOW_CREATE_UPDATE;
} else if ("ALLOW_DELETE_ONLY".equalsIgnoreCase(str)) {
return ALLOW_DELETE_ONLY;
}
throw new IllegalArgumentException("unkonw operation policy : " + str);
}

}

 索引权限策略

通过定义索引名或索引模式挂接到策略

/**
* 索引权限策略
*/

public class IndexPermissionPolicy {

private final PermissionPolicy policy;
private final String pattern;

public IndexPermissionPolicy(PermissionPolicy policy, String pattern) {
this.policy = policy;
this.pattern = pattern;
}

public boolean isEmpty() {
return policy == null && pattern == null;
}

public static IndexPermissionPolicy EMPTY = new IndexPermissionPolicy(null, null);

/**
* 引擎层权限检查
*
* @param index index
* @param version version
* @param operation operation
* @return allowed
*/
public boolean canEngineOperation(String index, long version, Engine.Operation operation) {
if (Regex.simpleMatch(pattern, index) == false) {
return true;
}
switch (operation.operationType()) {
case INDEX:
return version == 1 ? policy.canCreate() : policy.canUpdate();
case DELETE:
return policy.canDelete();
}
return true;
}

/**
* DDL检查 是否允许删除索引
*
* @param index index
* @return allowed
*/
public boolean canDeleteIndex(String index) {
boolean matched = Regex.simpleMatch(pattern, index) || Regex.simpleMatch(index, pattern);
return matched ? policy.canDelete() : true;
}

@Override
public String toString() {
return policy == null ? null : policy + ":" + pattern;
}

}

通过以上步骤,你可以成功地实现一个定制化的Elasticsearch引擎插件,以满足特定的业务需求或功能需求。总的来说,ES Engine Plugin提供了一种灵活和强大的方式,允许开发人员定制和扩展Elasticsearch的核心引擎功能,从而实现各种高级功能和定制化需求。

· 3 min read
Ethan
墨菲定理

“ 如果有什么可能出错,那么它就一定会出错。”

想象一下,你是一个公司的数据管理员,负责管理Elasticsearch里的所有数据。一天,你心血来潮,准备对一些旧数据进行清理。但是,不小心执行了 DELETE ,把一重要数据索引都给删掉了!

误删数据可不是闹着玩的。首先,你丢失了一堆宝贵的数据,像是客户信息、产品资料,甚至是销售报告。这就好像你把公司的保险柜里的宝藏都给扔了!另外,误删数据可能会给公司的业务造成严重影响,比如订单信息丢失导致混乱,或者客户资料丢失导致无法联系到重要客户。

“怎么办?” 你可能会尝试使用磁盘恢复工具或者从备份中恢复数据,但是往往事与愿违,因为元数据一旦被删,集群是无法识别这一堆二进制文件的。

要避免类似情况再次发生,首先我们需要建立安全意识,清楚误删数据的严重性以及如何避免这种情况的发生。同时,结合合适的工具也是必不可少的。为此,纳速云提供了一系列安全保护工具。

为重要索引设置为「 仅允许写入 」

进入纳速云控制台的 数据保护 , 为 account* 索引设置仅读写权限

设置权限后 account* 索引将会拒绝索引级和数据级的删除操作

总结

利用纳速云提供的安全功能来增强您的数据安全性。该模块还包括设置访问控制列表(ACL)、加密通信,读取混淆等功能,以保护数据免受未经授权的访问和操作。

通过建立安全意识并结合合适的工具,可以有效地降低误删数据的风险,并保护Elasticsearch中的数据安全和完整性。这样可以确保企业能够更加安全地管理和操作数据,避免因误操作而导致的损失和风险。

实现原理见 ES内核开发:数据权限实现原理

· 4 min read

“ 今天,我们激动地宣布纳速云3.0的正式发布!作为企业级搜索云服务的引领者,纳速云一直致力于为用户提供卓越的云体验。”

1. 可视化图表

首先,纳速云3.0在可视化图表方面表现出了强大的实力。新版本提供了丰富的图表类型和强大的数据可视化功能,帮助您直观地了解数据,轻松洞察数据背后的价值。

简单(Simplicity)

  • 直观性设计:全拖拽设计,使您能够迅速理解和使用,无需复杂的培训。
  • 简洁的界面:界面布局清晰简洁,避免过多的复杂元素,确保轻松操作。

便捷(Convenience)

  • 快速访问:直观的菜单选项、快捷键还是其他便捷的访问方式。
  • 自定义选项:提供用户自定义的选项,定制图表个性化展示。

高效(Efficiency)

数据即时更新:具备实时数据更新的能力,确保用户获得最新的数据。 快速响应:用户的操作应该能够迅速触发相应的可视化效果,提高用户体验。

丰富(Richness)

多样化图表:提供丰富多样的图表选项,满足数据不同的呈现方式。 交互性:放大、缩小、筛选等,使您用户能够深入挖掘数据并获得更全面的信息。

2. 监控告警

其次,纳速云3.0新增了监控告警功能。这一功能支持您添加自定义查询,通过周期性的检测,一旦发现超出阈值,系统将立即发送通知到您的手机或邮箱,提醒您及时处理。

3. 跨云恢复

此外,纳速云3.0还增加了容灾备份能力。在数据安全日益受到关注的今天,容灾备份显得尤为重要。纳速云3.0通过强大的容灾备份功能,确保数据安全可靠,即使在极端情况下也能迅速恢复数据,让您无需担心数据丢失。

一行命令将云上数据恢复到本地集群

curl -XPUT 'http://localhost:9200/_snapshot/oss' \
-H 'Content-Type: application/json' \
-d '
{
"type": "oss",
"settings": {
"username": "youre_username",
"password": "youre_password"
}
}'

curl -XPOST http://localhost:9200/_snapshot/oss/{快照ID}/_restore

更多

感谢您对纳速云平台3.0发布的关注!我们希望这次升级能够为您带来更强大、更便捷的使用体验。不仅引入了可视化图表、一键报警、跨云灾备等新功能,更为新客户提供了独家的2折起首购特惠

欢迎各位用户对纳速云继续提出使用反馈和优化意见,我们会持续优化更新,致力于为用户提供更优秀的产品功能和更极致的使用体验!

· 4 min read
擎天

日志记录可以在开发和排查问题时提供重要线索。Elasticsearch 的日志功能非常强大,可以捕捉许多有用的信息,包括应用错误日志,接口执行耗时,网络连接状态等。在开发环境中启用日志可以提高调试效率,而在生产环境中启用日志可以帮助快速定位和解决问题。

日志场景特点

  1. 写入吞吐高:持续写入数据量大,呈线性增长趋势;
  2. 存储数据量大:日志数据需要保留较长的存储周期,通常每月存储量在上百个GB;
  3. 冷热特性明显:日志排查倾向访问近期数据,历史数据常用于使用评率较低的统计分析;
  4. 实时性查询:日志场景通常会作为应用服务的问题排查,或监控数据的大盘展示,因此查询延迟的实时性直接影响用户端的体验;

优化策略

1.按照日期规划索引

索引名设计为按天翻滚的策略 log-2023.06.01log-2023.06.02log-2023.06.03 ...

带来的好处:

  • 如指定时段的日志分析,可通过前置过滤规避大量范围外的索引,提升检索效率。
  • 利于索引的生命周期管理,定期迁移冷热存储层及删除过期索引。

2. 合理设计索引结构

通过索引模板,统一规范日志索引结构化数据。

  1. 字符串字段:ES默认的行为会将字符串字段转化为keyword + text的嵌套结构字段,造成索引量翻倍。 我们可以通过dynamic_templates将字符串类型数据默认转化为keyword类型。大文本字段依旧采用text,节省存储空间。
  2. 数值字段 : ES的数值类型(long、integer)在term关键词查询的效率远低于keyword类型。因此具备数值特性的字段如果不需要范围查找,建议统一设置为keyword类型。
  3. 压缩优化 : "codec": "best_compression" 启用压缩算法提高存储效率节省空间。
  4. 写入优化 :"refresh_interval": "60s" 每隔60s刷新数据可见性,提升写入效率。

template示例
POST _template/log-template
{
"order": 0,
"index_patterns": [
"log-*"
],
"settings": {
"index": {
"number_of_shards": "1",
"refresh_interval": "60s",
"codec": "best_compression"
}
},
"mappings": {
"_doc": {
"dynamic_templates": [
{
"strings_as_keyword": {
"mapping": {
"ignore_above": 1024,
"type": "keyword"
},
"match_mapping_type": "string"
}
}
],
"properties": {
"message": {
"type": "text"
},
"@timestamp": {
"type": "date"
}
}
}
},
"aliases": {}
}

3. 设置索引生命周期

通过纳速云控制台-存储管理-生命周期管理,定期将日志索引数据进行冷热迁移并进行索引分段合并,降低存储成本。

tip

在纳速云平台冷存储相对热存储能节省近10倍的存储成本。

结语

综上所述,通过采取一些适当的日志场景优化措施,可以在保证日志记录准确性的前提下,减少日志的大小和数量,降低日志记录的成本和风险。

· 2 min read
擎天

PrettyUI

一款简单的搜索UI打造神器,具有布局排版、数据块渲染、表格、过滤器、排序、分页、自定义Query等核心功能。通过拖拉拽的操作方式,帮助您快速制作专业的搜索界面。

Features 👍

  • 快速高效:所见即所得的可视化编辑器,自由拖拽布局,实时渲染。
  • 功能完备:丰富的过滤器组件,支持灵活多样的数据筛选功能。
  • 可自定义渲染,数据渲染采用内嵌 handlebars 模板语言,结合html实现灵活的展示样式。
  • 可自定义搜索行为,支持自定义 Elasticserch DSL 插拔,满足个性化搜索需求。

演示

使用 💖

开始动手把,采用正确的姿势为Elasticsearch索引打造美观的UI,为你的客户带来极致体验。 前往使用指南

· 3 min read

各位纳速云开发用户:

感谢大家一直以来对纳速云的支持。为了继续为各位提供稳定可靠的服务,纳速云将于 2023 年 05 月 22 日,对计费方式进行如下变更:

总体依旧采用 “基础套餐+按量付费” 模式

基础套餐

  1. 免费版:免费试用 14 天后可升级到正式版本,使用阶段无资源限制,并提供对所有功能的完整访问,方便于大规模业务的成本评估。免费期限结束后,若2天内未升级到正式版本,系统将判定为无效应用,并进行资源的回收清理,且数据不可恢复。
  2. 迷你版新增版本 套餐费仅100元/月,方便小规模业务的成本节省。
  3. 专业版:价格不变,功能模块保留 Kibana 、PrettyUI 及 Crawler 主流产品。
  4. 企业版:总体无变化,依旧提供对所有功能的完整访问及新特性的第一时间开放。

详情见 产品套餐页

按量付费

  1. 计费项简化,去除 API访问次数外网流量 两个计费项。
  2. 计算量 结束优惠计划,和 热存储冷存储 统一采用阶梯计价的方式。

详情见 资源计费页

SLA 服务保障

为了您的线上业务得到更好的保障标准,我们制定了更详细的服务保障计划。

详情见 SLA 服务保障

结语

纳速云将继续为各位用户提供简单易用、高可靠且安全的云搜索服务,感谢大家的支持。

· 2 min read
nasuyun

Nasuyun Cralwer 可以为您的网站,博客或网站集合创建搜索引擎。您可以配置搜索引擎来搜索网页,也可以自定义搜索结果的外观,搜索提示建议等。整个过程非常简单,无需编程开发。

创建一个站点

抓取网站

下载组件

网站抓取完成后,选择新建的站点别名,构造一个搜索框组件。

下载组件,从本地打开,即可看到搜索结果。

项目集成

下载组件,将index.html内的代码复制到你的项目里,完成搜索框集成。

<html>
<header>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-theme-classic" />
<script src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-js"></script>
<script src="https://cdn.jsdelivr.net/gh/nasuyun/cdn@latest/sitesearch.js"></script>
<style>
<!-- 自定义样式 -->
.aa-itemContentDescription {
font-size: 14px;
color: rgb(160, 160, 160);
margin-bottom: 6px;
}
</style>
</header>
<div style="width: 100%">
<div id="autocomplete" compid="fBiFb4c*************_" token="ZW50ZXJtZTpiZ********nRQdH********JhZXBUWg=="></div>
</div>

</html>

自定义搜索框

自定义控制搜索展示样式或行为,修改即生效,无需重新下载组件。

· 2 min read
nasuyun

纳速云 Elasticsearch Serverless 即将集成最流行的数据可视化平台 Superset

正所谓好马需配好鞍,一款出色的可视化工具自然要搭配强劲的后端才能发挥出最大功力,如今 你可以搭载纳速云超强性能NES,即便是亿万数据也能秒级分析。

What is Superset

Github地址:https://github.com/airbnb/superset (Star 5万+)

Apache Superset(Incubating)是一个现代的数据探索和数据可视化平台,可以取代或增强许多团队的专有商业智能工具:

Superset 在 Kubernetes 内的 Airbnb 生产环境中运行,为每天查看超过 10 万张图表的 600 多名活跃用户提供服务。

功能包括:

  • 直观的界面,用于可视化数据集和制作交互式仪表板。
  • 一个用于准备可视化数据的SQL IDE,包括一个丰富的元数据浏览器。
  • 轻量级的语义层,使数据分析人员可以快速定义自定义维度和指标。
  • 无缝的内存中异步缓存和查询。
  • 一种可扩展的安全模型,允许配置关于谁可以访问哪些产品功能和数据集的非常复杂的规则。
  • 用于程序化定制的API。
  • 专为规模而设计的云原生架构。
  • 通知警报和计划的报告

纳速云集成

tip

注意 应用版本需要 Elasticsearch 7 才能使用 Superset

集成进度:线上测试阶段

· 5 min read

以产品为导向的增长(Product-Led Growth),产品是主要驱动力:买家无需与客户经理打交道,而是创建一个帐户并立即开始使用该服务。PLG是一种策略,它侧重于将产品本身作为公司增长的主要驱动力,而不是投资于昂贵而复杂的营销活动。当你想吸引新用户时,你可以通过提升产品契合度来迎合他们,而不是发送一个措辞华丽的实时消息,试图说服他们购买。

纳速云目前也是采用产品主导增长:没有销售,没有BD,同时我们也在保持一种克制,所有的产品不会出现客服弹出框,没有诱导性的购买引导页,我们希望尽可能的不打扰用户,让其在安静的环境下体验产品,帮助客户了解产品是否适合他们。

订阅定价将被替代

价值模式

在日常生活中,我们的大部分交易都是基于按使用付费的。当我们去超市时,我们会为带回家吃的食物付钱。我们的电费与我们在家中使用的能源量相对应。你向的士司机支付你旅行的里程数,并向酒店支付你的居住天数。为什么软件应该有所不同?

目前大部分云服务提供商主流的订阅付费模式(包月包年),最初是为了打破由销售驱动的许可证模式(License mode)。承诺是客户将能够随着使用规模的增长/缩小或需求的变化而修改续订。这让供应商与客户保持互动并满足客户的需求——因为如果客户不满意,他们可以随时取消订阅。

但今天的现实是,这些订阅模式看起来很像过去繁琐的许可交易模式。几乎所有供应商都提供大量激励措施,试图锁定客户进行年度订阅,有时甚至更长时间。这将导致大量的僵尸软件(例如,公司为他们不再使用的软件付费),这对客户来说是一种负面体验,进而导致最终流失,这对供应商来说是一种负面体验。

简而言之:订阅模式无法在支付的金额和交付的价值之间相对应,客户需要更灵活和透明的计费模式。

PLG 的按量付费模型

纳速云全面采用按量付费模式,我们更注重交付给用户的实际价值,并只为实际产生的价值付费。

同时我们认为,用户只有简单清晰的了解成本的结构以及趋势,才能做到真正的“心中有数”。

透明且易于理解的账单是信任的基础

不受约束

任何以优惠绑架用户的行为是我们所不倡导的,在这里 你可以随时自由的终止使用,并立即结束一切计费。

综上所述

我们越来越多地看到未来将转向自助服务模式。软件买家,尤其是00后和年轻一代,更喜欢自助服务选项,而不是与销售人员打交道。这呼应了用户不再希望被“卖给”的趋势,而是希望帮助他们尽快、轻松地感受软件本身的价值。

通过提供自助服务渠道,用户可以按照自己的节奏按他们喜欢的方式与产品互动。与传统的酒局文化或会议决策相比,能够立即体验产品并将其应用于实际工作中,将成为未来更高效的服务模式。