API版本化与迁移五大策略

日期:2016-3-22作者:Fred Churchville翻译:崔婧雯 来源:TechTarget中国 英文

API   API版本化   迁移策略   

【TechTarget中国原创】

业务需求在改变,这通常意味着API必须随之而改变。本文探讨当API必须改变时避免悲剧的五大关键策略。

API版本化和迁移是不得不解决的问题,特别是在应用程序接口和不断变化的业务优先级绑定越来越紧密的当下。但是,如果采取一些关键步骤,改动API就不会造成悲剧。

我们采访了Inversoft的CEO,Brian Ponterelli,他分享了五个他所使用的最重要的策略,能够减少API改动的风险。

1.文档化时间线

当API开发完成时,很可能已经计划的一些patch或者功能版本可能会破坏兼容性。要想避免你的API客户因此而愤怒,Ponterelli建议开发人员共享一份“事件日历”,记录下可能会影响到用户的任何变化。

“我们将这样的文档和发布摘要和文档放在一起,受到了用户的好评。”Ponterelli说。“有很多种方法,但是只要某个地方有“文档”,你就可以安心。”

2.拥抱语义版本控制

语义版本控制是业界针对patch版本的事实命名惯例,并且根据Ponterelli所说,使用它对于确保API版本控制不出乱子至关重要。这种正式的标准,已经被很多大公司采用 -- Oracle,Google -- 为版本号以及哪些兼容性会被破坏或者不受影响等,提供了清晰的说明书。

对于理解语义版本控制的API客户而言,Ponterelli说,很多客户确实理解,持续跟踪改动会很容易。对于不熟悉该领域的客户,也很容易找到介绍其如何工作的文档。

3.制定迁移策略以及向后兼容适配器

当新版本即将发布时,通常迫使开发人员打破某种兼容性。不幸的是,你的API使用者可能严重依赖于这些特定的兼容性,Ponterelli提醒到,当用户升级并且发现功能被破坏时,这可不太好。

Ponterelli建议解决这样问题的最佳办法是和使用你API的用户一起创建出清晰定义的迁移策略。这包括决定对于使用者的功能而言哪些兼容性必不可少,比如绝对不能失败的某个特定的功能或服务。如果无法确定完整的迁移策略,Ponterelli建议开发人员至少创建出向后兼容适配器,来帮助恢复必要的功能。

Ponterelli还建议开发人员和他们最大并且变化缓慢的客户一起开始API版本化之路,因为小型的,更为敏捷的公司通常更能接受API的变化。这给了你更多的时间来处理任何可能的问题,并且创建出需要的兼容性适配器。

4.抽象层次有所助益

除了创建可管理的兼容性,Ponterelli还建议开发人员添加反映API版本化频率的抽象层。他说Amazon创建的API,被抽象成经常变更的“细粒度”API和通常不变的“粗粒度”API。

通过这样抽象化API,你就可以帮助使用者清晰理解他们使用的API可能多久会发生变化,并且做好相应的计划。

5.考虑混合云方案

Ponterelli还指出当通过云预配API时,实现混合方案能够帮助用户抵御破坏。通过在本地保留一定数量的核心资源及其依赖,那么无论依赖的API如何变化,API用户都能够持续提供他们自己的版本。否则,他们可能会在API版本化发生的任意时间被强制要求升级,就不得不承担兼容性被破坏的风险。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

API>更多

  • API项目中 官方客户端不再是可有可无的

    在API项目中,有官方支持的客户端才能给API社区传达积极的信息。没有官方支持客户的API就像是没有方向盘的汽车。可能是辆好车,但是却哪儿也去不了。

  • Google收购Apigee,焦点在于企业本身还是API?

    Axway的Suraj Kumar认为Apigee收购案不一定是件好事。尽管Google也许会像Borg一样行动,这也许预示着Google的态度需要转变。

  • Google的新收购是否意味着API变得更酷了?

    Google对API管理解决方案提供商Apigee的收购,我们应该怎么评价呢?是为了打造一个改变游戏的联盟吗?或者只是技术巨头想尽快吞食市场份额的尝试?

  • 如何创建成功的RESTful API设计

    设计好的API是一项困难的任务,存在很多主观指标。哪怕是完全拥抱RESTfulAPI设计并对其问题域拥有完整视图的小型初创企业最终也会出现命名不一致、界面模糊以及无记录语义等问题。

相关推荐

技术手册>更多

  • 云服务设计入门指南

    正如我们所看到的,云计算还处在发展的早期阶段,通过观察大量的小型和新兴的提供云开发工具的公司就能够看到这一点。但是持续向前发展并颠覆传统开发方式的趋势已经越来越明朗。在这本技术手册中,我们将着重从云服务设计的基本内容入手,同时兼顾云端集成和云数据服务的相关内容。同时要提醒准备购买云服务的企业,在选择相关服务之前要避免落入厂商锁定的陷阱中。

  • BPM获取成功秘籍

    业务流程管理(BPM)正在迅速成长,正在影响着各行各业,但改变从来都来之不易。但是在今天的经济环境下,对于业务和IT高管来说,掌握BPM的大局观正显得前所未有的重要,这样才能从他们业务流程改进中收获最大利益,才能令其BPM投资的价值最大化。要想克服变革性或企业范围内的BPM行动的常见瓶颈,需要前瞻的、持续地实施某些关键的最佳实践,以确保真正跨职能的业务流程的实现。

  • Ajax实用技巧完全指南

    Ajax结合了java技术、xml以及javascript等编程技术,是指一种创建交互式网页应用的网页开发技术。ajax源自描述从基于网页的web应用到基于数据的应用的转换。就像新的编程语言或模型伴随着更多的痛苦,开发人员需要学习新的技巧及如何最好利用这些新技术。本技术手册为读者提供了一些很实用的小技巧,如果需要深入学习ajax,读者可以借助其他参考资源。

  • 企业IT消费化指导手册

    IT消费化是个人和商业使用的设备和应用程序的混合体。学习如何保持在前沿技术的最前端,了解工作场所内部或外部的关于IT消费化的挑战与威胁。虽然企业可以掌控在内部建立的安全机制,但是这是关于个人拥有的设备的事情,所以它需要用新方式去思考。本指南解释了IT消费化,帮助企业在IT消费化中生存,并叙述了IT消费化的影响。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 数据库
  • 服务器
  • 云计算