传统的数据中心面临的问题:成本、效率(要快)、管理方面(物理机、云主机);
云计算:对运维需求总体量是减少了,尤其是硬件工程师,对运维的技术要求提高了;
云计算是个概念,指资源的使用模式;
云计算特点:必须通过网络使用;弹性计算(按需付费,现公有云已支持按s、m、h计费);对用户是透明的(用户不考虑后端的具体实现);
云计算分类:私有云、公有云(amazon是老大、aliyun、tingyun、tencentyun)、混合云;
云计算分层:Iaas(infrastructure as a service)、Paas(platform as a service)、SaaS(software as a service);
注:
IaaS(也叫Hardware-as-a-Service,早期如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来,现在有了IaaS,你可以将硬件外包到别的地方去,IaaS公司会提供场外服务器,存储和网络硬件,你可以租用,节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用;一些大的IaaS公司包括Amazon、Microsoft、VMWare、Rackspace、Red Hat,这些公司都有自己的专长,比如Amazon和微软给你提供的不只是IaaS,他们还会将其计算能力出租给你来host你的网站);
PaaS(有时也叫中间件,公司所有的开发都可以在这一层进行,节省了时间和资源,PaaS为公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统,这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易,网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等;一些大的PaaS提供者有Google App Engine、Microsoft Azure、Force.com、Heroku、Engine Yard、AppFog、Mendix、Standing Cloud);
SaaS(这一层和我们的生活密切相关,我们大多时候是通过网页浏览器来接入,任何一个远程服务器上的应用都可以通过网络来运行,这就是SaaS,它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务,用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务,对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要,你消费的服务完全是从网页如Netflix、MOG、Google Apps、Box.net、Dropbox或者苹果的iCloud那里进入这些分类,尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分;一些用作商务的SaaS应用包括Citrix的GoToMeeting、Cisco的WebEx、Salesforce的CRM、ADP、Workday、SuccessFactors);
注:百科中的云计算:
背景(云计算是继1980年代大型计算机到客户端-服务器的大转变之后的又一种巨变;云计算(Cloud Computing)是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(LoadBalance)、热备份冗余(High Available)等传统计算机和网络技术发展融合的产物);云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源(Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.);
美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。XenSystem,以及在国外已经非常成熟的Intel和IBM,各种“云计算”的应用服务范围正日渐扩大,影响力也无可估量;
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage,applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
云计算用到了虚拟化技术(提高了资源利用率、便捷性和可管理性更强);
虚拟化(完全虚拟化FV、半虚拟化PV);
KVM(kernel-based virtual machine,结构简单,包括两部分(设备驱动/dev/kvm;针对模拟PC硬件的用户空间组件),KVM只支持FV,需要CPU中硬件虚拟化的支持,只可在有硬件虚拟化的CPU上运行,即具有VT功能的intel cpu和具有amd-v功能的amd cpu);
KVM虚拟化特性(嵌入到Linux正式kernel(提高兼容性);代码级资源调用(提高性能);虚拟机就是一个进程(内存易于管理);直接支持numa技术(提高扩展性);redhat已收购,更好的服务支持及商业保障;保持开源发展模式);
[root@server1 ~]# egrep --color 'vmx|svm'/proc/cpuinfo #(intel-vt关键字为vmx,amd-v关键字svm)
http://www.openstack.org/
openstack的诞生(nova、swift,a way for the rest of the world to compete with Amazon);
openstack的使命(to produce the ubiquitous open source cloud computing platform that will meet the needs of public and private clouds regardless of size,by being simple to implement and massively scalable);
openstack发展过程(austin(2010.10);bexar(2011.2);cactus(2011.4);diablo(2011.10);essex(2012.4);folsom(2012.9);grizzly(2013.4);havana(2013.10);icehouse(2014.4);juno(2014.10);kilo(2015.4);liberty;mitaka;newton);
注:从havana版本开始网络管理由quantum更名为neutron;openstack每隔6个月发布一次新版
icehouse included components组件:nova、neutron、cinder、glance、swift、horizon、keystone、ceilometer、heat、trove:
上图,FLAT单一平面网络(物理机和VM在一个网络中;生产中用于255台以下的VM;缺点(存在单一网络瓶颈,缺乏可伸缩性;缺乏合适的多租户隔离)
(5)dashboard仪表板,代号horizon:
theopenstack dashboard(horizon)provides a baseline userinterface for managing openstack services.
horizonnotes:stateless;error handling is delegated toback-end;doesn't support allapi functions;can use memcached ordatabase to store sessions;gets updated vianova-api polling;
horizon是一个允许管理和普通用户管理openstack各种资源和服务的web界面;通过openstack apis使web界面与openstack计算云控制器进行交互;horizon允许自定义;horizon提供了一组核心类库和可重复利用的模板及工具;
安装先决条件:安装openstackcompute(nova)和identity service(keystone);安装python2.6或2.7,必须支持django;browser必须支持HTML5,并启用cookies和javascript功能;
(6)cinder:
nova-volume(nova-volume manages thecreation,attaching and detaching of persistent volumes to compute instances;optional;iSCSI solution which uses LVM;volume can be attached only to 1instance at a time;persistent volumeskeep their state independent of instances;withinsingle openstack deployment different storage providers cannot be used;nova-volume drivers(iSCSI;Xen storage manager;nexenta;netapp;san);