最近,有人要求我为API(或者Web服务)版本管理成本建立一种估算方法。我想分享这一估算,因为我觉得许多人还不清楚API/服务版本管理对成本的影响。
据JJ说,他们在工作过程中发现,创建API的成本取决于随后使用的版本管理方法:
[开发人员需要]了解的一个关键点是,即使服务消费者的成本在他看来很小,它也不只是单纯的成本问题,它是风险,它扰乱项目计划,并使预算不可用……由于变更常常不能为现有消费者带来直接的商业价值,所以他们不希望API有任何变更。
文章接下来将API版本管理方法分成三个不同的类别(读者可以查看全文来了解针对每一个类别的更深入讨论,包括JJ如何定义成本测量方法):
“结(The Knot)”:“所有API消费者都连接到API的同一个版本,当API变化时,所有消费者都需要跟着变,实际上,这产生了一个横跨整个消费者集合/生态系统的巨大连锁反应。”
点对点:“服务的每个版本都留在生产环境中运行,当需要某个版本时,消费者需要自己进行迁移。运维成本会随着生产环境中版本数量的增加而增加。”
兼容性版本管理:“所有客户端都与API/服务的同一兼容性版本进行对话。”
有了这些定义和使用JJ所描述的公式计算出的相关成本,就可绘制相对成本图,如下所示(y轴是成本,x轴是版本数量):
正如JJ所言:
[……]当API发生变化时,单一版本会迫使每个消费者都进行升级,对于生态系统而言,这是一种成本最高的方法。第二种方法需要维护版本的多样性,这样会好一些,但如果开发人员试图保持每个版本的升级或者交替运行旧版本,那么成本还是相当高。兼容性版本管理策略似乎最高效。
那么,其他人有什么想法?这一API版本管理成本计算方法在JJ和其团队研发该方法的环境之外是否适用?结合读者的个人经验,相对成本的解释是否合理?还有其它JJ和其团队没有涉及到的类别吗?
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
数字化转型:如何更好地利用API和微服务
API,即应用程序编程接口,它提供给应用程序、开发人员访问其它应用的能力,而又无需访问源码,无需理解内部工作机制细节;简单地说,API就是实现应用与应用连接的一种隐形的桥梁。
-
金融行业数字转型:利用API构建新IT基础
从制造业、物流业,银行业到零售业,各行各业的根基都因应用经济的兴起发生着深刻的变革。在互联网和智能手机普及化的推动下,这种现象变得司空见惯。到2021年 ,蓬勃发展的全球应用经济的预估总值将达到6.3万亿美元,相比2016年的1.3万亿美元,增长近5倍。
-
为多云构建高效的API管理系统
云应用的开发几乎总是依赖一系列来自顶级供应商的服务,比如Amazon Web Services、Microsoft Azure和 Google Cloud Platform。
-
如何使用Azure API管理服务?
在云和微服务架构时代,API是数字化业务的通用语言。根据分析公司Forrester Research预测,仅在美国,API管理工具的支出将在未来5年内达到近30亿美元。