所有的新事物都不是突然冒出来的,都有前世和今生。云计算也是IT技术不断发展的产物。要理解云计算,需要对IT系统架构的发展过程有所认识。
IT系统架构的发展到目前为止大致可以分为3个阶段:
1、物理机架构这一阶段,应用部署和运行在物理机上。比如企业要上一个ERP系统,如果规模不大,可以找3台物理机,分别部署Web服务器、应用服务器和数据库服务器。如果规模大一点,各种服务器可以采用集群架构,但每个集群成员也还是直接部署在物理机上。我见过的客户早期都是这种架构,一套应用一套服务器,通常系统的资源使用率都很低,达到20%的都是好的。
2、虚拟化架构决定了物理服务器的计算能力越来越强,虚拟化技术的发展大大提高了物理服务器的资源使用率。这个阶段,物理机上运行若干虚拟机,应用系统直接部署到虚拟机上。虚拟化的好处还体现在减少了需要管理的物理机数量,同时节省了维护成本。
3、云计算架构虚拟化提高了单台物理机的资源使用率,随着虚拟化技术的应用,IT环境中有越来越多的虚拟机,这时新的需求产生了:如何对IT环境中的虚拟机进行统一和高效的管理。有需求就有供给,云计算登上了历史舞台。
一、概念分解:云:云计算中的云,代表循环利用的意思(云多了变成雨,落到地面,云减少,水蒸发到空中,云增加)。计算:云计算中的计算,代表计算资源,涵盖虚机、存储、网络等。云计算:代表计算资源向云水循环一样,按需分配,循环利用。附:企业数据中心部署在云计算分布式平台上,类似于从原来单台发电机转向电厂集中供电模式,它意味着访问计算机和存储系统也可以作为一种商品流通,就像煤气、水电一样,取用方便,费用低廉,只不过它是通过互联网传输的,云就是互联网的一种比喻二、云计算分类:狭义:IT基础设施的交互和使用模式,通过网络以按需,易扩展的方式获取资源广义:服务(IT基础设施、软件等)的交互和使用模式,通过网络以按需、易扩展的方式获取资源。2、云计算所包含的几个层次服务:SaaS(SoftwareasaService):软件即服务,把在线软件作为一种服务。
将软件作为一种服务通过网络提供给用户,如web的电子邮件、HR系统、订单管理系统、客户关系系统等。用户无需购买软件,而是向提供商租用基于web的软件,来管理企业经营活动。典型应用:GoogleDoc、Saleforce.com、OracleCRMOnDemand、OfficeLiveWorkspace等
Paas(PlatformasaService):平台即服务,把平台作为一种服务。
将软件研发平台作为一种服务,如Eclipse/Java编程平台,服务商提供编程接口/运行平台等。典型应用:GoogleAppEngine、Force.com、微软Azure等
Iaas(InfrastructureasaService):基础设施即服务,把硬件设备作为一种服务。
用户通过网络获取虚机、存储、网络,然后用户根据自己的需求操作获取的资源。典型应用:亚马逊AWS等
知乎上看到,有人形象的将这三个比喻为:
IAAS和老婆生孩子
PAAS让老婆和别人生孩子
SAAS领养
3、OpenStack:是由Rackspace和NASA(美国国家航空航天局)共同开发的云计算平台,是一个开源的IaaS(基础设施及服务)云计算平台,让任何人都可以自行建立和提供云端运算服务,每半年发布一次,用Python语言编写
4、Openstack历史
5、OpenStack社区与链接
社区:www.openstack.org
wiki.openstack.org
6、云应用形式
(1)私有云
将基础设施与软硬件资源构建于防火墙内,基于iaas构建私有云平台供企业内部使用,开源组件有:openstack(最为出色),cloudstack等
(2)云存储
云存储系统是一个以数据存储和管理为核心的云计算系统
(3)云游戏
游戏运行云平台服务端,云平台将游戏画面解压缩后传给用户,用户端无需高配置处理器和显卡,只需要基本的视频解压缩能力即可。
(4)云物联
基于云平台实现物物相连的互联网。
(5)云安全
通过网状的大量客户端检测网络中软件的异常,获取木马,恶意程序的最新信息,推送到云平台服务端自动分析和处理,再把解决方案发送给每一个客户端。云平台使用者越多,越安全。
(6)公有云
云平台对外开放,主要以Iaas和Paas为主,较为成熟的是Iaas,如阿里云,腾讯云,青云,ucloud,首都在线等
(7)混合云
公有云和私有云的结合,即对企业内部又对企业外部,例如AWS
7、传统应用与云感知应用
(1)传统应用
传统应用像养宠物,宠物病了要细心呵护
每个应用都是独特的、专门的
专门的服务器、硬件和软件保证可靠性
资源不够,增加cpu、内存、磁盘
专门的技术支持
(2)云感知应用
云感知应用像养牛,牛生病了,你需要一头新的牛
应用跑在一个或多个虚拟机里
资源不够,增加新的虚拟机
应用挂起,重启或创建新的虚拟机
OpenStack为私有云和公有云提供可扩展的弹性的云计算服务,这种服务云必须是简单部署并且扩展性强。
1、模块松耦合
2、组件配置较为灵活
3、二次开发容易
OpenStack共享服务组件:数据库服务(DatabaseService):MairaDB及MongoDB消息传输(MessageQueues):RabbitMQ缓存(cache):Memcached
OpenStack核心组件:身份服务(IdentityService):Keystone计算(Compute):Nova镜像服务(ImageService):Glance网络&地址管理(Network):Neutron对象存储(ObjectStorage):Swift块存储(BlockStorage):CinderUI界面(Dashboard):Horizon测量(Metering):Ceilometer部署编排(Orchestration):Heat
一、核心项目3个
1、控制台
服务名:Dashboard
项目名:Horizon
功能:web方式管理云平台,建云主机,分配网络,配安全组,加云盘
2、计算
服务名:计算
项目名:Nova
nbsp;功能:负责响应虚拟机创建请求、调度、销毁云主机
3、网络
服务名:网络
项目名:Neutron
功能:实现SDN(软件定义网络),提供一整套API,用户可以基于该API实现自己定义专属网络,不同厂商可以基于此API提供自己的产品实现
二、存储项目2个
1、对象存储
服务名:对象存储
项目名:Swift
功能:REST风格的接口和扁平的数据组织结构。RESTFULHTTPAPI来保存和访问任意非结构化数据,ring环的方式实现数据自动复制和高度可以扩展架构,保证数据的高度容错和可靠性
2、块存储
服务名:块存储
项目名:Cinder
功能:提供持久化块存储,即为云主机提供附加云盘。
三、共享服务项目3个
1、认证服务
服务名:认证服务
项目名:Keystone
2、镜像服务
服务名:镜像服务
项目名:Glance
功能:为云主机安装操作系统提供不同的镜像选择
3、计费服务
服务名:计费服务
项目名:Ceilometer
功能:收集云平台资源使用数据,用来计费或者性能监控
四、高层服务项目1个
1、编排服务
服务名:编排服务
项目名:Heat
功能:自动化部署应用,自动化管理应用的整个生命周期;主要用于Paas