文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying以及作者@恺风Wei
本系列将对云计算进行学习,目前资料来自《云计算-概念、技术与架构》(第一作者:Tomas Erl)一书。目的是将书读薄。这本书看了第一部分,翻译怎么说呢,偶碰网络上的词不准确(极个别,不影响),可能是老师找学生翻译的。语言有些生硬,译者可能忠实原文,一对一进行了直译,所有读起来觉得不是中国人在说话,有些别扭。不管这么说,我决定还是看下去,重点是理清一些概念。
一些术语和概念
运营中如何进行周期性的更新补丁挺麻烦的。云计算可以解决(部分解决)之。云计算的基础包括集群、网格计算、虚拟化等等。
集群:云平台通过集群(cluster)提供内置冗余和故障转移。
网格计算:云计算是网格方式,提供逻辑资源池,网格计算与集群的区别在于,网格更为松耦合,更分散,例如可以跨地理位置,集群则不行。这种技术是以中间件等方式部署在计算资源上的。
虚拟化:用于创建IT资源的虚拟实例,多个用户可以共享底层处理能力。
云:一个独特的IT环境,其设计目的是为了远程供给可扩展和可策略的IT资源。
IT资源可以基于软件也可以基于硬件。
可扩展性的水平扩展:例如增添VM。可扩展的垂直扩展:2CPU变为4个CPU。
SLA:Service Level Agreement,服务等级协议,是云provider和云consumer之间签订的服务条款,主要规定QoS特点、行为、云服务限制等等。
云的关键在于“弹性”或者动态。
远程使用IT资源需要云用户将新人便捷扩展到外部云,这会引发安全问题。由于云资源共享,导致不同云用户的信任边界的重叠,提供了攻击IT资源的窃取数据的机会。由于云具有互联网的特点,即内部私有化,非工业标准,因此在不同的云之间迁移有困难,但人家要的就是binding。
云的一些角色
云提供者(cloud provider)、云用户(cloud consumer)、云服务拥有者(cloud service owner)、云资源管理者(cloud resource administrator)、其他(云审计者cloud auditor,云代理cloud broker,云运营商cloud carrier)。与字面意思有歧义的是cloud carrier,提供云用户和云提供者之间的线路级连接,不是指云的运营者。
云的特性
1、按需使用:on-demand usage
2、随处访问:ubiquitous access,高大上的词叫做泛在接入。
3、多租户(和资源池):multitenancy,租客之间的相互隔离的,例如使用VM技术。
4、弹性:elasticity。
5、可测量的使用:measured usage,云平台记录对IT资源使用情况的能力。
6、可恢复性(NIST-美国国家标准与技术研究院,National Institute of Standards and Technology,对云计算的定义只规定了五个特性,不包括此):resiliency。可恢复计算(resilient computing)是一种故障转移(failover)的形式,它在多个物理位置分放IT资源的冗余实现。
云交付模型
Cloud delivery model:IaaS、PaaS、SaaS。自此之上,又有变种,如存储即服务(Storage-as-a-Service),数据库即服务(Database-as-a-Serivce)等等。
IaaS:主要是原始的IT资源,和传统的IDC向比价,只要引入了虚拟化,提供了弹性。主要是虚拟服务器(CPU能力,内存,存贮空间)。产品例子:虚拟服务器,32GB内存,4T本地存贮,SLA(可用性99.5%,无故障转移),价格0.95/小时,0.05/1GB(从云中传出)
PaaS:Ready-to-use,已经部署好或者配置好的资源。PaaS产品带有不同的开发栈,例如Google App Engine提供的是Java和Python的环境。产品例子:应用服务器+DBMS平台,SLA(可用性99.5%,自动扩展),价格0.45/小时(5万个请求)。
SaaS:将软件程序定位为共享的云服务。产品例子:SLA(相应时间<0.5ms),价格每100请求0.05元。
云部署模型
常见为公有云、社区云、私有云、混合云。在这基础上也有上还有虚拟私有云(virtual private cloud),也成为专有云(dedicated cloud)或托管云。
虚拟化
虚拟化:对资源进行抽象和控制,通常是由虚拟化平台上的运行和管理工具构成。虚拟化是将物理IT资源转换为虚拟IT资源的过程,包括服务器、存储设备、网络、电源都可以被虚拟化。
运行虚拟化的物理机器称为host,能够对IT硬件进行仿真,将其表传好为基于软件的版本,而具体的硬件无关。
创建VM就是装机虚拟磁盘映像,这和我们在OS上创建虚拟机没有什么差异,特别是手机模拟器,其影片内容是二进制文本,因此可以进行简单的文件操作(copy,move,paste),对应VM的复制、迁移和备份。虚拟化可以是基于OS的,例如我们的Linux系统上的Android模拟器,我们在OS上运行虚拟化软件,但是性能会觉得比较差。为了提供性能,采用基于硬件的虚拟化,即将虚拟化软件直接安装在物理host的硬件上,无需在host os上,这个虚拟化软件一般指hypevisior(虚拟机监控器),由处理硬件管理功能的软件构成。
虚拟化IT资源的管理通常是由虚拟化基础设施管理工具Vitrualization Infrastructure Management,VIM来实现。
我们需要注意到对与高工作负载而又较少使用资源共享和复制的复杂系统而言,虚拟化可能并非理想选择,不要为了虚拟化而虚拟化。
多租户技术
对于SaaS,多租户应用:逻辑上同时访问同一个应用,但是每个用户对其使用、管理和定制的应用程序都有自己的试图,是该软件的一个专有实例。具有使用隔离(usage isolation),数据安全、可恢复性,应用升级(共享软件构建的同步升级不会对租户造成负面影响),可扩展性,使用计费(metered usage),数据层隔离等等。
一些说辞
我们说1+1、N+1,并发等,更合适的方式是冗余、容错配置。
代理中的主动代理会修改消息的内容(一般是消息头,甚至是消息体),或者修改消息路径;而被动代理不会进行修改,一般是读取消息,捕获特定内容以进行监控、记录或报告。
安全
保密性(confidentiality):只有授权方才能访问。
完整性(integrity):未被未授权方篡改的特性。
真实性(authenticity):由受过授权的源提供。包括不可否认性。例如在收到一个不可否认文件后,如果不产生一条对次访问的记录,那么用户就不能访问该文件。
可用性(avaliability):特定的时间段内可以访问和可以使用的特性。
威胁(threat):签章的安全性违反,可能试图破坏隐私并/或导致维护,一次挑战防护。由手动或自动策划的威胁被设计用来利用已知的弱点,这些弱点称为漏洞(vulnerability),漏洞有很多,包括配置缺陷、安全策略肉店、用户错误、固件缺陷、固件漏洞和安全架构薄弱。threat实施的结果就是攻击(attack)。
风险(risk):执行 一个行为带来损失或危害的可能性。一般以威胁等级和可能或已知的漏洞数量来衡量。
威胁作用者(thread agent)是引发威胁的实体。包括有匿名攻击者(anonymous attacker)、恶意服务作用者(malicious service agent,截取网络通信,试图恶意地使用或篡改数据,例如邪恶代理或伪装成服务代理)、授信攻击者(trusted attacker,也称为恶意租户malicious tenant)、恶意的内部人员(malicious insider)
这个图没啥用,是个将简单问题复杂化的图,但是用来画PPT觉得挺牛的,所以记录下来。说能将简单问题复杂化的和将复杂问题简单化的都是牛人。
常见的云安全威胁
流量窃听(traffic eavesdropping,破坏保密性)
恶意媒介(malicious intermediary,消息被恶意服务作用者截获并被篡改,破坏保密性和完整性)
拒绝服务(DoS,Denial of Service,而DDoS的第一个D是distributed,拒绝服务)
授权不足(授予攻击者访问权限或授权太宽泛,其变种为弱认证)
虚拟化攻击(virtualization attack,云provider赋予云用户对虚拟化IT资源的管理权限,由此而来云用户可能会滥用这种访问权限来攻击底层物理资源,或者利用虚拟化环境中的漏洞,获得了对底层物理硬件未被授权的访问)
信任边界重叠(攻击者利用多个云用户共享的基于云的IT资源)。
由于云的提供者和使用者不同,需要有SLA来界定双方的责任,同时鼓励用户进行风险评估(risk assessment,分析云环境,失败出威胁可能会利用的潜在漏洞和缺陷),风险处理(risk treatment,设计风险减轻策略和计划,处理风险评估阶段发现的风险),风险控制(risk control,此与风险监控相关,包括调查相关事件、审阅事件、是否需要调整策略)
相关连接:我的无限网络文章