辛星云计算笔记第二篇即云计算的架构

对软件系统来说架构是很重要的,因为它不仅定义了系统内部各个模块之间是如何整合和协调的,同时也对其整体表现起着非常重要的作用。而云,则是作为一个非常复杂的大型软件系统,其中包含着许许多多的模块和组件。

云架构可以分为服务和管理两大部分:

(1)在服务方面,主要包含三个层次,分别是:①Saas是Software  as  a  Service,也就是软件即服务,它是将应用主要以基于Web的方式提供给客户。②Paas是Platform  as  a  Service,也就是平台即服务,它是将一个应用的开发和部署平台作为服务提供给用户。③IaaS即Infrastructure  as  a Service,也就是基础设施即服务,它的作用是将各种底层的计算和存储等资源作为服务提供给用户。从用户角度来看,这三种服务是完全不同的,面向的用户也不同,但是从技术角度看,这三层有着很强的依赖关系。

(2)在管理方面,主要以云管理为主,它能够确保整个云计算中心能够安全、稳定的运行,并且能够被有效管理。

SaaS基本介绍:

(1)SaaS是最常见的也是最先出现的云计算服务,通过这种模式,用户只要接上网络,通过浏览器就能直接使用在云上运行的应用。SaaS云供应商负责维护和管理云中的软硬件设施,同时以免费或者按需使用的方式向用户收费,所以用户不需要考虑类似安装、升级或者防病毒等琐事,并且免去了初期高昂的硬件投入和软件许可费用的支出。

(2)SaaS的前身是ASP(Application  Service  Provider),其概念和思想与ASP相差不大。最早的ASP厂商有Salesforce.com和Netsuite,后面也有其他的企业,它们在创业时都专注于在线CRM应用,由于 那个时候的技术不成熟、缺少定制和集成等重要功能,网络环境欠佳,ASP并未受到市场的热烈欢迎,随后大批相关厂商破产。在2003年后,在Salesforce的带领下,残存的ASP企业都打出了SaaS这个口号,并且随着技术和商业上的成熟,很多企业都加入其中,国内的比如用友、金算盘、金蝶、阿里巴巴和八百客等等。

(3)由于SaaS产品起步较早,而且开发成本低,所以SaaS产品不论在数量上还是类别上都非常丰富。典型代表就是Google Apps、Salesforce  CRM、Office Web Apps和Zoho。

(4)现有的SaaS服务在功能上还不如传统的桌面软件,但是它的优点有四个:①使用简单。只需要接上网络就可以访问这个SaaS服务,无需安装、升级和维护。②支持公开协议。比如html4、html5等等。③安全保障。SaaS供应商会提供一定的安全机制,不仅要确保云端的用户数据绝对的安全,还要 确保与用户之间通信的安全。

(5)目前比较成熟的五中技术是:html、JavaScript、css、flash、silverlight。

PaaS基本介绍:

(1)通过PaaS这种模式,用户可以在一个提供SDK(Software  Development Kit,软件开发工具包)、文档、测试环境和部署环境等在内的开发平台上非常方便地编写和部署应用,而且不论是在部署还是在运行的时候,用户都无需为服务器、操作系统、网络和存储等资源的运维操心。

(2)业界的第一个PaaS平台诞生在2007年,是Salesforce的Force.com这个平台,我们不仅能使用Salesforce提供的完善的开发工具和框架来轻松地开发应用,还能够把应用直接部署到Salesforce的基础设施上,从而能利用强大的多租户系统。在2008年4月,Google也推出了Google  App Engine,从而将PaaS所支持的范围从在线商业应用扩展到普通的web应用。

(3)PaaS的产品以少而精为主,比较著名的有:force.com  、google  app engine、windows   auzre  platform和heroku。

(4)优势在于:①开发环境友好。可以进行远程部署。②服务丰富。PaaS平台会以API的形式将各种各样的服务提供给上层的应用。③管理和控制精细。PaaS能够提供应用层的管理和监控,从而更好地衡量应用的运行状态,还能够通过精确计量应用所消耗的资源来缴费。④伸缩性强。PaaS平台会自动调整资源来帮助运行于其上的应用更好地应对突发流量。⑤多租户机制。许多PaaS平台都自带多租户机制,不仅能够更经济地支撑庞大的用户规模,而且能够提供一定的可定制性来满足用户的特殊需求。⑥整合率高。比如Google
 App Engine能够在一台服务器上承载成千上万个应用。

(5)PaaS支持的技术比较常见的五种:rest、多租户、并行处理、应用服务器、分布式缓存

IaaS基本介绍:

(1)类似IaaS的想法很早就有了,比如过去的IDC和VPS,直到2006年底,Amazon发布了EC2这个IaaS云服务,这类技术才广泛被业界认可和接受。

(2)比较具有代表性的IaaS产品有:Amazon  EC2、IBM  Blue  Cloud、Cisco UCS和Joyent

(3)IaaS最明显的优势是:①免维护。用户不用操心维护工作。②经济。由于IaaS云大都采用虚拟化技术,所以应用和服务器的整合率普遍在10以上,也就是一台服务器运行10个应用。③开放标准。由于OVF等应用发布协议的诞生,应用也逐步可以在多个IaaS云上灵活地迁移。④支持的应用。因为IaaS主要是提供虚拟机,所以IaaS所支持应用的范围非常广泛。⑤伸缩性强。IaaS云只需要几分钟就能够给用户提供一个新的计算资源,而传统的企业数据中心往往需要几周的时间,并且计算资源可以根据用户需求来调整其资源的大小。

(4)IaaS采用的技术主要是四个:①虚拟化。也可以理解为基础设施层的多租户,也就是在一个物理服务器上生成多个虚拟机,成熟的虚拟化技术有VMware的ESX和开源的Xen。②分布式存储。主要是指分布式存储系统,比如Google的GFS。③关系型数据库。部署在云中的关系型数据库。④NoSQL,它是对海量数据的一种策略。

时间: 2024-11-06 16:55:20

辛星云计算笔记第二篇即云计算的架构的相关文章

辛星云计算笔记第一篇云计算的概念

云计算的优点: (1)从用户体验的角度看.对个人用户来说,云计算时代会出现越来越多的基于互联网的服务,我们无需客户端,只需要使用浏览器就能够轻松访问,而且我们可以把文档等数据放在云中来共享和协作,我们可以共同编辑一篇文章,然后通过严格的权限管理机制来确保协作是安全的.对企业用户而言,可以利用云技术优化现有的IT服务,使得现有的IT服务更可靠.更自动化,更可以将企业的IT服务整体迁移到云上,使得企业可以卸下维护IT服务的重担,从而更加专注其主营业务. (2)从成本的角度看.对个人用户而言,我们使用

《javascript权威指南》读书笔记——第二篇

<javascript权威指南>读书笔记--第二篇 金刚 javascript js javascript权威指南 今天是今年的196天,分享今天的读书笔记. 第2章 词法结构 2.1 字符集 JavaScript程序是用Unicode字符集编写. Unicode是ASCII和Latin-1的超集,支持几乎所有语言. ES3 要求支持Unicode 2.1及后续版本 ES5 要求支持Unicode 3及后续版本 2.1.1 区分大小写 JavaScript是区分大小写的. HTML 并不区分大

java学习笔记 第二篇 核心技术(二)

第十四章 集合类 集合类用来存放对象的引用.继承关系如下图: 14.1 Collection 接口 是层次结构中的根接口,构成Collection的单位称为元素.Collection接口不能直接使用,但该接口提供了添加元素.删除元素.管理数据的方法. Collection接口常用方法: 14.2 List 集合 包括List接口以及List集合的所有实现类.List集合中的元素允许重复,各元素循序就是对象插入的顺序 1.List接口,两个重要方法: get(int index): 获取指定索引位

c#开发Mongo笔记第二篇

写到第二篇不得不说是我之前犯了一个小错误,其实实现子表存储也是很简单的事,先说我想实现什么样的效果吧 就是用户表里有个成绩字段,成绩字段是个子表 其实实现这个功能也很简单,用面向对象的思想很好理解,子表就是user表的一个对象字段或者集合字段,所以我觉得用c#开发Mongo用面向对象的思想开发更合适一些 public class User { public ObjectId Id { get; set; } public string Name { get; set; } public stri

辛星网站构架师笔记第二篇

LVS是基于Linux系统的服务器集群解决方案,它的目标就是创建一个具有较好的扩展性.较好的可靠性.较高的性能的一个体系,很多商业的集群产品,都是基于LVS技术来实现的. LVS的核心就是通过一组服务器来进行负载均衡,通过前端的负载调度器,把请求无缝的调度到真实的服务器上,那么这样的话客户端是感受不到的.它的伸缩性就是在集群中加入或者删除节点来实现,通过检测节点或者服务进程的故障并且正确的设置来达到系统的高可用性,由于这个负载调度是在Linux内核中完成的,因此被称之为Linux 虚拟服务器,也

js学习笔记第二篇

Js笔记整理 1.StringAPI a)        大小写转换:str.toUpperCase();str.toLowerCase(); b)        获取指定位置字符: Str[i]--->倒数第二个str[str.length-2] str.charAt(i) str.charCodeAt(i);返回字符的Unicode吗? c)  查找关键字的位置: I.var i=str.indexOf(“kword”[,starti]);如果找不到返回-1,starti默认为0 Ii va

Android学习笔记(第二篇)View中的五大布局

PS:人不要低估自己的实力,但是也不能高估自己的能力.凡事谦为本... 学习内容: 1.用户界面View中的五大布局... i.首先介绍一下view的概念   view是什么呢?我们已经知道一个Activity是Android的显示层,但是Activity是不能直接显示在屏幕上的,它也像JSP那样,显示的东西是html,那么Android也不例外,Activity是一个抽象的壳子,而显示的东西就是view或者是viewgroup(图形用户组件)....   有了这个概念,我们就清楚view是如何

Node 之 Express 学习笔记 第二篇 Express 4x 骨架详解

周末,没事就来公司加班继续研究一下Express ,这也许也是单身狗的生活吧. 1.目录结构: bin, 存放启动项目的脚本文件 node_modules, 项目所有依赖的库,以及存放 package.json 中安装的模块,当你在 package.json 添加依赖的模块并安装后,存放在这个文件夹下 public,静态文件(css,js,img) routes,路由文件(MVC中的C,controller) views,页面文件(jade模板),后期打算换成 Ejs 模板搞搞 package.

《需求分析与系统设计》阅读笔记第二篇

可以将各种“意外困难”分为3类:利益相关者.过程.建模.软件本身就是复杂的,软件的复杂性随着软件的应用领域的性质不同而不同.由于软件生产实践而带来的困难,可以由人为的干涉来解决.可以将各种“意外困难”分为3类:利益相关者.过程.建模.软件本身就是复杂的,软件的复杂性随着软件的应用领域的性质不同而不同.利益相关者是在软件项目中存在利害关系的人.任何