OSRC - 开源运行时社区 - 核心概念说明 - 知乎 Code is code,when it's running, warm the world! 基本概念在使用 OSRC 前,可以先简单了解一下几个概念:云原生、应用、运行时、运行时实例、Pages。 1. 云原生 业界领先的CNCF(Cloud-Native Compute Foundation,云原生计算基金会)成立于2015年, 其目的是在容器、微服务及devops领域里、通过一系列的规范和标准帮助企业和组织、在现代的云化环境中构建架构一致的应用。  CNCF定义的云原生三大特征:容器化封装、动态和自动化管理、面向微服务。此外,云原生强调自动化以提升能够开发效率和运维效率。 OSRC 团队定义云原生为一套基础软件开发设施 (IPaaS),让用户可以**高效**部署自己的软件应用到云端,并实现 **南北&东西向** 的网络访问。极致的 DevOps 和 CI/CD 是云原生的核心。 南北向网络访问:用户通过互联网访问基于云原生部署的应用 东西向网络访问:云原生服务之间通过内部网络互相访问在此基础上,云原生还提供丰富的特性:- 1.1. 安全云原生系统应用行业领先的安全技术,帮助用户保护数据和应用。- 1.2. 效率 - Serverless 服务器无感知化,OSRC提供的云原生能力像一个操作系统,希望能给用户提供极致的 Serverless 体验,目标是让用户开发、部署、管理在云端的应用与在个人电脑上管理各种软件实现一致的体验。- 1.3. DevOps&CI/CD OSRC提供的CI/CD工具,让用户可以分钟级发布和更新应用,目前提供了Java 应用和 nodejs SPA 应用相关工具。关于 OSRC 构建 DevOps&CI/CD 的细节,大家可以期待**进一步的分享**!- 1.4. 可靠性AIOps、自动化运维、专业团队部署在云原生系统上的软件具备AIOps特性,使用先进的自动化运维工具,并且由专业的团队提供服务和技术支持,无论在软件特性和团队能力上,都应该提供一流的服务。- 1.5. 可观测性云原生提供丰富的工具,让用户可以方便的观测自身应用,包括先进的 APM 工具、日志管理&分析工具等等。 2. 应用OSRC 应用是基于云原生系统可运行的 **无状态** 应用,通过 OSRC 发布的 CI 工具,可以快速发布应用,相关案例分享见: [OSRC 实战案例 - 赫兹跳动部署过程 ](https://www.maplecloudy.com/osrc/wikis/wiki_776513931985080320),并可以在 OSRC 社区分享给其他人。 应用归属于发布应用的人在OSRC设计中,一个应用可以具备**多个程序入口**,以实现不同的功能和服务。**无状态**应用程序入口分两种:- 2.1. Service Service 是一种持续运行(LongTerm)的应用,用户不主动停止,Service应用将一直提供服务。比如我们常见的各种Web服务。 一个OSRC应用Service入口是唯一的- 2.2. Task Task 是一个程序作业,他运行完成即退出(ShortTerm),比如我们在终端输入的 'ls' 命令,或者熟悉大数据的朋友,各种数据处理 Spark 或 MR 程序都是 Task 应用,OSRC 开发的云原生系统,天然支持各种大数据作业的,相关内容,请期待进一步的分享。 一个OSRC应用的 task 入口可以是多个 3. 运行时&运行实例&域在OSRC社区,每个应用程序的入口,执行后,就对应一个运行时,并生成一个运行实例,重复执行某个应用程序的入口,会在此运行时下生成多个实例。运行时具备唯一的**域**,通过该域,实现用户对此应用的南北向访问。社区用户可以把一个运行时分享出来,让大家直接体验。 运行时 归属于提交执行应用的人,即便该应用是其他朋友发布并分享的。- 3.1. 运行时域**运行时域**是根据应用信息和执行此应用的用户信息以MD5算法计算而成,同一个人启动同一个应用,**运行时域**是唯一的、不变的。同时 OSRC 正在评估让用户自定义**运行时域**的需求,期待大家的意见和反馈。- 3.2. 运行实例&实例域运行实例归属于某个运行时,并且具备一个随机域,通过该域,实现用户对该实例的直接访问,这样很方便调试。在可观测性上,目前 OSRC 提供运行实例的日志浏览。 运行时域到运行实例之间的访问,OSRC采用的是LB策略。 4. Pages前端的应用,我们称之为 Pages,Pages 是无需服务器资源,无需运行,发布后通过浏览器可以直接访问的应用,常见的 SPA 应用:react、vue 等都可以发布成 OSRC Pages 应用,大家如果使用过GitHub Pages 和其他前端托管服务,可以更容易理解 OSRC Pages。下面介绍下 OSRC Pages 的特点: - 用户可以发布多个Pages,每个Pages都具备独立且唯一的域,可以通过域直接访问,并且每个应用都具备一个主页,让浏览者可以很好的理解应用。 - OSRC Pages可以通过代理设置与OSRC 应用集成,实现动态应用。