Guru 使用 Amazon OpenSearch Service 挖掘新商机

2021 年

Guru Technologies(Guru)是一家提供知识管理软件的初创企业,它使公司能够随时根据需要轻松获取内部信息,无论这些信息存储在何处。快速、相关的查询结果对 Guru 及其客户群体(包括 Slack、Noom、Nubank、Zoom Video Communications、Shopify 和 Spotify 等公司)始终至关重要。然而,随着 Guru 业务显著增长,特别是月活跃用户数量逐年大幅递增,该公司发现其自行管理的 Elasticsearch 解决方案在可扩展性、速度和可靠性方面,已无法满足企业持续大规模创新的需求。 

自 2014 年创立以来,Guru 就一直使用 Amazon Web Services(AWS)。此次,该公司再次向 AWS 寻求解决方案。使用 Amazon OpenSearch Service,这是一项托管服务,可以让您轻松地进行交互式日志分析、实时应用程序监控和网站搜索等工作。

Technology concept. 3D render
kr_quotemark

如果我们没有 [Amazon OpenSearch Service]、Amazon EMR 以及所有这些现成的工具可用于试验算法迭代,我们甚至没有足够的带宽来考虑是否这样做。”

Mitchell Stewart
首席技术官兼联合创始人
Guru Technologies

迁移至完全托管的 Elasticsearch

为了实施基于云的解决方案,Guru 从一开始就基于 AWS 构建其技术基础设施。该公司深知,云服务能够满足其在存储、扩展和弹性方面的需求,而在托管数据中心运行基础设施则需要在管理和容量扩展方面投入大量精力。“我们最初使用 AWS 时,目标就是实现基础设施即代码,这样就能自动启动我们的环境。”Guru 首席技术官兼联合创始人 Mitchell Stewart 表示。

该公司最初采用 AWS CloudFormation,该服务提供了一种简单的方式,通过将基础设施视为代码,为一系列相关的 AWS 及第三方资源建模,快速、一致地调配这些资源,并在其整个生命周期内进行管理。Guru 还利用了 Amazon Elastic Block Store(Amazon EBS),这是一种易于使用的高性能块存储服务,专为在 Amazon Elastic Compute Cloud(Amazon EC2)上使用而设计,可应对任何规模的吞吐量和事务密集型工作负载。“我们起步时的架构非常简单。”Stewart 说,“此后,在过去 7 年里,我们不断采用 AWS 发布的各种此类技术。我们的架构变得复杂了许多,但原则始终不变:AWS 持续提供完全托管的服务,解决了许多弹性和动态扩展问题,这样我们就无需自行解决这些难题。”

对 Guru 而言,Elasticsearch 的扩展问题就是其中一项挑战。该公司最初使用 Amazon EC2 进行计算,托管自己的 Elasticsearch 集群。“Elasticsearch 是我们产品的核心部分。”Stewart 说,“我们在其中投入了大量资源和精力,因为我们一直致力于通过为用户提供低延迟且精准的搜索结果来提升整体搜索性能。” 迁移到 Amazon OpenSearch Service 的决定主要是基于资源考量。“我们问自己,‘是要安排专门的员工来操心我们自己的 Elasticsearch 集群,’”Stewart 接着说,“‘还是希望由 Elasticsearch 服务来提供专业管理?’”

加速试验与创新

Guru 于 2020 年夏天启动了向 Amazon OpenSearch Service 的迁移工作,并在几个月后完成。短时间内,该公司就从迁移中收获了诸多益处。例如,该公司成功利用 Amazon EMR(这是一款行业领先的云大数据服务,可使用开源工具处理海量数据)开发了一个试验框架,以提升其搜索引擎的搜索结果精准度。这最终将帮助用户更快找到所需信息。

借助这个框架,Guru 能够开展许多快速且实用的测试。比如,公司可以启动一个应用了新算法的 Elasticsearch 新集群,并判断该集群的搜索结果精准度相比原生产集群是提升还是下降。Guru 能够测量和比较搜索结果精准度,部分原因在于 Amazon OpenSearch Service 支持该公司实时记录搜索查询。“如果我们没有 [Amazon OpenSearch Service]、Amazon EMR 以及所有这些现成的工具可用于试验算法迭代,我们甚至没有足够的带宽来考虑是否这样做。”Stewart 说。

此前,Guru 尝试的试验往往需要耗费数周甚至数月时间。但迁移到 AWS 环境后,该公司只需几小时甚至几分钟内就能完成试验。“以前每次要进行试验,我们都需要 DevOps 人员花 5 - 6 个小时来扩展环境,这样才能真正开始试验。”Guru 首席机器学习工程师 Nabin Mulepati 说,“现在我们只需要说‘给我 30 个节点’,一小时内就能得到一个准备好用于试验的集群。试验结束后,我们还能缩小规模,避免产生不必要的成本。”

从 2020 年秋季完成迁移到 2021 年初,Guru 开展的试验涉及重放近 5 亿次查询。这些试验使该公司的搜索性能提升了 10%。

即使 Guru 没有持续进行试验,托管的 Amazon OpenSearch Service 环境也让该公司的升级工作变得更加简单。“过去,我们无法利用 Elasticsearch 推出的新功能,这意味着我们无法为客户解决问题。”Guru 首席工程师 Jeff Plater 说,“现在我们已经迁移到 [Amazon OpenSearch Service],就可以与时俱进,用上这些功能。最终,这将使我们能够更快地为用户改进搜索服务。” Guru 每天处理多达 100 万次搜索请求,承受不起减速的代价。

打开机器学习的大门

从自行管理的 Elasticsearch 集群迁移到 Amazon OpenSearch Service 后,Guru 得以将更多时间放在试验和创新上。借助这个框架,Guru 有了一条可扩展的路径,用于试验机器学习和深度学习,包括实施 K 近邻算法和学习排序。该公司还计划开始使用 Amazon SageMaker,它能汇聚专为机器学习打造的一系列广泛功能,帮助数据科学家和开发人员快速准备、构建、训练和部署高质量的机器学习模型。

作为一家希望在快速发展的同时推出新功能的初创企业,Guru 发现 AWS 能够提供公司持续创新所需的可靠性、可扩展性和弹性。“AWS 的一大优势在于它是自助服务:在这个环境中,您可以按照自己的节奏快速推进。”Guru 产品营销总监 Steve Mayernick 说,“您可以非常快速地投入进来,使用初创企业所需的任何系统,然后反复迭代。您可以构建一切,无需为了获得许可而与第三方供应商接触,拖慢速度。”


关于 Guru

Guru Technologies 提供知识管理软件,助力企业管理和获取关键内部信息。

AWS 的益处

  • 减少在 Elasticsearch 管理上花费的时间和资源
  • 开发快速的新试验框架
  • 通过重放多达 5 亿次查询开展试验
  • 将试验时间从数周缩短至几小时
  • 将搜索精准度提升 10%

使用的 AWS 服务

Amazon OpenSearch Service

Amazon OpenSearch Service 可让您轻松执行交互式日志分析、实时应用程序监控、网站搜索等工作。OpenSearch 是一款开源的分布式搜索和分析套件,衍生自 Elasticsearch。Amazon OpenSearch Service 提供最新版本的 OpenSearch,支持 19 个版本的 Elasticsearch(1.5 到 7.10 版本),并支持由 OpenSearch Dashboards 和 Kibana(1.5 到 7.10 版本)提供的可视化功能。

了解详情 »

Amazon EMR

Amazon EMR 是行业领先的云大数据平台,可使用多种开源工具处理大量数据,例如 Apache Spark、Apache Hive、Apache HBase、Apache Flink、Apache Hudi 和 Presto。

了解更多 »


开始使用

无论行业无论规模,每天都有的公司在使用 AWS 实现业务转型。联系我们的专家,立即踏上您的 AWS 云之旅。