云计算导论
1 引言
2 云计算定义
3 云计算与IT技术
4 云计算使用模式
5 云计算的影响
6 云计算对服务提供商意味着什么
7 云计算对于用户意味着什么
8 云计算基础设施基本特征
9 云计算的关联概念
10 云计算异军突起
11 效用计算
12 云计算和效用计算的比较
13 分布式计算
14 网格计算
15 云计算与网格计算的不同点
16 服务器集群
17 虚拟化
18 云计算存在的难题
19 云计算架构
20 10个使用云计算服务的企业
21 云计算市场划分和参与者
22 云计算开源项目
23 使用云计算服务的风险
云计算,火热的概念背后,是一个是一个如镜中花的概念,每个企业,每个个人,都站在自己所代表的利益方解读这个概念。如果,给一个中立的概念,从这里开始。
Foreword
Cloud computing, at backside of this buzzword, is a concept like the flower in the glass. Every enterprise and person, want to explain this concept by their own benefits. But, if give a neutral definition to it, begin it here.
云计算是一种资源交付和使用模式,指通过网络获得应用所需的资源(硬件、平台、软件)。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取。这种特性经常被比喻为像水电一样使用硬件资源,按需购买和使用。
Cloud computing definiton
Cloud computing is a resource delivery and usage model, it means get resource (Hardware, software)via network. The network of providing resource is called ‘Cloud’. The hardware resource in the ‘Cloud’ seems scalable infinitely and can be used whenever.(Refer to:http://searchsoa.techtarget.com/sDefinition/0,,sid26_gci1287881,00.html
)
云计算是随着处理器技术、虚拟化技术、分布式存储技术、宽带互联网技术和自动化管理技术的发展而产生的. 这种大规模的计算能力通常是由分布式的大规模集群和服务器虚拟化软件搭建。
Cloud computing and technology
New advances in processors, virtualization technology, distributed storage, broadband Internet access , automated management and fast, inexpensive servers have all combined to make cloud computing a compelling paradigm.This vast process power is usually got with a distributed, large-scale server cluster and server virtualization software.
传统的计算模式下,单台台式机的资源用来完成任务。在客户服务器模式下,服务器用来执行任务。在云计算模式下,网络超级计算机—“云”用来执行任务。用户能在任何时间任何地点通过互联网获取计算、存储、网络资源,并且能够按照处理器利用率、存储使用量、带宽消耗付费。
Cloud computing usage model
In traditional computing model, tasks are completed using a single desktop computer. In the client/serer model, tasks are completed using a remote server. In cloud computing model, tasks are completed using ‘Cloud’-a network super computer.Cloud computing allows users and companies to pay for and use the services and storage that they need, when they need them and, as wireless broadband connection options grow, where they need them. Customers can be billed based upon server utlilization, processing power used or bandwidth consumed.
云计算有可能颠覆软件产业,应用和许可被随时购买和生效,应用在网络上而不是本机上运行。这种转变将数据中心放在网络的核心位置,而所有的应用所需要的计算能力、存储、带宽、电力都由数据中心提供。云计算不仅影响商业模式,还影响开发、部署、运行、交付应用的方式。
Cloud computing impact
As a result, cloud computing has the potential to upend the software industry entirely, as applications are purchased, licensed and run over the network instead of a user's desktop. This shift will put data centers and their administrators at the center of the distributed network, as processing power, electricity, bandwidth and storage are all managed remotely. It affects not only business models, but the underlying architecture of how we develop, deploy, run and deliver applications.
http://gigaom.com/2008/02/28/how-cloud-utility-computing-are-different/
快速部署
缩小主机规模
提高资源利用率
提高管理效率
降低运维成本
基础设施可以放置在低土地和能源成本的地区
提供商业连续性服务
提高服务水平
复杂的体系结构
商业模式和理念的转变
What cloud computing means to service provider?
Fast Provision
Reduce servers scale
Increase resource utilization rate
Improve management efficiency
Lower maintenance cost
Location of infrastructure in areas with lower costs of real estate and electricity
Provide business continuity service
Improve management efficiency
Improve service levels
Complex architecture
Change of business model and faith
用户端负载降低
降低总体拥有成本
可能将应用的开发与基础设施维护相对分离
可能将程序代码与物理资源分离
不需要为一次性任务或罕见的负载状况准备大量设备
按需扩展资源
使应用具有高可用性
快速部署应用
按使用付费
What cloud computing means to suers?
Lower client workload
Lower Total Cost Ownership
Separation of infrastructure maintenance duties from domain-specific application development
Separation of application code from physical resources
Not have to purchase assets for one-time or infrequent intensive computing tasks
Expand resource on-demand
Make the application have high availability
Quickly deploy application
Pay per use
自愈合
多用户使用
虚拟化
线形扩展
资源监控和测量
资源注册和发现
Cloud computing infrastructure features
Self-healing
Multi-tenancy
Virtualized
Linearly Scalable
Resource Monitor and measure
Resource registration and discovery
云计算正成为行业中的热点概念。它和下面的词汇产生了或多或少的关连:网格计算,效用计算,虚拟化,服务器集群,主机租用,主机托管。云计算平台普遍用到了虚拟化技术,并且基于一个集群来构建,和网格计算和效用计算以及SaaS有着天然的联系,而且被用在IDC行业与主机租用和主机托管业务竞争。
Cloud computing’s brother buzzwords
Cloud computing is becoming one of the next industry buzz words. And it has more or less relation with these words: grid computing, utility computing, virtualization, server cluster, Dedicated server, Colocation. Cloud computing infrastructure usually use virtualization technology, and is built based on a server cluster, have nature relation to grid computing and utility computing, and is use to compete with Dedicated server and Colocation.
相对与云计算的兄弟概念而言,云计算只是刚刚兴起。从Google Trend 获取的信息我们可以看到,云计算在2007年末才被该系统统计,并且一直处于上升趋势。而同时,网格计算、效用计算、分布式计算的概念却呈现下降趋势。云计算和虚拟化应该会在托管平台上有所作为,而主机租用已经呈现下降趋势。
Cloud computing break out
Compared to its brother buzzwords, cloud computing is just beginning. Trends in usage of the terms from Google searches shows Cloud Computing is a relatively new term introduced in the past year. There has also been a decline in general interest of Grid, Utility and Distributed computing.
Cloud Computing and Virtualization are the next hot hosting platforms; the Dedicated server term is slowly starting to lose ground vs. Virtualization and Cloud Computing.
效用计算是一种提供计算资源的商业模式,用户从计算资源供应商获取和使用计算资源并基于实际使用的资源付费。简单说,是一种基于资源使用量的付费模式。效用计算主要给用户带来经济效益。企业数据中心的资源利用率普遍在20%左右,这主要是因为超额部署—购买比平均所需资源更多的硬件一边处理峰值负载,可预计到的或不可预计的。效用计算则允许用户只为他们所需要用到并且已经用到的那部分资源付费。
Utility computing is a business model of providing computing resource, user get and use the computing resource from service provider and pay for practically used resource. To say it simply, it is a price model based on resource usage quantity. The main benefit of utility computing is better economics. Corporate data centers are notoriously underutilized, with resources such as servers often idle 85 percent of the time. This is due to overprovisioning — buying more hardware than is needed on average in order to handle peaks (such as the opening of the Wall Street trading day or the holiday shopping season), to handle expected future loads and to prepare for unanticipated surges in demand. Utility computing allows companies to only pay for the computing resources they need, when they need them.
效用计算是是一种分发应用所需资源的计费模式。 云计算是一种计算模式, 代表了在某种程度上共享资源进行设计、开发、部署、运行应用,以及资源的可扩展收缩和对应用连续性的支持。效用计算通常需要云计算基础设施支持,但并不是一定需要。同样,在云计算之上可以提供效用计算,也可以不采用效用计算。
Comparison of Utility Computing and Cloud Computing
Utility computing is a business model, it is a type of price model to deliver application infrastructure resource. Cloud computing is a computing model, relates to the way we design, build, deploy and run applications that operate in a sharing resources and boasting the ability to dynamically grow, shrink and self-heal. Utility computing is often need a cloud computing infrastructure, but not must need. Sameness, above the cloud computing, we can adopt utility computing, and, we can adopt other price model.
参考:
http://www.processor.com/editorial/article.asp?article=articles%2Fp3015%2F31p15%2F31p15.asp
http://gigaom.com/2008/02/28/how-cloud-utility-computing-are-different/
http://www.ebizq.net/blogs/saasweek/2008/03/distinguishing_cloud_computing/
分布式计算是指在一个松散或严格约束条件下使用一个硬件和软件系统处理任务,这个系统包含多个处理器单元或存储单元,多个并发的过程,多个程序。一个程序被分成多个部分,同时在通过网络连接起来的计算机上运行。分布式计算类似于并行计算,但并行计算通常用于指一个程序的多个部分同时运行于某台计算机上的多个处理器上。所以,分布式计算通常必须处理异构环境、多样化的网络连接、不可预知的网络或计算机错误。
Distributed Computing
Distributed computing deals with hardware and software systems containing more than one processing element or storage element, concurrent processes, or multiple programs, running under a loosely or tightly controlled regime.In distributed computing, a program is split up into parts that run simultaneously on multiple computers communicating over a network. Distributed computing is a form of parallel computing, but parallel computing is most commonly used to describe program parts running simultaneously on multiple processors in the same computer. Both types of processing require dividing a program into parts that can run simultaneously, but distributed programs often must deal with heterogeneous environments, network links of varying latencies, and unpredictable failures in the network or the computers.
参考:
http://virtualization.sys-con.com/read/579826.htm
http://en.wikipedia.org/wiki/Distributed_computing
网格计算是指分布式计算中两类比较广泛使用的子类型。一类是,在分布式的计算资源支持下作为服务被提供的在线计算或存储。另一类是,一个松散连接的计算机网络构成的一个虚拟超级计算机,可以用来执行大规模任务。该技术通常被用来通过志愿者计算解决计算敏感型的科研、数学、学术问题,也被商业公司用来进行电子商务和网络服务所需的后台数据处理、经济预测、地震分析等。
Grid computing
Grid computing is a term for either of two broad subcategories of distributed computing: 1 Online computation or storage offered as a service supported by a pool of distributed computing resources, also known as utility computing, on-demand computing, or cloud computing. Data grids provide controlled sharing and management of large amounts of distributed data, often used in combination with computational grids. 2 The creation of a "virtual supercomputer" composed of a network of loosely-coupled computers, acting in concert to perform very large tasks. This technology has been applied to computationally-intensive scientific, mathematical, and academic problems through volunteer computing, and it is used in commercial enterprises for such diverse applications as drug discovery, economic forecasting, seismic analysis, and back-office data processing in support of e-commerce and web services.
http://www.zimbio.com/Distributed+Computing/articles/29/Different+Flavors+Utility+Computing+GRID+vs
网格计算强调资源共享,任何人都可以做为请求者使用其它节点的资源,任何人都需要贡献一定资源给其他节点。网格计算强调将工作量转移到远程的可用计算资源上。云计算强调专有,任何人都可以获取自己的专有资源,并且这些资源是由少数团体提供的,使用者不需要贡献自己的资源。在云计算中,计算资源被转换形式去适应工作负载,它支持网格类型应用,也支持非网格环境,比如运行传统或Web2.0应用的三层网络架构。
网格计算侧重并行的计算集中性需求,并且难以自动扩展。云计算侧重事务性应用,大量的单独的请求,可以实现自动或半自动的扩展。
Grid computing emphasizes on resource sharing, every grid node can apply for resource from other nodes, and every node should contribute resource to the grid. The focus of grid computing is on the ability of moving a workload to the location of theneeded computing resources, which are mostly remote and are readily available for use.Grids also require applications to conform to the grid software interfaces.
Cloud computing emphasize on proprietary, every user out of the cloud can get it’s own private resource from the cloud, and the cloud resource are provided by the specific service provider, the user need not contribute its resource. In a cloud environment, computing resouces, such as servers, can be dynamically shaped or carved out from its underlying hardware infrastructure and made available to a workload. In addition, while a cloud does support grid, a cloud can also support nongrid environments,
such as a three-tier Web architecture running traditional or Web 2.0 applications.
Grid computing emphasizes on computing sensitive task, and is difficult to automated scale. Cloud computing emphasizes on transactional application, a great amount of separate request, and can scale automatically or semiautomatically.
参考:http://soa.sys-con.com/read/587717.htm
http://groups.google.com/group/cloud-computing/browse_thread/thread/82bb44739d02a79b/c64455325fd865c7#c64455325fd865c7
http://download.boulder.ibm.com/ibmdl/pub/software/dw/wes/hipods/CloudComputingNEDC_wp_28May.pdf
服务器集群是指将一组服务器关联起来,使它们在外界从很多方面看起来如同一台服务器。集群内的服务器之间通常通过局域网连接,通常用来改善性能和可用性,但一般而言比具有同等性能功能和可用性的单台主机具有更低的成本。
网格通常更加松散连接、异构、地理位置分散,主机之间信任度更低。
Computer cluster
A computer cluster is a group of coupled computers that work together closely so that in many respects they can be viewed as though they are a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks. Clusters are usually deployed to improve performance and/or availability over that provided by a single computer, while typically being much more cost-effective than single computers of comparable speed or availability.[1]
Grids tend to be more loosely coupled, heterogeneous, and geographically dispersed, grid computers do not fully trust each other.
虚拟化指对计算资源进行抽象的一个广义概念。虚拟化对上层应用或用户隐藏了计算资源的底层属性。它既包括使单个的资源(比如一个服务器,一个操作系统,一个应用程序,一个存储设备)划分成多个虚拟资源,也包括将多个资源(比如存储设备或服务器)整合成一个虚拟资源。虚拟化技术是指实现虚拟化的具体的技术性手段和方法的集合性概念。虚拟化技术根据对象可以分成存储虚拟化、计算虚拟化、网络虚拟化等。计算虚拟化可以分为操作系统级虚拟化,应用程序级,和虚拟机管理器。虚拟机管理器分为宿主虚拟机和客户虚拟机。
Virtualization
Virtualization is a broad term that refers to the abstraction of computer resources. Virtualization hides the physical characteristics of computing resources from their users, be they applications, or end users.[1] This includes making a single physical resource (such as a server, an operating system, an application, or storage device) appear to function as multiple virtual resources; it can also include making multiple physical resources (such as storage devices or servers) appear as a single virtual resource.[2]
Virtualization technology is a aggregative term of technical means and methods to implement virtualization. It can be divided to many types based on objects: storage virtualization, computing virtualization, network virtualization. Computing virtualization include:OS level virtualization, application level virtualization, hyper visor. Hypervisor include: host vm and guest vm.
连续高可用性
某个集群的失效处理
一致性
不同集群的同步
互操作性和标准化
在萌芽和成长期,各厂商都试图建立自己的接口API
所有构件的扩展
信息保密
跨地区存储和数据传输可能会引发法律和政治问题
性能问题
差异化定制问题
组织障碍
Difficulties for cloud computing
Continuous high availability
Cosistency
Interoperability and standarlization
Scalability of all components
Data secrecy
Legal and political problem of data store and translation across regions
Performance issue
Difficulty customizing
Organizational obstacle
云计算平台一般分为以下几层:物理设施,虚拟化,管理,服务提供。物理设施被虚拟化,提供一个灵活的资源池体提高资源利用率。管理层负责物理资源和虚拟资源池的管理、部署、监控、报警等。服务提供层组合管理层的功能提供某种形式的服务。
he physical hardware layer is virtualized to provide a flexible adaptive platform to improve resource utilization. The keys to new enterprise data center infrastructure services are the next two layers, the virtualization environment and management layer. The combination of these two layers ensure that resources in a data center are efficiently managed and can be provisioned, deployed, and configured rapidly.
10 examples of entpereises using the clouds:
云计算技术和方案提供者:
云计算基础设施层服务:
云计算平台层服务:
基于云计算的服务(Saas,云存储):
Cloud computing infrastructure tech&solution provider:
Cloud computing infrastructure provider:
Cloud computing Paas provider:
Cloud computing based service provider:
Enomalism, convirt, redhat genome, hyperVM, lxlabs, LN, OpenNEbula, reservoir-fp7, scalr,eucalyptus,ganeti,gplhost,ovirt。
Useful open source projects to build cloud platform:
Kenso, hyperic, virt-P2V。
优先访问权风险
管理权限风险
数据处所风险
数据隔离风险
数据恢复风险
调查支持风险
长期发展风险
Potencial issues in cloud computing
1. Privileged user access.
2. Regulatory compliance.
3. Data location.
4. Data segregation.
5. Recovery.
6. Investigative support.
7. Long-term viability.