云原生发展趋势浅谈
随着云架构的不断普及,“未来的软件一定生长于云上”的理念被越来越多的人所接受。云提供了一种面向企业应用实现按需进行资源分配的模型,以一种全新的、高效的方式来部署应用。企业纷纷开始云化转型,希望将传统应用迁移到云端。
虚拟化为云计算奠定了基础,但如果运行模式不做任何改动,仅仅是把虚拟机当做物理机来使用,是不能真正将云平台的优势利用起来的。只有对应用程序架构进行升级改造,才能构成“云应用程序”。
基于云化架构的特点,定义一条能够让应用最大程度利用云的能力、发挥云的价值的最佳路径成为行业迫切的需求,“云原生”应运而生。
云原生应运而生,技术范畴渐成体系
不同的组织对于云原生有不同的理解和定义。从技术角度来看,我们可以认为云原生是一类技术的统称,基于它可以构建出更易于弹性扩展的应用程序;从业务角度来看,云原生可以带来更快的业务响应速度和需求高效实现,云原生可以有效地缩短应用交付的周期,让需求更快地变成代码,代码更快地变成线上的应用,最终为用户服务,通过缩短“time to market”带来切实的业务价值。
从更为抽象的指导思想角度来看,云原生表达了一种未来软件开发生长的管理和实践思路:即软件产生并部署在云上,且遵循一种新的软件开发、发布和运维模式,从而使软件能够最大化发挥云的能力。
2013年,Pivotal(美国云软件开发工具与服务公司)的Matt Stine根据其多年的架构和咨询经验总结出来了一个思想集合,并得到了不断发展和完善。这其中包含了DevOps、持续交付、微服务、敏捷基础设施和12要素等几大主题,不但包括根据业务能力对公司进行文化、组织架构的重组与建设,也包括方法论与原则,还有具体的操作工具。采用基于云原生的技术和管理方法,可以更好地把业务生于云或迁移到云平台,从而享受云的高效和持续的服务能力,这标志着“云原生”比较完整的范畴的形成。
从商业应用角度看,云原生有几个重要的发展节点:2013年,Docker项目正式发布;2014年,Google和Redhat联合发布Kubernetes,用于更加方便、快速对容器进行管理;2015年,由Google、Redhat以及微软等大型云计算厂商以及一些开源公司共同牵头成立了云原生基金会(CNCF)。CNCF这个非盈利组织的初衷为推广孵化和标准化云原生相关的技术,其中包括推动云原生计算可持续发展和帮助云原生技术开发人员快速地构建出色的产品。在此之后,CNCF得到了快速的发展,并逐渐构建出一整套技术。
当前,云原生技术范畴包含以下6个方面。
第一,云应用定义与开发流程,包括应用定义与镜像制作、配置CI/CD、消息和Streaming以及数据库等。
第二,云应用的编排与管理流程,包括了应用编排与调度、服务发现治理、远程调用、API网关以及Service Mesh。
第三,监控与可观测性,这部分所强调的是云上应用如何进行监控、日志收集、Tracing以及在云上如何进行破坏性测试。
第四,云原生的底层技术,比如容器运行时,云原生存储技术和云原生网络技术等。
第五,云原生工具集,在前面这些核心技术点之上,还有很多配套的生态或者周边的工具需要使用,比如流程自动化与配置管理、容器镜像仓库、云原生安全技术和云端密码管理等。
第六,Serverless,这是一种PaaS的特殊形态,它定义了一种更为“极端抽象”的应用编写方式。
容器云加速业务交付效率
云原生有两个重要的思路:第一个是敏捷的不可变基础设施,这一点目前是通过容器镜像来实现,其含义就是应用的基础设施应该是不可变的,是一个自包含、自描述可完全在不同环境中迁移的东西;第二个是云应用编排理论,当前的实现方式就是Kubernetes的“容器设计模式”。
落实到云架构的三层模型中,敏捷的不可变基础设施类似于IaaS层,用来提供计算网络存储等基础资源,这些资源是可编程且不可变的,直接通过API可以对外提供服务。云应用的编排则通过PaaS服务组合成不同的业务能力,实现服务能力的复用;而SaaS能力意味着直接在云资源上部署和应用,客户可以直接面对云原生应用。
在实践中,容器云PaaS平台在应用中得到了落地,逐渐进入商业成熟期的阶段。PaaS本质上是云计算模型中的能力层,它帮助企业提高业务交付的效率、降低企业成本,以云原生技术为基础的容器云PaaS已经成为企业IT基础设施的重要组成部分。
容器云PaaS基础设施层可以部署在虚拟机、物理机以及公有云环境上;平台架构层包含了容器编排调度、容器网络以及容器存储等。容器云PaaS支持的能力包括容器应用管理、微服务、DevOps以及中间件PaaS组件,例如消息队列、大数据、机器学习训练平台等。
在容器云之前,PaaS侧重提供支撑应用运行的应用引擎;而容器云PaaS则是融入DevOps、微服务,解决了应用的完整生命周期管理问题,从而达到我们之前所说的加速企业业务的交付效率,实现更高的弹性和可扩展性等目标。
云原生逐渐成熟,生态拓展至边缘
从云原生的发展状况看,这一领域的发展呈现出值得关注的几个特点。
首先,云原生逐渐在商业环境中得到应用和完善。在网络安全公司Stackrox的一次民意调查当中,2019年是Kubernetes在容器编排中占据主导地位的一年:86%的受访者用它来进行编排工作,远高于2018年的57%。企业Kubernetes平台Diamanti的说法是:“与2018年相比,我们清晰地看到容器管理正在进入企业IT主流。”
其次,Kubernetes在安全性方面承受着巨大压力。面向安全级别要求更高的客户,在初期安全程度较低的项目中表现良好的网络安全面临挑战。与此同时,敏捷开发和DevOps带来的高频代码发布、部署也带来了更高的安全性要求。
最后,伴随着应用从云端向边缘的拓展,云原生也在边缘计算领域得到了发展和落地,进一步拓展了云原生的应用领域:2018年,KubeCon正式公布了新的基于Kubernetes的生态系统KubeEdge,将Kubernetes生态系统从云端扩展到边缘。KubeEdge基于Kubernetes的架构体系并针对边缘场景提供了诸如离线运行能力、边云协同能力等多种特殊能力的支持,将云原生的生态和开发体验延伸到边缘,面向开发者提供统一的开发、部署、管理视图,屏蔽边缘和云端的差异。
云原生这一整套技术体系和方法论,在云化过程中可以起到从统一思想方法到云化战略落地的作用,可以预见将在未来的数字化转型中扮演重要的角色。在这一路径上,云的能力和企业管理能力、业务拓展能力能够在系列最佳实践和配套工具的支持下融汇结合,为实现组织的云战略发挥更为重要的作用。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
当PaaS与DevOps共行
DevOps和PaaS都不是最新技术。但是,统一规划能够有效带来成本效益。 当下许多组织正尝试不同形式的DevOps实践,它们越来越多地开始采用PaaS以实现更高的成本利用和流程效率。例如,企业已经在Salesforce等平台上构建应用程序,以立即访问已安装的用户群。相反,平台型服务商可以从第三方提供的增值中获益。 组织面临竞争压力,需要尽快为客户提供价值。包括大型云供应商都鼓励客户使用其PaaS服务产品构建云原生应用。许多公司正在基于云的方式构建新应用,并替换掉老的系统。 因而,PaaS的使用往往会导致更高水平的自动化,这对于DevOps团队无论是否已采用CI / CD都非常重要。PaaS还因自身云的属性提高了应用的可伸缩性。 咨询技术服务和数字服务商Capgemini North America的DevOps 架构师Venky Chennapragada表示,“我们认为,从客户的PaaS实践上来看,已经从单一的应用转向微服务架构。” 由于应用开发、测试、部署、监控都在云上进行,因此云原生开发科提高效率。 什么样的PaaS? 考虑到供应商锁定、成本、安全性及添加新功能(如聊天机器人、...
- 下一篇
数据科学很性感?不,其实它非常枯燥!
大数据文摘出品 来源:medium 编译:睡不着的iris 很多人把数据科学(或者机器学习)工作描绘的令人向往,激励自己和别人加入其行列。大家把数据科学想得非常完美,事实上它容易让人感到“枯燥”。一旦感到枯燥,你就容易焦虑。如此,导致数据科学工作的离职率非常高。 本文作者将告诉大家自己如何应对“数据科学中那些枯燥的工作”。 希望能够对你有所帮助,让你对数据科学有一个正确的认识,让你在决定走上数据科学的征途时,好好享受这场漫长的游戏! 第一课 我的表弟Shawn是个年轻英俊的小伙,最近他来了加拿大攻读计算机硕士学位。和很多学生一样,Shawn对机器学习充满热情。他希望过2年毕业的时候,可以成为一名数据科学家,或从事其他与机器学习有关的工作。 身为Shawn的表哥,我也关心Shawn是否成功,我决定以自己数据科学生涯的教训,给他提供最谨慎的建议。《哈佛商业评论》杂志将数据科学称为“21世纪最性感的工作”,但它和其他职业一样会让人觉得枯燥,甚至使人心力交瘁,你还会屡屡受挫。 即便这些话会让Shawn感到失望,我还是有义务把事实告诉他。希望他对自己选择的职业道路有充分的了解。更重要的是,我不希...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS8安装Docker,最新的服务器搭配容器使用