
# OSC服务规范介绍
#### 简介
云原生服务中心（Operator Service Center，OSC）服务规范旨在给出一种与云平台解耦的云原生服务的标准定义，可描述云原生服务在分布式云的部署和治理。
- 部署：云原生服务中心联合华为云分布式服务UCS，能够将应用部署到华为云集群、多云集群、本地集群、附着集群、伙伴集群五种场景，实现应用的跨云和全域部署。
- 治理：容器化只是服务云原生化的第一步，服务部署之后需要治理，不仅包括监控、日志、告警等基本运维能力，还包括弹性伸缩、数据备份恢复、故障迁移、故障恢复等高级运维能力，这些能力是服务高可靠、高可用、高SLA的必要条件。严重依赖云平台的能力，对开发者而言都是重复开发工作，高效快速地赋予服务这些能力是开发者面临的一个难题。
当前最常用的服务管理标准Helm和Operator都没有提供开箱即用的治理能力，为此华为云推出了云原生服务中心OSC，开发者基于服务规范和华为云OSC快速赋予服务全域部署能力和治理能力。
#### 特性
云原生服务由业务功能和运维功能两部分组成，业务功能由开发者完成，运维能力可以由开发者自行提供，也可以直接接入OSC服务规范，托管于平台，让平台来提供。后者开发完成的服务，在OSC云平台可以确保业务功能正常并实现自动化运维。
**核心特性**
- 指定部署平台：选择服务可部署的应用平台，支持云容器引擎、华为云UCS应用部署平台。
- 声明式对接平台运维能力：在服务包中添加运维能力对应的配置文件，无需修改业务代码，就能对接监控、日志、弹性伸缩等运维能力。
- 服务编排：可指定服务之间的拓扑依赖关系。
- 兼容社区规范：全面兼容Helm和Operator Framework服务管理规范。
 
**包含服务**
- 服务元数据Metadata：声明服务的核心数据，包括服务类型、支持架构、服务分类、使用场景等必要信息。
- 资源集合Manifests：Resources资源定义的集合，对资源增强的服务能力配置，以及平台公共能力配置信息。
- 第三方兼容Raw：兼容常用第三方服务管理标准，目前支持Helm规范。
- 生命周期Lifecycle：声明服务包的安装、升级等有关服务包的生命周期等相关信息。
  图1领域模型   
  ![](https://support.huaweicloud.com/devg-osc/zh-cn_image_0000001586271877.png "点击放大")
  ![](https://support.huaweicloud.com/devg-osc/public_sys-resources/notice_3.0-zh-cn.png)
  Raw目录下内容有且仅支持Helm类型服务的管理标准，即服务包类型为Operator，也可能存在Raw目录，但是会在服务包上传部署过程中将Raw目录及目录下内容进行忽略。
  
 
#### 服务生命周期
服务包分为商品服务包和私有服务包。商品包只能由具备ISV资质的租户（服务提供商）进行发布，发布前需经过服务包格式校验、镜像扫描、镜像地址替换、服务自验证等流程，经审核后方可上架。上架后的服务可被其他租户（服务使用者）所使用。而私有包可以由任何一个租户发布，发布后仅由租户自己使用。
**商品服务生命周期**
1. 服务提供商将服务包上传到华为云云商店，发布成为云商店的**商品** **服务**。
2. 服务使用者在云商店购买商品服务，该商品服务变成该用户的**已订阅服务**。
3. 服务使用者通过已订阅服务创建**服务实例**。
4. 服务使用者可对服务实例进行编辑、升级、监控等治理操作。
5. 服务使用者可针对不需要的服务实例进行销毁。
   图2商品服务生命周期   
   ![](https://support.huaweicloud.com/devg-osc/zh-cn_image_0000001367426417.png "点击放大") 
**私有服务生命周期**
- 华为云租户将服务包上传为私有服务。
- 华为云租户使用私有服务创建服务实例。
- 华为云租户可对服务实例进行编辑、升级、监控等治理操作。
- 华为云租户可针对不需要的服务实例进行销毁。
  图3私有服务生命周期   
  ![](https://support.huaweicloud.com/devg-osc/zh-cn_image_0000001367541965.png "点击放大") 
 
#### 术语
表1主要术语 
| 名称    | 介绍                                                  |
|:---|:---|
| 服务包   | 符合OSC服务包规范的一系列文件聚合，分为公有包和私有包，分别由服务提供商和一般租户开发。       |
| 服务目录  | OSC平台提供，对公共服务包进行聚合呈现。                               |
| 公共能力  | 由OSC平台提供的监控、运维等能力，所有服务包均可通过在vendor目录中声明配置文件，使用公共能力。 |
| 订阅    | 对已发布的商品服务进行订阅，以备进行服务部署。                             |
| 服务实例  | 用户通过部署服务后创建的实例。                                     |
| 自定义资源 | 服务开发者根据自身需求定制的Kubernetes资源对象。                       |
| 自定义服务 | OSC设计的通过声明式为CRD增强服务能力，包括能力引用，服务依赖，服务访问，交互体验等。       |
   
