加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

解密云原生---看企业云的未来

发布时间:2018-09-30 03:45:56 所属栏目:云计算 来源:51CTO
导读:共享、敏捷和创新是互联网时代下企业信息化建设最大的转变。近几年企业云的发展也进入到了一个纵深阶段,是兼顾新老不同应用还是基于新的架构平台重建下一代应用,是我们必须要思考的课题。 对于大部分的企业来说,IT是有历史包袱的。因为原来的IT应用部署
副标题[/!--empirenews.page--]

共享、敏捷和创新是互联网时代下企业信息化建设最大的转变。近几年企业云的发展也进入到了一个纵深阶段,是兼顾新老不同应用还是基于新的架构平台重建下一代应用,是我们必须要思考的课题。

对于大部分的企业来说,IT是有历史包袱的。因为原来的IT应用部署模式,都是竖井式的,不同的应用都由不同的软件开发商提供的,系统之间还有网络安全隔离,各系统间还有协同关系,网络、应用拓扑很复杂。企业IT上云是一个系统性的工程,原来的应用可能还需要结合云上提供的虚拟机、网络和存储的特点进行必要的改造,不能简单的“原来物理机什么配置,虚拟机什么配置,原来应用什么架构,上云后什么架构”的迁移方法,这其实完全失去了“上云”的优势,要防止为了上云而云的做法。

云原生是一种构建和运行应用程序的方法,它充分利用了云计算交付模型的优势,更天然的贴合云的特点。云原生(Cloud Native),是Matt Stine提出的一个概念,它是一个思想的集合,包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)、康威定律(Conways Law)等,以及根据商业能力对公司进行重组。Cloud Native既包含技术(微服务,敏捷基础设施),也包含管理(DevOps,持续交付,康威定律,重组等)。Cloud Native也可以说是一系列Cloud技术、企业管理方法的集合。

云原生是一个不断丰富的理念和技术体系,它在基础架构、应用程序和管理上都将深刻的影响和改变企业云的未来!

1、基础架构的变革与云原生

基础架构即服务(IaaS)是云供应商的众多产品之一。它提供了原始的计算、网络和存储,客户可以根据需要消费。它还包括支持服务,如身份和访问管理(IAM)、供应和库存系统。

1

企业传统的数据中心基础架构具有这样几个特点:1、评估难。采购规模无依据,服务器和存储过量采购,硬件折旧快,很容易在降低IT成本和满足业务需求之间产生矛盾关系。2、部署慢。部署需要数周时间,设计复杂、范围大、人员协调难,迟滞于业务的快速变化,敏捷性差。3、管理成本高。不具备自恢复能力,管理成本高,难以应对业务规模增大带来的复杂管理需求,系统弹性差。4、可维护性差。缺乏端对端的可见性,出问题往往定位不清楚,互相扯皮,导致运营管理成本随业务规模呈几何级增长,可维护性差。

云的特点就是弹性、敏捷、分布式、可扩展、自管理自恢复,符合云的特点的基础架构就可以称为云原生基础架构。云原生基础架构需要在提供自主应用程序管理的IaaS之上创建一个平台。该平台建立在动态创建的基础架构之上,以抽象出各个服务并促进动态资源分配调度和扩展。云原生的基础架构需要在以下几个方面做出变革:1、科学评估,按需采购。改变采购模式,无需一次性大规模采购,抓取平台监控数据科学评估,按需采购及时补充;不依赖于特定的底层虚拟化(esxi/kvm/xen/hyper-v),解耦虚拟化平台,按需使用。2、部署快速。从上机架开始30分钟内即可交付使用,部署快速,这更多的需要软硬一体化的能力,软硬件的融合不仅可以降低用户使用云计算的复杂度,也大大降低的企业的应用风险。超融合通过对软硬件一体化的改造,不断提升产品的性能、密度、性价比和易用性等,切实让用户体验到什么叫“开箱即用”,快速部署。3、统一管理。通过软件统一管理计算、存储、虚拟化等资源,使运维管理简单化集约化。4、自管理高可用。全链路所有节点可见,分布式架构,线性扩展,无节点数限制,无单点故障,内置同城和异地容灾能力。

总结:当软件功能越来越强大之后,原来必须在硬件层面的支持就可以转移到软件上来实施。在基础架构这一层,技术驱动的结果就是企业用户越来越没必要花那么多钱去搞那么多昂贵复杂的专业设备了,软件定义的基础架构会越来越流行和重要。

2、云原生应用程序的构建和部署

一般说来,企业传统应用向云环境的迁移往往是一个应用重新部署的过程,而向PaaS或SaaS环境迁移,则要对应用系统进行重新拆分、重新设计架构和重新构建。很多应用系统PaaS化是为了更好的利用容器、微服务等技术和理念,实现弹性和敏捷,满足软件服务化的需求。

我们看到过去几年云平台在不断地发展,但应用程序在云平台运行,仍然需要为不同的开发语言安装相应的运行时环境。虽然自动化运维工具可以降低环境搭建的复杂度,但仍然不能从根本上解决环境的问题。

2

容器的出现成为软件开发行业新的分水岭;容器技术的成熟,也标志技术新纪元的开启。Docker让开发工程师可以将他们的应用和依赖封装到一个可移植的容器中,并且摆脱了环境依赖的问题。通过集装箱式的封装,开发和运维都以标准化的方式发布的应用,异构语言不再是桎梏团队的枷锁。

而Kubernetes则统一了容器编排系统,为云原生应用提供了一站式的服务。Kunernetes的出色表现,为运维工程师的工作模式带来了颠覆性的改变。他们再也无需像照顾宠物那样精心的照顾每一台服务器,而当出问题时,直接将出问题的服务器换掉即可。业务开发工程师不必再过分关注非功能需求,只需专注自己的业务领域即可。而中间件开发工程师,则需要开发出健壮的云原生中间件,用来连接业务应用与云平台。

随着云化的深入,越来越多的应用被部署在云端,以往单体应用的劣势就体现的愈加明显。因为应用变更的范围和周期被捆绑在一起,即使只变更应用的一部分,也需要重新构建并部署整个单体应用,而且无法对需要更多资源的部分模块单独扩展,而是必须将整个应用整体扩展。这样粗粒度的划分,不利于系统的管理和资源的利用。因此,人们越来越倾向于将应用进行合理的拆分。于是,微服务应运而生。它将一个复杂的单体应用分解成为多个独立部署的微型服务,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制,如:RESTFul API。服务可以使用不同的开发语言和数据存储技术。通过微服务的拆分,系统可以更加自由的将所需资源分配到所需的应用中,而不是直接扩展整个应用,同时这种扩展在垂直或水平方向都非常灵活简便。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读