你知道你的api在做什么吗?

你知道你的系统依赖什么云服务和api吗?您知道如何判断它们的可靠性,以及您的供应商的服务水平协议(SLA)是否涵盖了您需要的性能?

思想库

如今,几乎每家公司都在使用至少一部分云服务,而不仅仅是打包的SaaS应用、PaaS服务和IaaS虚拟机。网站和自定义应用程序都是使用应用程序编程接口(API)构建的,应用程序编程接口涵盖了从地图和消息传递到分析、欺诈检测和语音识别等方方面面。

软件即服务(SaaS)通常提供api,让您通过第三方应用程序和服务使用它们,甚至构建您自己的应用程序和服务。例如,Salesforce超过50%的流量和收入来自于它的api,而不是直接来自于它自己的基于web的服务。eBay是60%,Expedia是90%。如果您使用Twilio为客户提供文本信息支持或万事达欺诈检测服务,那么您就依赖这些api实现自己的关键业务流程。如何度量和监视它们以确定是否获得了可接受的服务水平?

仅仅因为您使用的是云服务,就不能假定它会执行得很好。宕机的情况很少见,如果一个地区的服务宕机,您可以使用地理冗余来确保您的云应用故障转移到另一个地区。但是,尽管托管系统供应商的sla覆盖了正常运行时间,但它们很少提及延迟。如果延迟时间太长,您的API调用将超时,为您的用户和客户创建糟糕的体验。

微软必应的技术顾问克雷格•米勒(Craig Miller)说,当微软开始将必应搜索引擎转为持续部署,并首次开始衡量一些外部依赖时,就遇到了这样的问题。“我们发现我们正在使用的服务,我们没有意识到其可靠性不超过3倍,”他说。

您甚至可能不知道您的公司中有多少api和SaaS应用程序在使用,因为现在许多业务单位都在购买自己的云服务,所以您可能需要开始使用工具,这些工具可以告诉您网络中的活动内容。这些产品包括微软的Azure云应用程序Discovery和Imperva的Skyfence。如果你从前任那里继承了服务,或者在合并中获得了服务,这一点尤其重要——你需要弄清楚自己接手的是什么。

[相关:api有很多,但是挑战仍然存在]

但是一旦你知道了,你需要做的不仅仅是关注你所依赖的服务和api的状态警报;您不能假设sla将涵盖所有可能的问题。

API网关,它可以像亚马逊云服务API网关,网关Apigee API, Tibco的Mashery API经理和Micorosoft Azure API管理系统,或本地API经理喜欢那些可以从Akana Layer7规模和3 -让你控制访问API,通过政策和管理资源,速率限制客户看看使用情况分析。有些,如Azure API管理,作为代理,让您控制外部API的内部使用。但最重要的是,它们打包并提供您自己的api和Web服务,帮助您扩展、监控和分发它们。在理解您可能正在使用的外部api和微服务(通常没有进行度量)时,这对您没有太大帮助。如果您混合使用内部api和公共api,您还需要考虑显式地监视它们。

延迟时间和位置

根据API分析服务APImetrics的首席执行官David O 'Neill的说法,问题是“谁会告诉你API带来的问题?”你的开发和运维团队,还是你的客户?你知道你的基础设施为你的客户端到端做了什么吗?你可能不知道,如果你知道,你会吓坏的。”

奥尼尔认为,使用api比许多人理解的要复杂得多。他说:“人们需要考虑一些非常奇怪的事情,而这个行业才刚刚意识到。”“我们创造了一个网络应用和服务的新世界,在那里,公司不知道他们为什么付钱,不知道他们是否在工作,也不知道他们实际上在做什么。人们[依赖sla],但他们的sla没有正确的措施。sla讨论正常运行时间;他们不谈潜伏期或反应性。”

观点2 b 微软

APImetric的Insight评分类似于API的信用评分,为您提供性能和可变性的快速概览

您不能通过查看自己的日志或运行自己的测试来查看API的响应能力,因为这些问题可能并不存在——它们只会告诉您从网络访问API时所看到的性能。您甚至不能使用一个云位置进行测试。例如,“如果你从弗吉尼亚州的Azure地区调用Foursquare API,要么失败,要么需要20分钟才能返回任何响应,”奥尼尔说。“但那只是来自弗吉尼亚的蔚蓝;它来自加州的Azure,非常好用。”

简单的日志和测量并不能告诉您一切,您当然不能依赖于平均延迟读取。如果您看到的平均延迟是250毫秒,那么您必须检查它是否包含一些异常快的响应,以掩盖那些需要5或10秒的响应。记住要考虑API调用的规模:如果只调用1,000次,99.6%的成功率意味着只有4次失败,而且这种级别的性能不太可能导致问题。但如果你打了100万个电话,那就是4000次失败。当您开始使用来自不同服务的多个api时,还必须考虑它们之间的延迟。

分析2 b 微软

查看一系列度量和分析可以让您更清楚地了解API性能

如果你有国际客户,情况会更糟。“如果你要衡量服务器的性能,你要如何衡量日本的客户呢?”你不可能把所有的东西都塞进弗吉尼亚州的AWS里,然后运营一项全球服务,但很多公司就是这么做的,”奥尼尔警告说。“你必须从头到尾地看。如果你有日本客户,而你在东海岸的AWS数据中心,那就会有延迟,因为他们的查询速度快到光速。雷竞技电脑网站如果在公共调用之后有三个API调用,并且每个调用都需要跨大西洋跳转,那么可能会增加很多延迟。你不会在你的服务器上看到这些——你的客户也不会体验到你所做的。”

12 第1页
第1页共2页
工资调查:结果在