探索中国CIO人才现状 | 第四季调研报告
公开/私有API管理:如何降低风险
2015-07-02  来源:techtarget

如今很多公司使用公开和私有的应用程序接口(application program interfaces,API),但这两种API的开发和管理策略几乎是一样的。没有给公开和私有API制定不同策略的公司会遇到数据安全问题,导致不良的公有云投资回报比和环境间数据流问题,Mark O'Neill说,他是Axway的创新副总裁,这是一家数据流和API管理软件和服务的供应商。

O'Neill在本文问答中指出公开和私有API策略的不同之处,为两种API创建高效方式的最佳实践,以及如何组建API策略团队。

“在API策略制定时一定要考虑到数据存放地,”O'Neill在最近的访谈中说。可以将针对私有和公有云的不同的API管理策略的需求比作混合云环境的安全管理,这里所有的应用和数据不再安全地存在于内部数据中心防火墙之内。

与之类似的是公有和私有的产品会有各自不同的定位。通常,私有API是为了内部使用,公有API是为了将业务应用扩展到其他用户,而且可以构建新用户和客户流水线。“在制定公开或者私有API策略之前,公司需要慎重考虑面向的用户是谁,”O'Neill说。

公开和私有API的核心区别是什么?

O'Neill:私有API是为已知用户组服务的,比如汽车业的一组供应商,每个开发人员的身份也是已知的。

公开API包括一个开发者门户来促进(外部)开发人员使用API。这些开发人员会在公司想要最大化API使用规模的时候开始使用API。

公开API,也就是开放API策略和私有API策略有什么区别?

O'Neill:对于公开API而言,通常是为很多外部开发人员服务。Daniel jacobson,Netflix API开发负责人,《API:策略指导》一书的作者,称这些开发人员是LSUD(large sets of unknown developers,未知开发人员大集合)。该领域的很好的一个例子就是Uber开放了一个API,可以在其他平台,比如饭店预订应用或者酒店预订网站,直接使用Uber的搭车信息,这样就可以促进用户更多地使用所提供的服务。

不是所有的业务目标都是增加曝光率。比如,有些行业,像医疗行业,会面临严厉的规范和隐私要求,这就意味着从审计和管理角度而言,开放API可能不是最理想的解决方案。

对于私有API而言,再次使用Jacobson的方法论,应该针对SSKD(small sets of known developers,已知开发人员的小集合)制定更有针对性的方法。

当决定哪种方式最合适时是不是还有别的商业上需要考虑的方面?

O'Neill:首先最重要的,在制定API程序目标之后,公司需要评估其所在行业的动态性以及与之相关的目标用户。还有一点很重要,需要考虑公司本身可以投资到API方面的资源,因为公开API需要后台更多的管理资源。

混合型API有没有具体模型的例子?

O'Neill:我们观察到公司一般采取两阶段模型,其中,在公有云服务上搭建对外的API网关,对内连接到内部本地系统上。从外部(公有云)来说,会使用认证机制和API防火墙。与内部系统的连接只能从内部(私有云)阶段发起,这样可以避免从公有云直接连接到内部系统而可能暴露的安全风险。这种方式可以帮助节约费用,因为外部(公有云)层面可以利用弹性机制来降低成本。

不同API开发的挑战有哪些?

O'Neill:开发这两种API的最大的挑战是安全性。我们看到越来越多的针对API的攻击。攻击者意识到API,特别是移动应用的安全软肋。我们也已经看到很多API安全漏洞,从Snapchat到Moonpig都有这样的漏洞。

在每种情况下可能都会使用不同的安全规则,包括OAuth,OpenID Connent和其他标准。API要支持这些安全标准对于公司而言挑战巨大。

每个阶段的成功用什么来衡量?

因为API被广泛使用,它们成为自己的利润中心,导致企业都愿意为API使用买单。

O'Neill:使用API的时候,最重要是意识到决策ROI不是简单的计算。所有的东西,从定价,通常是免费的,到维护需要的资源,都需要被衡量。因为API被广泛使用,它们成为自己的利润中心,导致企业都愿意为API使用买单。

还有一点很关键,公司的成功和其所制定的业务目标的成功息息相关。比如,这意味着进入新的行业,面对不同的客户,精简合作伙伴的合作方式等等。这样,就很容易理解要计算出API成功所需要的花费不仅仅很困难,而且几乎不可能。

使用API越来越多,如何改变了IT和软件开发团队的?

O'Neill:API策略的发展类似于早期网站策略的发展。第一个公司网站来自于IT部门,但是当需求逐渐成熟到包括电子商务的时候,专职的网站团队就会产生。相似的,API的使用需求也是先来自于IT,或是支持某个特定移动应用的点对点API。但是现在,我们渐渐看到越来越多的公司成立了专职的数字策略团队。他们的职责包括API策略,这只是整体数字促进方案的一部分,还包括移动,开发促进活动(比如,黑客大赛)和云。

数字团队包括API设计人员,他们负责从需求出发设计API,通常会选择采用标准方式,比如Swagger。

开发人员起着很重要的作用,测试API并且提供反馈。团队通常直接由CIO管理,还有些公司专门设立了首席数字官的岗位。

DevOps团队是API策略的stakeholder之一,因为所选择的API管理平台是否能够提供API部署的DevOps能力至关重要。