阅读 79

如何创建低成本沙箱环境?推荐你使用API仿真!

我们了解到,在销售软件(尤其是复杂的企业产品)时,通常只要现金流到银行,销售就不会结束。售后支持与售前对客户体验同样重要。实际上,客户的成功是驱动收入的动力,并且有足够的数据表明这一点。Invesp的Khalid Saleh基于此观点创建了一个很棒的图表。以下是一些关键要点:

  • 获取新客户的成本是保留现有客户的五倍。
  • 向现有客户销售的可能性为60–70%,而向新客户销售的可能性为5–20%。
  • 将客户保留率提高5%,可将利润提高25–95%。

客户成功对业务至关重要

基本上,客户成功是销售的一切。这意味着你有一个好的产品。也意味着你将获得免费潜在客户、更短的销售周期和更高的转化率。

一切始于入门

平台提供商提高客户成功率的关键方法是什么?好吧,对于平台、工具和服务提供商,这意味着他们确实需要专注于入门。将客户加入你的平台意味着使客户快速了解你的服务,以便他们可以使用专业人士之类的工具。

这也意味着教你的用户如何使用你的API,以便他们可以在应用程序中构建自己的解决方案。良好的入门流程必须透明且无缝。开发人员不想将其“未经验证”的代码投入生产。为了有效地构建这些集成,开发人员需要一个安全的开发环境来测试和熟悉你的产品——一个沙盒环境,在此环境中,他们可以放置未经验证的代码并在投入生产之前对其进行试用。

为客户入门开发低成本的沙盒环境

如果你从事销售API的业务,则销售的关键是一种向客户证明价值的有效且引人注目的方法。开发沙箱是理想的选择,但是成功的要求是什么?

  • 精心打造
  • 有据可查
  • 一应俱全
  • 安全

精心打造

你的客户不想看到意外的错误,以及不一致或不现实的行为。期望你的沙盒环境经过与生产和QA环境相同的严格测试。

有据可查

API并不简单,开发人员需要快速入门以熟悉你的产品。记录良好的API和沙箱环境至关重要。在记录和定义API和服务方面,Swagger和OpenAPI变得很有必要。同样重要的是,验证这些API的行为是否符合发布的定义中定义的架构。

一应俱全

你的客户渴望入门,而无法访问其新购买的产品将严重阻碍你的客户的开发和测试工作。任何数量的停机时间都可能导致负面体验。

安全

在PCI DSS和GDPR合规性的世界中,安全性可能意味着许多不同的事情,但是在API沙箱的情况下,应仅使用测试数据而不是真实的客户数据。沙箱永远都不能访问客户数据,并且通常,应用程序之间应充分隔离。

同样,良好的沙箱对于客户满意度至关重要。每年都有DevPortal奖项是有原因的。付出大量努力来获得良好API产品体验的组织会得到认可。

为什么低成本沙盒环境很难

沙箱很有用,但有一个陷阱。你不能简单地建立一堆沙箱环境并期望它能正常工作。肯定没那么简单。API本身不会做任何事情,需要编排与多个内部和外部服务以及后端系统集成并提供数据。

为单个API设置沙箱环境意味着要站立整个环境,而不仅仅是单个服务,这很困难。

低成本沙盒环境的4个关键挑战

创建开发沙箱存在4个关键挑战,这些挑战可方便地映射到上述沙箱需求——沙箱的ABCD:

  • 辅助功能
  • 行为
  • 成本
  • 数据

辅助功能

简而言之,沙盒环境必须稳定才能访问并提供积极的客户体验。组织已经在自己的质量保证环境中挣扎。维持和交付100%的正常运行时间是不现实的,停机会导致不良的用户体验。

行为

沙盒环境应该真实地表示真实系统。最初,静态响应适用于简单的请求,但是复杂的操作需要状态和动态逻辑的某些更改。当客户想要进行性能或负路径测试时会发生什么?在复杂的系统中,很难模拟复杂的测试场景。

成本

维护测试环境不是免费的,外部依赖也不是免费的。用户越多,这些费用将越多。了解这些成本并了解用法对于确定你可能希望为最终用户实施的定价或退款模式至关重要。

数据

测试环境中的测试数据非常类似于硬币计数机。投币机将你的硬币计数。它会返还一定数量的现金,但是如果有多个人同时使用机器,那么没人会知道他们的现金是多少。共享环境中的共享测试数据也会发生相同的情况。数据一旦使用完,就无法用于其他测试,除非以某种方式还原了所有更改,这既复杂又费时。

我们在这里看到的这些挑战反映了我们在许多也在寻求改善其测试和测试自动化实践的组织中所看到的挑战。坦白说,解决方案非常相似。

服务虚拟化检查必要的框

服务虚拟化是一种在基于组件的异构应用程序中模拟特定组件的行为(虚拟化这些依赖性)的方法,例如:

  • API驱动的应用程序
  • 基于云的应用
  • 面向服务的架构

通过稳定测试环境并支持快速敏捷开发,它是API仿真方面的强大解决方案。API和SOA测试带来的电源服务虚拟化使其成为低成本沙盒服务器的理想选择。

虚拟化提供以下功能:

  • 按需创建复杂的环境。
  • 以受控的个人服务行为构建现实的服务。
  • 跟踪所有沙箱的使用情况。
  • 为每个唯一的API和每个用户创建和操作数据。

如你所见,服务虚拟化确实选中了这些框。

该图显示了服务虚拟化复选框

图1:低成本沙盒环境的“服务虚拟化”复选框。

服务虚拟化是沙盒环境的最佳选择

在Parasoft进行的互动中,遵守了80:20的规则。某些环境仅需要对API调用的简单静态响应,因此简单的模拟就足够了。现代化的API网关有很好的方法来存储这些预定义的答案,例如内置模拟程序时。如果确实需要这些,则服务虚拟化可能会显得过时。

另一方面,环境必须非常接近实际。API调用需要对后端系统进行实际数据或实际更新。问题在于,复制大量真实系统作为虚拟服务器是否具有成本效益。在这些情况下,最好使用实际系统或克隆。

但是,在大约80%的情况下,要求介于这些极端之间。服务虚拟化足以为测试和验证方案构建逼真的模拟。

该图显示了10%的静态响应,80%的服务虚拟化现实测试/验证以及10%的工作流需要真正的后端系统

图2:服务虚拟化可满足低成本沙盒环境的大多数需求。

客户如何使用沙盒?

沙盒的基本目标是在集成到生产系统之前,先验证API和服务(通常是第三方产品)。但是,在工具和服务虚拟化的帮助下,复杂程度不断提高的实践中,我们看到了一定规模的使用成熟度。

  • 基本的系统管理,以验证服务是否正在运行以检测出现的任何异常并确保服务器具有足够的容量。
  • 进行验证以确保发送了正确的消息并且遵守了正确的工作流程。
  • 在你的沙盒环境中获得B2B合作伙伴的认证,并最终获利。
  • 基于使用情况的计费的货币化分析和报告。

Parasoft Virtualize为这些用例提供支持,并提供更复杂的沙箱使用所需的监视、分析和报告。

Parasoft Virtualize沙箱使用情况分析和报告的屏幕截图

图3:Parasoft Virtualize提供的沙箱使用情况分析和报告。

总结

API沙箱可为API和服务产品提供顺畅的入门体验,以提高客户的成功率。服务虚拟化降低了API沙箱的复杂性、成本和风险。沙盒需要近乎真实的服务,Parasoft Virtualize提供了丰富的功能集,可以快速可靠地复制此行为。

沙盒需要具有成本效益,并且服务虚拟化提供了创建真实环境的最佳解决方案。考虑到这一点,Parasoft Virtualize为API沙箱提供了可伸缩性和安全性,并提供了多种部署模型以及基于模块的服务虚拟化和数据管理方法。

随着你对沙盒开发的成熟度的提高,服务虚拟化将随你扩展并实现更高的成熟度。

文章分类
阅读
文章标签