近日,京东购买的书《云计算概念、技术与架构》送到,怀着好奇,对这本书简单的阅读了一遍,现在几下自己的感受。
一项新技术的产生往往是由于需求的驱动,需求按照不同的类群又有着不同的需求,在阅读这本书的过程中感悟到了这句话。云计算技术的产生也是这样。首先是互联网的发展,人们从传统的信息共享方式,从书籍,报纸,电视,广播这些传统的接触信息的方式转变为通过上网,更具体的说通过浏览器,进而获得了各种人们需要的资料,随着这种便捷获取信息的逐渐普及,互联网中的存放的信息也变得非常丰富,应有尽有,这也逐渐改变了人们的习惯,人们越来越依赖于通过上网获取想要的信息,各种信息服务提供商(ISP)也在不断部署自己的服务器,服务器的数量也在不断增加。同时,由互联网也带来了人们生活方式的改变,互联网娱乐,互联网购物,互联网社交也在不断地发展着,由互联网所带来的应用也开始了爆炸式的发展,自然所有的应用都离不开后台服务器无私的二十四小时不间歇地运行。扯了这么多,会到主体,需求推动技术的发展。那么需求有哪些呢?我简单罗列如下:
1. 对于一个新起的互联网企业而言,如何更快的搭建用以支持自身企业需求的后台服务器,并迅速的部署相关的应用,同时能够较为方便的维护这些应用,提高其可靠性。
2. 对于拥有大量后台服务器的企业而言,面对这么多机器每天二十四小时不停地运行,耗能耗电是一项巨大的开支,服务器宕机也经常发生,如何能够降低服务器运营的成本呢?同时,对于服务器利用率的低下,据调查,现运行的服务器的平均利用率只有可怜的17%,因此,提高服务器的利用率也是一项能够减少企业开支的方法。
3. 对于一些需要服务器100%可靠性的企业而言,如金融行业的大公司,其数据的安全,数据的存储保护都对传统服务器的运营方式提出了挑战,如何能够进一步提升服务器的可靠性呢?
4. 对于WEB的快速发展所带来的数据量的指数级的增长,对于这些数量非常庞大的数据的处理需求也很迫切。
通过对云计算的学习与了解,我发现云计算的很多思想的产生都来源于这些需求的产生,而归根到底,这种需求是资本的需求,因此也可以这样说,是经济推动了技术的发展。下面谈谈自己对于云计算及其云架构的认识。
云计算是分布式计算和虚拟化技术结合的产物,虚拟化将计算机的资源进行了抽象、整合,包括CPU资源整合形成的CPU池,存储器整合形成的存储器池,通过按需分配的思想可以明显提高资源的利用率。其次,分布式计算可以有效地将系统负载进行适当分配,并行计算也明显提高了系统的计算能力,进而满足大数据处理的需求。
对于需求1,小型互联网创业公司由于所具有的资本也一般较少,如果选择并架设自己的应用处理服务器的话将是一笔不小的投资,设备本身需要钱,需要一定的空间去放置,设备需要耗电,进行冷却处理,也需要有专门的人负责进行架设并且进行维护,这都带来了初期投资的成本,因此,如果有公司能够提供服务器并且提供相应的技术支持,而创业者只需要支付一定的租赁费用,这无疑可以降低成本支出,于此同时,企业也能够将自己多余的服务器租赁出去,也为自己带来了巨大的利润,这是一件服务提供者和服务使用者双赢的模式,这就是所谓的IAAS服务。
对于需求2,服务器提供者而言,提高其服务器的使用率可以避免仿真资源的大量空置而带来的浪费,可是如何提高机器的使用率呢?企业当前的可运行的业务也一定已经全部部署,如何创造更多的业务需求呢?如果能在自己的机器上部署其他公司所需的业务或者是服务,如数据库服务,WEB服务,并通过租赁的方式收取一定的费用,这当然对于服务提供者而言是一件好事,这就是所谓的SAAS和PAAS。
对于需求3,此处仍以金融行业为例,比如一家银行,公司中的客户数据都牵扯着大量金钱,其可靠性和安全性自不用说,那么如何保证这两项重要指标能够满足公司需求呢?这就对于服务器的架构或可以说是部署方式带来了巨大的挑战,同样也推动了各式各样云架构的发展。
在阅读正本书的过程中,我也有了很多新的认识。这本书主要讲述了云计算的基础概念,一些专业术语,包括云服务提供者,云服务使用着,云逻辑网络边界,云提供者和云使用者之间的SLA,虚拟机服务器,虚拟机监控器,云定价,云审计,云安全相关问题,讲述了云计算中的一些关键技术,如虚拟化技术,分布式计算,多租户技术,云自动可扩展技术,水平扩展,垂直扩展,一致性算法,心跳技术,VM在线迁移技术,容错性技术,负载均衡技术,watchDog技术,更是介绍了一些设计相当巧妙的云架构,这些云架构分别是针对企业不同的应用需求而提出来的,所以此处也是验证了需求推动技术,需求决定产品的思想,具体的架构需要慢慢理解消化,虽说这些架构的实现没有能够完全读懂,但是其中也有思想对我是具有启发性的,比如,对事件的处理过程。首先是对事件进行持续监测,其次是对事件按照预定义的类型及其处理方式进行相应的处理流程,处理过程预先写到一个脚本中,事件监测和事件处理由不同的模块去处理,避免单个模块功能特别强大的思想也适合于进一步的事件扩展,之后再处理完事件后,对事件处理过程进行记录,生成报告,形成反馈,这个处理过程我觉得就很棒!
今天先写到这,明天继续补充有关自动化处理的相关问题,自动化处理大大提高了服务器的工作效率,降低了对系统运维人员的工作量,同时提高了运维的效率。