关注行业云原生(4):云原生的技术基础与实现

云原生应用起源应该追溯到2006年谷歌cgroups容器技术,2013年Docker正式发布让更多人看到了容器,类似于集装箱技术对运输业革命,容器技术催生了云原生应用,作为核心基础技术,没有容器就没有云原生应用。

容器应用自带环境,可将一致容器化应用运行在各种环境中,它便于调试、开发、部署、运维、迁移、扩容,从而造福程序员自己。容器这些特性与云弹性能力相结合,可最大化发挥云的效能,发挥云的价值。

云原生的软件应用开发在云上完成,生于云上,迭代成长在云上,在云上工作,最后也销毁在云上。为了高效管理容器,2014年,K8S项目发布,2015年,谷歌和红帽牵头成立了CNCF基金会,并将K8S列为第一个项目。

K8S让容器技术生态迅速成型,由此云原生进入了原子弹爆炸的发展状态。对传统行业企业来讲,云原生解决创新业务落地的问题,满足企业适应数字化、互联网化趋势的要求。互联网企业云原生应用成功实践,也影响了传统行业企业。

与生来就是云原生的互联网企业不同,传统行业/企业的业务系统不是原生,而是按照Client/Server或者Browser/Server的模式来构建的,本质还是一种集中式计算,尽管也能够支持互联网访问,但是没有办法支持类似“双11”这样的互联网访问。   

传统集中式系统,版本更新以年为单位计算,主要依赖传统IT产品供应商,二者之间是一种服务外包方式。相比以分布式为特征的云原生应用,使用微服务化的架构,模块之间呈现一种松耦合的模式,其中,局部模块修改并不牵涉其他模块,如此减轻了软件开发的负担,让软件开发以“迭代”方式呈现,以次为依托,创新业务就能够通过持续“试错”的方式,完成与最终消费和使用者的磨合。

在迭代模式下,消费者既是产品使用者,也是产品服务的研发者和贡献者,这种新型业务合作伙伴关系,在传统业务模型下是没有办法实现的。在云原生的世界里,软件无时不刻在进行这修改和迭代,这不是研发人员单向驱动,而是与业务人员、最终消费者互动的结果。

云原生首先是研发运营体系,以及开发架构的变化,因此迭代、DevOps、持续交付CICD也可以视为云原生的代名词。

但是原生应用不仅仅是微服务化,DevOps和迭代。原生应用也应该包括部署、运营和管理。为了更好的满足类似“双11”这样的访问需求,需要采用分布式部署和管理。

通过采用容器化部署和管理的方式,通过K8S对于容器进行编排和管理,成为普遍采用的管理方式。容器可以部署在物理机平台,也可以部署在虚拟机上,与虚拟机相比,容器部署的数量更大,颗粒度更细。

那么,云原生应用究竟给企业带来了什么呢?

可以说,云原生应用是“互联网+”或者”+互联网”的技术表达。

原生应用首先带来软件研发和管理新的方法,让企业能够更好利用开源社区最新的软件技术或者功能,通过DevOps和持续交付(CICD)更好支持业务应用创新和迭代。

与此同时,容器部署和K8S管理平台能够具有更高的细颗粒,更够更加有效的利用云基础设施的各种资源。

后记:

为了帮助传统行业企业加速完成云原生化改造,百易传媒(DOIT)联合Intel、VMware、阿里云、腾讯云、百度云、华为云、浪潮、金山云、红帽、灵雀云、青云、焱融云、xSky、杉岩、青藤云、蚂蚁金服、Portworx、UCloud、DaoCloud、数人云、京东云、网易云、亚信科技、云徙科技、时速云、七牛云、Caicloud才云、CSphere希云(排名不分先后)等国内外领先的云原生应用厂商的专家,共同组织编纂了《行业云原生应用报告指南》白皮书,希望能够为传统行业企业提供帮助。

本文摘自《行业云原生应用告指南》,该白皮书也将于近期发布,欢迎关注!

【未完待续;下期预告:云原生应用的技术内涵】