怎么学习云计算?云计算到底要学什么?

云计算已经成为了IT界的热门技术,甚至被视为将根本改变生活方式和商业模式的革命技术。借助云计算,网络服务提供者可以在瞬息之间,处理数以千万计甚至亿计的信息,实现和超级计算机同样的效能。云计算可以被视为网络计算和虚拟化的融合:即利用网格分布式计算处理能力,将IT资源构筑成一个资源池,再加上成熟的服务器虚拟化、存储虚拟化技术,是用户可以实时的监控和调配资源。

云计算系统运用了许多技术,其中以编程模型、数据管理技术、数据存储技术、虚拟化技术、云计算平台管理技术最为关键。

编程模型

MapReduce是Google开发的java、Python、C++编程模型,它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行运算。严格的编程模型使云计算环境下的编程十分简单。MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。

海量数据分布存储技术

云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现HDFS。

海量数据管理技术

云计算需要对分布的、海量的数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。云计算系统中的数据管理技术主要是Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase。

云计算的挑战和展望

云计算技术的发展面临这一系列的挑战,例如:使用云计算来完成任务能获得哪些优势;可以实施哪些策略、做法或者立法来支持或限制云计算的采用;如何提供有效的计算和提高存储资源的利用率等等。此外,云计算宣告了低成本超级计算机服务的可能,一旦这些“云”被用来破译各类密码、进行各种×××,将会对用户的数据安全带来极大的危险。

猜你喜欢

转载自blog.51cto.com/13890787/2152795