云计算与大数据技术应用
上QQ阅读APP看书,第一时间看更新

1.8 云计算技术的新发展

云计算作为一个新兴技术得到了快速的发展,云计算已经彻底改变了很多领域人们的工作方式,也改变了传统软件企业。下面来介绍一下现阶段云计算发展中最受关注的几项新技术。

1.软件定义存储(SDS)

软件定义存储(Software Defined Storage,SDS)至今并没有确切的定义,简单来说是在任何存储上运行的应用都能够在用户定义的策略的驱动下自动工作,这种理念就叫软件定义存储。数据中心中的服务器、存储、网络以及安全等资源可以通过SDS进行定义,并且能够自动分配这些资源。软件定义存储的核心是存储虚拟化技术。软件定义的数据中心通过现有资源和应用程序对不断变化的业务需求提供支持,从而实现IT灵活性。其核心思想是将资源池化——处理器、网络、存储和可能的中间件——通过这样的方式,可以生成计算的原子单位,并根据业务流程需求很容易地分配或取消。可以安装在商用资源(X86硬件、虚拟机监控程序或云)和现有计算硬件上的任何存储软件堆栈。

软件定义存储就是将存储硬件中典型的存储控制器功能抽出来由软件实现,这些功能包括卷管理、RAID、数据保护、快照和复制等。而且由于存储控制器的功能由软件定义存储实现,该功能就可以放在基础架构的任何一部分,形成真正的融合架构,同时创建了一个更加简单的可扩展架构。相对传统存储来说,大幅降低成本并与现有的虚拟架构紧密结合是软件定义存储的最主要优势。

软件定义存储在实现负载分离的同时,还提供敏捷性和快速扩展等特性。随着SDS混合云趋势的逐渐流行,软件定义存储已经成为一种主流技术,正在逐渐演化成为一种具体的架构方式。目前,很多主流厂商都能够提供软件定义存储解决方案。ZFS软件堆栈是比较流行的软件定义存储,其他的还包括商业化软件堆栈Nexenta等。一些专有的软件定义存储软件也出现了,包括GreenBytes、VMware收购的Virsto SVC、惠普的Leftland系列(也就是现在StoreVirtual VSA)、浪潮的AS13000等。

2.超融合基础架构(HCI)

超融合基础架构(Hyper-Converged Infrastructure,HCI)也被称为超融合架构,是指在同一套单元设备(X86服务器)中不仅具备计算、网络、存储和服务器虚拟化等资源和技术,而且还包括缓存加速、重复数据删除、在线数据压缩、备份软件、快照技术等元素,而多套单元设备可以通过网络聚合起来,实现模块化的无缝横向扩展(scale-out),形成统一的资源池。

HCI类似Google、Facebook后台的大规模基础架构模式,可以为数据中心带来最优的效率、灵活性、规模、成本和数据保护。超融合架构是将虚拟化技术和存储整合到同一个系统平台,简单地说,就是物理服务器上运行虚拟化软件(Hypervisor),通过在虚拟化软件上运行分布式存储服务供虚拟机使用。分布式存储可以运行在虚拟化软件上的虚拟机里,也可以是与虚拟化软件整合的模块。广义上,除了虚拟化计算和存储,超融合架构还可以整合网络以及其他更多的平台和服务。

从存储属性来看,HCI是SDS的一部分。HCI属于数据层面,具有在线横向扩展性,非常适合云化,但云化所需的存储资源即刻交付、动态扩展、在线调整,其实还需要借助控制层面的存储策略SDS才能完成。但SDS的发展,又需要借助超融合架构的落地和蓬勃发展才有可能成形。

目前,超融合典型代表厂商有Nutanix、VMware、SmartX、Maxta等,超融合的核心是存储,因此这些厂商都针对虚拟化场景实现了分布式存储,如Nutanix的NDFS,Vmware的vSAN、SmartX的ZBS、Maxta的MxSP。

3.软件定义数据中心(SDDC)和DevOps

软件定义数据中心(Software Defined Data Center,SDDC)是一种数据管理方式,它通过虚拟化来抽象计算资源、存储资源和网络资源,并将其作为服务提供。SDDC可以让客户以更小的代价来获得更灵活、快速的业务部署、管理及实现。为了促进这一过程,SDDC通过自动化运维软件,实现集中管理虚拟化资源,并自动化运营和分配工作流。SDDC具有三大优势:敏捷性(Agility),更快、更灵活的业务支撑与实现,以及软件开发模式的优化与变更;弹性(Elasticity),根据业务需求,资源具备动态可伸缩性(水平+垂直);成本效益(Cost-efficiency),软件的实现方式避免了重复硬件投资和资源浪费。

软件定义数据中心架构可以分为三个逻辑层:物理层、虚拟化层和管理层,它们共同提供了一个统一的系统,为企业提供更具管理灵活性、更具成本效益的数据中心运行方式。

(1)物理层

软件定义数据中心架构的物理层包括计算、存储和网络组件,以支持SDDC来存储和处理企业数据。计算组件包括在一个集群架构中组合的多个服务器结点,结点提供处理和存储资源来支持数据操作。存储组件可以由多种存储组成,如SAN、NAS或DAS,还可以包括HDD和SSD。SDDC架构的网络组件包括物理硬件,用于计算和存储资源之间的通信,并保护企业数据。网络组件的硬件包括交换机、路由器、网关和支持集群体系架构的SDDC通信所必需的任何其他组件。

(2)虚拟化层

虚拟化是软件定义数据中心的关键,虚拟化层包括用于抽象底层资源并将其作为集成服务提供的软件。虚拟化层的核心是管理程序,它将资源作为虚拟化组件提供。

计算虚拟化基于服务器虚拟化技术,将处理器资源和内存资源与物理服务器分离,它将计算资源组成为逻辑计算组件池,提升了资源的利用率。应用程序完全依赖于虚拟化的处理器和内存资源。存储虚拟化抽象了底层物理设备,并将存储资源虚拟化为逻辑资源池。与软件定义存储类似,存储虚拟化抽象出底层硬件的细节,这样可以为每个应用程序提供所需的存储资源,而不会影响到其他应用程序。网络虚拟化将可用资源从底层硬件中分离出来,使物理带宽成为可以实时分配或重新分配给特定工作负载的独立通道。

(3)管理层

物理资源的虚拟化只是软件定义数据中心架构的一部分,其基础架构还包括一个管理层,能够实现任务编排和自动化运营。管理层包括监控、警报和调度功能,以便管理人员可以监督运营、保持性能并执行高级分析。此外,该层与软件定义数据中心架构中内置的安全和数据保护机制相集成。管理层还提供业务逻辑,将应用程序需求和请求转换为执行编排和自动化操作的API指令,API使管理和虚拟化软件能够配置和管理资源,并解决策略实施和服务级别协议。

DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、方式或惯例,它通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加快捷、频繁和可靠。DevOps的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营必须紧密合作。

4.混合云服务兴起

混合云融合了公有云和私有云,是近年来云计算的主要模式和发展方向。私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越来越多地采用,它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,达到了既省钱又安全的目的。

混合云提供了许多重要的功能,可以使各种规模的企业受益。这些新功能使企业能够利用混合云,以前所未有的方式扩展IT基础架构。采用混合云主要有以下优点。

(1)降低成本

降低成本是云计算最吸引人的特性之一,也是促使企业管理层考虑采用云服务的重要因素。升级IT基础设施的成本很高,升级过程中往往需要购置额外的服务器、存储,甚至新建数据中心。混合云可以帮助企业降低这类成本,利用“即用即付”云计算资源来降低甚至消除购买本地IT设备的需求。

(2)增加存储和可扩展性

混合云为企业扩展存储提供了经济高效的方式,云存储的成本相比等量的本地存储成本要低得多,是备份、复制虚拟机和数据归档的理想选择。

(3)提高敏捷性和灵活性

混合云最大的好处之一就是灵活性。混合云使企业或个人能够将资源和工作负载从本地迁移到云,反之亦然。混合云使开发人员自己就能够轻松“搞定”新的虚拟机和应用程序,而无须IT运维人员的协助。企业还可以利用具有弹性伸缩特点的混合云,将部分应用程序放到云中以处理峰值业务需求。

5.雾计算和边缘计算

雾计算(Fog Computing)是一种对云计算概念的延伸,云在天空飘浮,高高在上,遥不可及,刻意抽象;而雾却现实可及,贴近地面,就在你我身边。雾计算将数据、数据处理和应用程序集中在网络边缘的设备(由性能较弱、更为分散的各种功能计算机组成)中,而不是全部保存在云中,导致数据传递具有极低时延。雾计算基于地理分布广,并且带有大量网络结点的大规模传感器网络。雾计算的移动性好,基于雾计算技术,手机和其他移动设备可以互相之间直接通信,信号不必传送到云端甚至基站去绕一大圈。

雾计算是介于云计算和个人计算之间的,是半虚拟化的服务计算架构模型,雾计算强调结点数量,不管单个计算结点能力多么弱都要发挥作用。与云计算相比,雾计算所采用的架构更呈分布式形态,完成的计算任务更接近网络边缘。雾计算将数据、数据处理和应用程序集中在网络边缘的设备中,而不像云计算那样将它们几乎全部保存在云中,数据的存储及处理更依赖本地设备而非服务器。雾计算是新一代分布式计算,符合互联网的“去中心化”的特征。

边缘计算(Edge Computing)是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供计算服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。边缘计算技术取得突破,意味着许多控制将通过本地设备实现而无须交由云端,处理过程将在本地边缘计算层完成。这无疑将大大提升云计算的处理效率,减轻云端的负荷。边缘计算由于更加靠近用户,可为用户提供更快的响应,将需求在边缘端解决。

无论是云计算、雾计算还是边缘计算,本身只是实现物联网、智能制造等所需要的计算技术的一种方法或者模式。严格讲,雾计算和边缘计算本身并没有本质的区别,都是在接近于现场应用端提供的计算服务。

6.安全性成为关键

云计算安全或云安全(Cloud Security)是指一系列用于保护云计算数据、应用和相关结构的策略、技术和控制的集合,属于计算机安全、网络安全的子领域,或更广泛地说属于信息安全的子领域。云安全从性质上可以分为两类,一类是用户的数据隐私安全,另一类是针对传统互联网和硬件设备的安全。

云计算因其节约成本、维护方便、配置灵活已经成为各国政府优先推进发展的一项服务,但用户及政府部门采用云计算服务也给其敏感数据和重要业务的安全带来了安全挑战,因此云安全成为云计算发展的关键。云安全技术也随之迅速发展。

云安全是要保护客户、企业和政府部门的信息安全,因此,云安全技术首先要了解客户及其需求,针对这些需求提供解决方案,如全磁盘或基于文件的加密、客户密钥管理、入侵检测/防御、安全信息和事件管理(Security Information and Event Management,SIEM)、日志分析、双重模式身份验证、物理隔离等。

云安全技术一直致力于实现跨域系统的安全和高效管理,已经有多项行之有效的安全标准被用于保障云计算的安全,它们包括:安全断言标记语言(Security Assertion Markup Language,SAML),服务配置标记语言(Services Provisioning Markup Language,SPML),可扩展访问控制标记语言(eXtensible Access Control Markup Language,XACML)和网络服务安全(Web Service Security,WS-Security)等。

在设计云计算平台时,就需要考虑云安全的应对措施,主要从以下三方面考虑:漏洞扫描与渗透测试,这是所有PaaS和IaaS都必须执行的;云安全技术配置管理,云安全技术中最重要的要素就是配置管理,比如说各种软件的升级或者补丁管理。在SaaS环境和PaaS环境中,配置管理由云计算服务的供应商负责处理;云安全技术控制,云计算服务的供应商负责所有云计算基础设施的运维,其中包括虚拟化技术、网络以及存储等各个方面,并且还负责其相关代码,包括管理界面和API,所以对供应商进行的开发实践进行评价和管控也是非常必要的。