云原生应用理念
云原生应用理念
随着云原生应用理念的诞生,传统应用的架构、开发方式、部署和维护技术也在随之做出改变。而这些改变都以云平台的特性为基础,因此云原生应用能够让云的弹性、动态调度、自动伸缩等功能得到充分发挥。云原生应用涉及到了非常多的技术,例如容器技术、微服务等等。云原生应用能够帮助用户以较短的时间完成新业务的部署,为企业大大节省了时间成本,获得竞争优势。结合云计算的特点,云原生应用能够与底层硬件和操作系统之间进行解耦,从而满足企业在扩展性,可用性,可移植性等方面的要求,并提供更好的经济性。
云原生应用架构
云原生应用架构
云原生架构通常包含模块化(Modularity)、可观测性(Observability)、可部署性(Deployability)、可测试性(Testability)、可处理性(Disposability)、可替换性(Replaceability)。CNCF(云原生计算基金会)认为云原生系统需包含:容器化封装、自动化管理、面向微服务三种属性。容器化封装是指以容器为基础,提高整体的开发水平;自动化管理是指统一调度和管理软件中心系统,实现降本增效;面向微服务是指通过松耦方式提升应用程序的敏捷性和可维护性。
云原生应用特征
云原生应用特征
单一代码库
对于微服务架构应用来说,每个应用都由多个服务板块构成,这些服务板块会由单一的代码库进行管理,这样可以保证构建版本的稳定性。在进行涉及到多个服务的代码改动时,应在一次代码提交中完成所有相关服务的修改。
API 优先
云原生应用中采用的是 API 优先的设计策略,在设计阶段会对 API 首先进行设计并进行 API 细节确定,API 设计过程需要多个团队参与,其中就包括 API 的实现者和使用者。API 优先的策略保证了 API 的稳定性,并且能够提高开发效率。
依赖管理
云原生应用需进行应用依赖管理。在依赖管理过程中,需要区分应用自带的依赖和运行环境提供的依赖,云原生应用通常会包含全部所需的依赖,尤其是以容器形式运行的应用。
单一代码库
对于微服务架构应用来说,每个应用都由多个服务板块构成,这些服务板块会由单一的代码库进行管理,这样可以保证构建版本的稳定性。在进行涉及到多个服务的代码改动时,应在一次代码提交中完成所有相关服务的修改。
API 优先
云原生应用中采用的是 API 优先的设计策略,在设计阶段会对 API 首先进行设计并进行 API 细节确定,API 设计过程需要多个团队参与,其中就包括 API 的实现者和使用者。API 优先的策略保证了 API 的稳定性,并且能够提高开发效率。
依赖管理
云原生应用需进行应用依赖管理。在依赖管理过程中,需要区分应用自带的依赖和运行环境提供的依赖,云原生应用通常会包含全部所需的依赖,尤其是以容器形式运行的应用。