写点什么

云原生之概念

发布于: 2 小时前
云原生之概念

在经过 CNCF 的修改后,最新版云原生的定义为:“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统做出频繁和可预测的重大变更


云原生相关概念之间的关系


云原生(或者说云原生计算)应当包括云原生技术、云原生产品、云原生架构以及构建现代化应用的开发理念,具体说明如下。

1)云原生产品和云原生技术需要基于公有云、私有云或混合云的云基础设施(IaaS)。

2)云原生架构和云原生开发理念是基于云原生技术和产品构建或实现的。注意,对于不是基于云原生技术或者产品的架构和理念,如基于传统物理服务器发布、构建的 DevOps,是不会被划分到云原生范畴的。3)现代化应用和云原生应用是基于云原生的架构和开发理念构建或实现的。


基于容器和 Kubernetes 的交付平台,可以屏蔽底层不同硬件环境的差异,包括主机差异、存储差异、网络差异、操作系统差异、第三方软件差异等。因为从应用的角度看,它们都是在隔离的环境中单独运行,从 CPU、内存、网络、IPC(Inter-Process Communication,进程间通信)到第三方软件依赖,都是独享的一份。


传统软件交付模式与云原生交付模式对比


针对配置变更,云原生的理念是提倡采用不可变的基础设施,即任何变化都是基于容器重新生成一个镜像来进行部署,而不是在原有环境下直接变更配置,也就是说,基础设施是只读的


传统的运维更多是面向操作的运维,而云原生的运维则是面向观测数据的自动化运维


应用使用云原生技术有如下两种方式。

1)re-platform:这种方式是在不重构代码或不重写代码的情况下,尽量采用云原生技术,比如,使用容器对应用进行打包和部署,把 Kafka 替换为云服务,把 MySQL 替换为 RDS(Relational Database Service,关系型数据库服务),等等。


2)re-build:这种方式需要重构甚至完全重写应用,比如,把单体架构(Architecture)改为微服务架构,实施存储状态分离,业务实现采用 Serverless 技术编写,采用事件驱动架构,等等。


发布于: 2 小时前阅读数: 4
用户头像

InfoQ签约作者 2018.11.30 加入

还未添加个人简介

评论

发布
暂无评论
云原生之概念