【摘要】本文重点介绍在混合云模式下,计算架构如何搭建,需要考虑哪些因素,未来的发展趋势如何。
转自@TWT社区【作者】张志强
概述
云计算被称为是继个人 PC 、互联网之后的第三次信息化革命,不仅实现了 IT 技术的革新,更是 IT 商业模式和服务模式的一次重大变革。越来越多的商业活动几乎都采用云计算技术作为后台支撑,实现按需服务,按需计费。
我国对云计算的产业高度重视,已把云计算产业的发展提到了国家战略的高度,在十二五规划中将云计算列入重点扶植的战略新兴产业。通过云计算技术缩小中小企业和大企业的 IT 应用差距,让每个人能以极低的成本获得顶尖的信息技术和服务。
随着云计算市场规模的不断扩大,应用场景涉及到个人数据存储、企业数据及应用支撑、国家公共基础设施支撑等多个领域,云计算的发展趋势自然已成为业界关注的焦点。
云计算从部署场景分为公有云、私有云和混合云,本文将重点介绍在混合云模式下,计算架构如何搭建?要考虑哪些因?未来的发展趋势如何?
云计算可不像西游记中的孙猴子一样,从石头缝中一下子蹦出来。它是经过了 16 年的技术发展与业务需求而形成的。16 年前,那个时期的计算机又笨重又昂贵,根本谈不上普及。之后随着芯片技术和软件计算的发展,体型越来越小,速度越来越快,价格逐渐亲民。各个企业可以购买符合业务性能需求的物理机,放到数据中心进行集中式的计算,这就形成了最原始的传统数据中心模型。
随着业务的快速增长, IT 需求强烈,采购传统物理机需求暴增,成本逐年提高。但从运维角度发现,大量服务器的性能并未被全部使用,造成严重的资源浪费。为解决此问题,雏形的云计算基础形成,也就是虚拟化技术。将一台物理机逻辑分隔成多个虚拟机,每个虚拟机相互隔离,提供不同的业务服务。
虚拟化解决了资源浪费的问题,但在服务的提供和使用上,与物理机类似,依然存在资源超配的现象。随着需求精细化、资源可视化的需求,云计算诞生了。根据需要的计算、存储、网络等资源实现按需付费。人们使用资源时不再需要拥有自己的计算系统,就像使用水、电一样,不需要自己建立发电站和水厂。
云计算从部署场景又分为公有云、私有云和混合云:
私有云:
顾名思义,是为一个个人、组织、公司提供专有资源的云计算平台。自建基础设施,并控制在此基础设施上部署应用程序的方式。提供对数据、安全性和服务质量的最有效控制。私有云可部署在企业数据中心的防火墙内,也可以部署在一个安全的主机托管场所,私有云的核心属性是专有资源。
公有云:
一般是指第三方提供商,如 AWS 、阿里、腾讯等公有云厂商,为用户提供服务的云。通过互联网,提供免费或成本低廉的服务,公有云的核心属性是共享资源服务。
混合云:
就是融合了私有云和公有云服务模型, 来提供云计算解决方案。混合云服务将内部 IT 基础架构与其他公有云产品和服务集成在一起,以满足企业的特定和独特需求。
云架构和传统架构如果不说一下,很可能会让读者混淆。其实云计算最大的好处就是便利,用户按需索取,服务商按需提供。
传统 IT 架构较为封闭,计算、存储、网络相对集中,管理分化,各个资源相对独立。
传统架构的特点:
首先要了解,云计算架构主要是为了解决业务扩展性和高并发的需求。从架构划分,可以分为基础设施层【 IAAS 】、平台层【 PAAS 】和软件服务【 SAAS 】三个层。
IAAS :
Infrastructure as a service 【基础设施即服务】,包括服务器、网络、存储等设备,池化计算、网络和存储等 IT 基础设施资源,将基础设施资源作为服务,按需提供给用户。用户无需购买任何硬件即可使用基础设施资源。
PAAS:
Platform as a Service 【平台即服务】,是指将一个完整的软件研发和部署平台,包括应用设计、应用开发、应用测试和应用托管,都作为一种服务提供给客户。在这种服务模式中,客户不需要购买硬件和软件,只需要利用 PaaS 平台,按需索取,就能创建、测试和部署应用和服务。
SAAS :
Software as a service 【软件即服务】,是一种通过互联网提供软件服务的软件应用模式。在这种模式下,用户不需要再花费大量投资用于硬件、软件和开发团队的建设,只需要支付一定的租赁费用,就可以通过互联网享受到相应的服务,而且整个系统的维护也由厂商负责,如 Gmail 、网盘、 QQ 邮箱等应用。
云计算架构的特点:
混合云作为未来云计算发展的趋势已经被越来越多的企业所接受,企业通过整合私有云和公有云的资源,结合各自特有的优势与实际业务相结合,整合资源,实现统一配置和管理,可以在多个环境(公有云、私有云或边缘环境)中以一致的方式交付和使用服务,充分展现混合云的价值。
混合云架构在设计方面建议参考以下几个原则:
大势所趋:
正所谓与什么斗,也不用和趋势斗。首先要明确一个数据,根据 Gartner 公有云使用方面的调研显示, 2016 年全球 IaaS 投入增长为 38.4% ,达到了 224 亿美元,并预计到 2020 年,全球 IaaS 投入将增至 560.5 亿美元,复合年增长率将达到 29% 。这意味着,企业内部自身的数据中心由于利用率较低,运营成本高等因素,企业经营者不愿投资太多,逐步将应用上云。
但是并不意味着企业内部的所有系统都可以进入公有云,所以长期来看,企业自有 IT 私有环境和公有云会长期并存,形成混合云形态,成为不可逆的趋势。
高可用性:
可靠性设计是云计算架构中亘古不变的原则。针对企业自有的数据中心架构,传统 IT 系统经常会谈到 “ 两地三中心 ” 架构 ( 即生产数据中心、同城灾备中心、异地灾备中心 ) 。这种模式下,主要目标就是防止各种级别的故障,导致业务受到影响。
针对云计算架构,多数据中心的高可用架构可以借助多区域( Region )架构方式来实现。在不同区域间实现远距离的灾备部署,保证当出现故障时,应用连续性和数据无丢失。
开放性:
针对每一个上云的用户,最担心的问题就两个,数据安全问题和被绑架问题。
所以一定要选择一个上下线自如、安全透明的云架构。能够方便的把企业各类业务应用平滑迁移上云,也可以在峰值过后,平滑地回退到企业数据中心来,不需要额外的应用代码修改。
低成本:
上云的目的很多,其中之一就是降低 IT 总体成本。所以在设计混合云架构的时候,要充分考虑企业内 IT 实际的投入成本。融合后的架构,能够帮助企业省下购买设备、软件和维护项目和费用,同时减少 IT 人员的投入,最终形成低成本投入,高效回报的成果。
便利性:
混合云是资源的统一配置和管理,可以在多个环境(公有云,私有云或边缘)中以一致的方式交付和使用服务,用户可以通过一个统一界面,实现云任务管理。
了解设计的原则后,就要围绕其对混合云架构进行整体设计。不同的层级有不同的架构设计,如计算架构、存储架构、网络架构、应用架构甚至安全架构等。
随着多云时代的到来,混合云优势突显,众多的企业信息化规划均已将混合云提上议程。运维领域经常说的一句话就是“鸡蛋不能放在一个篮子里”,于是基于多云的云管平台也逐渐取代单一的云管理平台成为热门话题。
整体混合云架构大面上分为用户层、服务层、计算层和基础设施层,引用业界同仁的一张架构图,可以很清楚地看出混合云架构的大概。
其实,这张图可以更加细化,突出每个层级的逻辑和特点,比如网络如何连接、安全体系如何建立等等,在后面的文章中,将一一分解,本次将主要针对计算架构进行讨论,从架构上、效果上及技术发展趋势上进行说明。
计算架构属于混合云架构的计算层,又细分为 IAAS、PAAS、SAAS ,本文就不一一进行术语解释了,大家可以在 TWT 网上找到相关的答案。
计算架构作为核心架构之一,虚拟化技术是计算的核心。从硬件虚拟化开始,经历了基于操作系统的虚拟化,基于容器虚拟化技术以及应用虚拟化等技术。每种虚拟化技术都有各自不同的优劣势,从当前的虚拟化技术发展和业务应用,基于容器的云计算模式已逐渐形成。通过容器的特点,可以最大限度地发挥每个硬件最大的计算资源,与 DevOps 相结合,实现业务快速迭代,提升生产效率。
容器云架构的流行带动了微服务架构的火热,容器技术提供一致性的分发手段和运行环境,使得只有微服务化后的应用架构,才能配合容器发挥其最大价值。而微服务化架构引入了很大的复杂性,只有应用容器化以及规模化的容器编排与调度才能避免运维效率下降。容器技术和微服务化架构之间就形成了一种相辅相成的互补关系。
计算架构作为最重要且最基础的核心架构,同类合并后总结出 4 个最关键且有效的原则,分别是:
大道至简
云计算已有 10 多年的发展历史了,越来越被企业所接受。计算架构作为核心基础,如果过于复杂的架构不利于云计算的实施与推广。
计算架构不应该是一个让人看不透,摸不着头脑的架构,这种架构在项目实施过程中往往问问层出不穷,难以排查,最终以失败告终。计算架构作为重要架构之一,应该秉承大道至简的原则,无论用户的基础设施选择如何,计算架构简单明了,满足业务基本需求,并允许用户更加简单地部署应用程序。同时,复杂的架构,只会延长实施和学习曲线,减慢部署速度,并在企业看到成果之前不断增加投资。尽可能的自动化架构,帮助企业用户简化管理过程。
开源基础
不得不承认,开源架构已成为技术发展的趋势。封闭式的架构很难被二次使用,架构扩
展困难,影响业务应用系统的快速部署。因为开源框架提供了对开发、 IT 运营或 DevOps 流程都至关重要的核心功能。以开源架构为基础的原则将确保企业的解决方案顺利落地和实施,而不必考虑底层基础设施的供应商是谁,兼容性如何等。
成本可控
记得以前刚学习架构的时候, IBM 的一位老师问大家一个问题,是否会因为自己设计的
架构过于简单而觉得自己很平庸。搞一个高大上的架构,才算本事,在领导面前也有牛 B 可吹。其实老师最终给了解答,一切技术架构都是为商业架构所服务的,能达到目的,走的路越短越好。所以,过于超前和复杂的架构,往往会增加建设成本,无论是研发成本、采购成本还是运营成本。
易于继承
计算架构不但要考虑业务的实际需要,更要考虑后续架构的运营承接能力。复杂的架构
在后续的运维承接上一定会出现各种不同的问题,难以被运维团队继承。所以在做计算架构的时候,一定要考虑后续的承接能力,避免有终无始。
混合云架构在上文已经做了简单介绍,计算架构作为核心架构之一,主要负责计算资源的管理,如资源虚拟化、虚拟资源的分配、调整、回收等。
通用计算架构可以完成大多数企业的计算需求,如图 6 所示:
计算架构主要分为基础设施层、虚拟化层、功能层、应用层及用户层。
基础设施层:
基础设施在本层可以理解为组成云平台的计算节点、存储节点、网络节点,也被称为“老三样”。那么本章重点介绍计算节点,计算节点提供 VM 所使用的计算资源,如 CPU 、内存。一般主机的资源的数量决定上次 VM 的最终数量,在实际的部署中,要充分考虑业务对 VM 的性能和数量的要求,从而采购符合要求和标准的计算节点。
虚拟化层:
虚拟化层的主要功能就是将计算、网络和存储资源池化,按照 VM 的实际需求进行资源分配。主流的虚拟化软件如 VMware 、 Hyper-V 、 KVM 等,云操作系统如 Openstack 、 VMware 及 SCVMM 等。
功能层:
主要是虚拟化软件中的功能模块,如计费、资源控制、资源监控、功能扩展等。主流的如软件定义存储( SDS ) 软件定义网络( SDN ) 软件定义安全( SDSecurity )等
应用层:
主要是各种业务应用,所有资源都会从池子中分发到应用所在的 VM 中。计算架构就是为应用而更好的服务的。应用的类型决定资源的利用情况,从资源利用率上来看,针对非关键应用采用动态调整策略,核心应用采用固定资源策略。
用户层:
各种用户终端可以通过内、外网进行云服务访问,终端设备包含但不限于笔记本、台式机、服务器、移动设备甚至各种智能设备等,如物联网。
计算架构的演进
计算架构始终随着云计算的发展趋势而发展。历经 10 多年的发展历程中,计算架构发生了多次改革,从最早的硬件分割开始,经历了分区虚拟化、操作系统虚拟化,到现在的基于容器技术的虚拟化等。
随着互联网技术的发展及业务场景的层出不穷,虚拟化技术不断演进。当前主流的虚拟化技术非容器技术莫属。容器技术作为新的计算架构已经开始普及,越来越多的企业开始部署和规划。其自身的特点非常适合 DevOps 、敏捷开发及微服务的场景。未来的计算架构一定是实时的、敏捷的、快速伸缩及具备普及性的。
技术趋势
容器化、微服务化、原生化是当前 IT 系统演进的大趋势。越来越多的企业不是已经在使用容器,就是在准备使用容器的路上。原生化不仅改变了已有应用的架构,也促进了业务的多元化发展,实现 IT 系统的服务规模加速提升。尽管容器技术目前看来呼风唤雨,但挑战还是真实存在的,比如:
相信随着技术的不断发展、成熟以及业务的多元化深入,容器技术在未来一段时间内一定是虚拟化技术发展的趋势。
应用趋势
容器技术的普及、云计算的发展带动整个应用产业得改革,微服务化、 SAAS 化、轻量化将成为应用发展趋势的代名词。
利用容器等技术与 DevOps 相结合,实现敏捷开发,提高应用的开发周期和按需发布的能力。云计算的不断发展,有越来越的用户开始接受 SAAS 带来的便利性和稳定性。通过 SAAS 降低企业建云成本,提高企业的专注度,专业的人做专业的事情。应用可以随着业务的转变而迅速迭代,利用容器技术,应用可以轻量化部署,提升企业转型速度,提高业务的稳定性。
结束语
计算架构一定会随着业务的需要和整体云计算计算的发展不断更新,但是万变不离其宗,所有技术架构都是为商业架构而服务的。脱离业务的架构就如同人没有骨架,无法撑起身体而前进。相信计算架构会随着技术的发展,越来越开源化、轻量化和更具前瞻性。