API、服务和 Apps 的策略管理
策略管理是管理的基石,而且管理可以作为IT组织反应和业务敏捷度的基础。 管理依靠策略、人、过程和科技去指导商业活动并且传递一致的正面能量。有效的管理引导着商业活动朝向“正确”的道路,所谓正确的道路是指在最少阻力的道路 上做出正确的行动。策略管理通常的功能是指出错误的行为、详细的异常阀,并且定义正确的行动或者通知。领先的应用服务管理平台提供一个高级策略管理。这个 策略管理符合灵活的架构,覆盖重要的策略内容,并且贯穿整个周期。 灵活的策略管理架构可以使策略执行点(PEP),策略决策点(PDP)和策略信息点(PIP)分布和分离。而且,灵活的策略管理架构可以提供自助访问,自动的决策以及整合不同的策略执行点。 |
风恒
|
其它翻译版本(1) |
一个完整的应用软件服务管理平台包含以下的策略内容:
团队通常采用时间设计策略,循环和代码时间策略,以及运行时间策略贯穿整个服务,API和应用程序。为了减少“单独策略”,一个具有粘合性的应用服务管理 平台将提供具有首尾相连并且覆盖所有循环阶段(例如:计划、设计、开发、测试、部署、管理、评估、再用、不赞成再用和退休)的功能。 |
风恒
|
策略管理架构团队的工艺策略定义使用了策略管理接口,然后应用服务管理平台把策略定义存储到策略信息节点 (PIP) 。 策略信息节点通常是数据库、配置文件或者存储库。 策略执行节点(PEP)监控着系统交互,并且对策略阈值的行为进行比较。 策略执行节点可以决定跨越一个策略阈值(比如 超过速度限制 ,发送未加密 消息 ,CPU的利用率超过限制 )时的交互行为或者把比较委托给一个策略决策节点(PDP)。 策略执行节点和策略决策节点都有可能采取纠正行为。 普通策略决策节点包括SOA管理登记, 身份 管理和授权服 务,授权服务器以及云控制器。 普通策略执行节点包括API网关,移动网关,HTTP拦截器,企业服务总线 (ESB)或防火墙。 灵活的策略管理框架应当提供自助访问,使策略决策自动化,并且整合策略执行节点。 当消费者使用自助访问并且选择他们自己的策略层次,那么应用服务采用率就能有效的衡量。 自动策略决策能减少操作耗时并最大化解决方案的连贯性。 经过整合的策略执行节点,能扩大策略对环境和生命周期各阶段的覆盖面。 |
lwei
|
生命周期方面团队通常会用到设计时策略,生命周期和编码时策略,以及运行时策略,这些策略 涵盖了服务、API和应用 。 为了减少“策略孤岛”,一个有粘合力的应用服务管理平台将会提供点到点的覆盖,包括所有的解决方案组件和所有生命周期(例如:计划、设计、开发、测试、部 署、评估、复用、过期和弃用)。 API管理组件和SOA控制登记,必须共同工作来保持API和后端服务策略的同步。 此外,API生命周期的各个阶段也需要和后端服务的实现阶段保持同步。 一个API控制实例可能提供一套明确的、可由开发团队自定义的生命周期阶段(例如,创建、发布、过期、弃用和封闭)。 SOA控制登记能够增进服务元数据管理,并且对设计、实现、测试和运行时操作进行控制。 下图1描绘了API控制视角和服务控制视角之间的关联。 |
lwei
|
图 1: API 控制和服务控制视图 应用交付管理需要一套独特的升级和降级策略,这些策略和资金、设计审查、安全审查以及测试结果密切相关。应用服务管理平台应当涵盖项目启动、开发、质量保证、产品部署、产品管理、维护和弃用。图2展示了应用交付管理下的服务实现活动。
图 2: 应用服务交付管理下的实现活动 |
lwei
|
策略管理分类管理, 存储, 解决,和强制执行一个完整的应用程序服务管理平台:
|
ajeelee
|
时间设计策略管理与执行确保设计时策略:
|
ajeelee
|
运行时策略管理 一个完整的应用服务管理平台规范和管理以下运行时策略类别: ○租户和用户速率限制 ○服务意识和租户感知的负载均衡策略 ○私人租户分区以减少“吵闹的邻居”的影响 ○根据服务使用阈值触发通知 计费和计量政策 ○速率限制的服务和API交互 ○Throttle服务和API交互 ○WS-SecurityPolicy执行方法 ○通过策略来控制系统的最大连接数 ○通过策略来控制缓存响应 ○基于属性的访问控制 ○基于角色的访问控制 基础设施供应 ○定义和执行自动缩放限制。基础设施资源池来定义和约束最大和最小的运行时实例阈值 ○通过分配给用户角色的授权策略来限制配置管理活动 使用零编码方法以及仅限策略/规则的授权和配置方式,团队可以定义如下政策: ○自动发送基于内容规则的消息:比如给所有订单价值大于客户的信用额度的订单发送警报。 ○关闭服务或者根据一天不同的时间更改服务或其他方面。 ○变换消息格式 |
machogyb
|
安全策略管理和加强除了基本的授权和认证,一个全面的应用服务控制平台也提供API订阅审批策略和API令牌超时策略。基于角色的访问控制(RBAC)和基于细粒度授权的访 问控制策略可能跟用户、服务和API有关联。基于属性或断言的访问控制由XACML、WS-Trust或OpenID提供。安全策略可以绑定到服务、 API或者资源。开发者访问设置策略开发者的订阅,使用和访问行为也可以被管理和控制。 开发者自助订阅策略可以捕获开发者信息并触发审批流程。 基于角色的访问控制也可以被用于开发者设置。 应用服务控制平台应该支持多角色(比如API创建者, API发布者, API订阅者 )。 |
lwei
|
服务和API生命周期管理策略团队可定义自定义gates和checklist项来控制和管理的服务和 API 生命周期进程.管理员可定义和扩展由生命周期阶段和阶段过渡政策.审批政策 (支持多个审批者) 可以设置控制阶段过渡. 除了根据checklist/approval建立手动的生命周期管理政策, 用户也可以建立自动化的验证规则(使用事先建造好的验证或自定义基于 Java 的验证程序)和自定义轻量级基于进程工作流的WS-HumanTask或完成 BPEL 业务流程. |
ajeelee
|
应用程序分配管理策略网站服务和网站APIs应该只是被管理在管理平台上的一种类型解决方案. 团队必须管理控制应用程序生命周期的提升和版本的控制.开发团队可以自定义gates, checklist项, 和promotion/demotion(提升/降低)规则来管理控制应用程序生命周期的进程. 常见的策略管理方案团队通常实现以下方案:设计时间、 服务和 API 生命周期管理和运行时间的策略. |
ajeelee
|
一般设计时策略
|
lwei
|
通用服务和API生命周期管理策略团队们使用登记控制(给服务),API开发者入口(给API),和项目开发接口(给服务的实现项目)。项目开发接口通常使用生命周期管理策略,包括版本体系,升级审批授权,以及升级前必须满足的条件清单。降级期间,要找到原因并启动流程来改正公开的问题。 通用运行期策略一个应用服务控制平台通常和消息中间执行点(即ESB和网关代理)以及身份权决策服务一同协作,用来做服务响应缓存,服务节流,服务负载均衡,以及基于XACML的访问控制。 |
lwei
|
控制模型范例
在上面三种大的分类中(即设计时,生命周期时,与运行时),团队可以进行高级策略决策和执行的配置。应用服务控制平台应当支持不依赖于低级别服务定义的高级别服务描述定义。下面这些最佳实践端对端的服务控制模型都是我们推荐的:
1. 创建一套命名空间/组织层级来正确定义业务领域。
2. 业务分析师使用服务定义接口来创建一套高级别的服务定义,由它来产生最终的模型。
3. 使用Eclipse建模技术或第三方工具,团队可以用XSD创建一个权威数据模型。
4. 控制注册能够通过找出跨服务的共享模式并在模式变化时发出通知的方式,来帮助维护一致性。
5. 当服务演进到要产生真实的WSDL或者技术定义时,要把它们和高级别的服务描述紧密绑定。
6. 控制注册应当自动把WSDL归类到正确的命名空间层级关系中。
7. 应用服务控制平台控制面板要提供下列信息的预览:服务状态,服务数量,服务的生命周期阶段、模式复用和其他,来帮助理解整个过程。