云原生近来大热,但云原生不是新概念,早在2013年就由MattStine提出,并被沿用至今。云原生是MattStine根据多年的架构和咨询经验总结出来的一个思想集合,随时间推进不断完善,囊括了DevOps、持续交付、微服务、容器化等主题。从本质上讲,云原生是随着虚拟化技术和分布式架构的成熟与普及,以及应用上云的大趋势下,让应用更高效的融合云技术优势的一种理念。是应用上云后,在云上的开发、部署、维护、架构都彻底基于云技术而做出迭代,使之具备传统IT不具备的能力的浪潮。
与其说云原生是一门技术或者一个产品,不如说云原生一套技术方法体系,它可以让企业快速部署新业务,提供新的应用环境。
尽管Heroku、Pivotal、CNCF等众多厂商都对云原生下了不同的定义,但从本质上考虑,因为云原生构建了易观测松耦合容错性高的系统,所以其始终都在追求着三大目标:加速创新、降低成本、提高效率。
云原生解决了什么问题?
在数智化时代,软件变得越来越复杂,终端对于响应速度的要求越来越迫切,对运行稳定性的需求变得越来越挑剔,这给开发工作带来了很大的压力。
在原有技术的基础上,功能复杂程度、交付周期和可靠性被视为开发工作不可能同时实现的“不可能三角”,但云原生或许带来了新的答案。
基于云原生,开发工作统一了技术标准、交付方式和运维部署,这得益于微服务、DevOps和容器化。
容器化的出现,一定程度上带动了微服务架构发展。架构从单体式演化到了分布式,又从分布式演化到了云原生架构,微服务在其中不可或缺。
微服务
微服务解决了软件开发工作中的低耦合和高内聚的目标,将系统的服务按照组织架构的功能来进行划分,防止不同功能单元间发生互相影响。也即是单个服务能独立的更新,扩展,重启,而不影响其他服务,以此使单个服务的开发团队更小,也更加独立。
这在亚马逊被称之为“2个披萨原则”,也即将团队规模维持在两个披萨就能够吃饱的水平。最终使得松耦合+独立小型的团队使得持续更新和敏捷管理协作成为可能。
DevOps
DevOps从字面上来理解,是开发人员+运维人员的统称,而实际上,它是一组有关过程、方法与系统的方法论统称,核心理念直指开发、测试、运维的三合一聚合。
DevOps强调的是技术团队,通过自动化工具,进行高效的沟通和协作来完成软件的生命周期管理,从而更快、更频繁的交付。
如今随着容器化的发展,基于容器的编排平台,可以充分利用、发挥基础设施的优势,使得复杂的传统部署策略变得简单。
容器化
使用容器,微服务可以将其所需的配置、依赖关系和环境变量,以标准化打包的方式迁移到全新的服务器节点上,而无需重新配置环境,提供了真正的应用可移植性。由于其支持进程被隔离和限制,并且不依赖于特定的基础架构,又不影响主机的安全,使得容器技术深受开发人员的欢迎,极大的简化了开发和运维工作。
在一些资源有限的场景中,容器技术基于进程粒度的资源使用方式,也降低了对系统的资源依赖与消耗。其对于构建统一的开发,交付和集成环境有着莫大的优势,是云原生应用的最佳交付载体。
综上,云原生可以帮助企业的开发人员提高开发效率,发挥云技术优势,提供更高效的工作方式,实现技术赋能业务创新的重要使命。
云原生发展现状
据知名研究公司Gartner的报告显示,到2022年有75%的全球化企业将在生产中使用容器化的应用(当前不足30%)、还有50%的应用软件将运行在容器化PaaS平台。
如果说五年前提起云原生与容器,即便是业内人士,也有很多人云里雾里,但如今随着容器的发展,其正以一种前所未有的速度席卷开发界。因此,我们特意梳理了国内外的云原生与容器产业发展情况。
2015年,谷歌牵头,携手亚马逊、微软、思科等公司,成立CNCF(云原生计算基金会),如今成员已达一百多位。下图为CNCF发布的Cloud Native Landscape,给出了云原生生态的参考体系。
Cloud Native Landscape
诚然技术架构的演变非常快,各种新的名词也是层出不穷,但经过对Cloud Native Landscape的总结之后,中国软件网认为,只要是符合容器化封装、动态管理、面向微服务三大特征的产品或者服务都可以被称为云原生。
由于技术门槛较高,所以在国内市场上活跃的云原生公司,除开大厂,多以新锐厂商为主。
云原生与容器作为新兴的云端应用,对厂商的品牌能力、技术与服务能力、生态构建能力都是极大的挑战。中小厂商在大厂环伺的格局之下,也在努力寻求创新突破之路,在容器云兴起的趋势下,未来鹿死谁手也犹未可知,但有一点是必然的,随着技术的持续演进,云原生必将在几年内成为重要的基础设施级产品与应用,容器云也必将成为下一代PaaS平台重要的技术方向。
责任编辑:lq
全部0条评论
快来发表一下你的评论吧 !