F云计算软件架构变革童景文
© 2011 IBM
硬件利用率太低,费电、占空间、运维成本高;简而言之太不低碳了
利用率
硬件资源峰值负载 空闲时间
1
10
15
30
19
© 2011 IBM
监控对我们的业务至关重要,并且监控不是买一个东西实施下就好了的
Is it the Web server?
Is it the Application server?
4
© 2011 IBM
5
© 2011 IBM
市场的 例子
6
云计算分类
协同合作
业务流程
行业应用
软件作为服务(SaaS)
CRM/ERP/HR
IBM 的 例子
中间件
Web 2.0 应用运行环境
数据库
开发工具
软件平台作为服务(PaaS)
Java 运行环境
Blue Cloud,Pur eScale Appliicatio n System
Architect:机架式/刀片
27
© 2011 IBM
硬件体系层次提供的存储能力:一个例子
28
One Server DRAM 32GB DISK 1TB
Local Rack(16 Servers) DRAM 512GB DISK 16TB
Cluster(10 Racks) DRAM 5TB DISK 160TB
应用-核心支撑应用(统一用户管理中心、数据开发平台、监控),各种业务应用 etc
应用运行支撑-J2EE应用服务器、MQ、ESB、WorkFlow 、Hadoop、Web服务器 etc
数据-关系型数据库、NoSQL etc
Iaas- Iaas云计算平台管理:服务器虚拟化、存储虚拟化、网络虚拟化、自动化
缺少好的设计规范和 架构以及代码质量,如
何进行集成?
应用1 数据库1
13
应用2 数据库2
数据分析
应用3
数据库3
缺少统一的数据 标准,格式复杂, 逻辑复杂如何形 成一个好的数据
分析平台?
© 2011 IBM
很多企业当中都在建设数据中心以形成一个好的商业智能(BI)平台;以达到辅助业务 决策管理的功能。相应的数据流架构图例子
Software as a Service 用户通过标准的Web浏览器来使用 Internet上的软件。 用户不必购买软件,只需按需租用软件 典型应用:Lotus Live,
Platform as a Service 提供应用服务引擎,如互联网应用编 程接口/运行平台等。 用户基于该应用服务引擎,可以构建 该类应用。 典型应用:Google AppEngine, IBM PureScale Application System,SAE
© 2011 IBM
使用SSD固态硬盘提升性能
29
© 2011 IBM
使用固态硬盘提高性能
Processors
Very, very, very, very, very fast
< 10’s ns
Memory
Very, very, very fast
~100 ns
~1 second
30
SSD
Fast
1.无法获取准确、 完整的数据;甚至 不知道从哪获取
数据源层 业务数据库1
数据采集和数据填报层 (数据复制和ETL)
抽取 数据
数据仓库层和数据集市层
数据分析层 :报表,统计,预测,决 策支持等
业务数据库2
实施 复制
数
数据
据
基础数据库
采
通过分析 集
XLS获取 应
数据
用
通过调用 XLS数据 WebServices
17
© 2011 IBM
应用系统的逻辑部署架构--DB2数据库集群、WAS集群、前端均衡负载采用硬件方式
如果当我们的数据库服务器集群和J2EE应用服务器集群规模较大、并且能够提供高性能、高可靠性、高扩展 性服务的时候,却发现在最前端的WEB服务器(IBM HTTP Server做为HTTP Server的功能和做为J2EE应用 服务器集群的均衡负载的功能)出现了性能瓶颈的时候,我们建议采用硬件的方式来进行解决。当然这种方 式仅仅是为苏州提供服务的话出现这种机率很低,一般会出现在全省大集中的时候。这样的话就需要采购相 应的WebSphere DataPower XC10 Appliance 硬件。相应的应用系统的逻辑部署架构图如下图所示:
© 2011 IBM
8
© 2011 IBM
Agenda
前言 现有IT系统的主要问题
采用云计算技术后新系统的架构初探
9
© 2011 IBM
对于我们的Web 业务应用(架构师、开发人员将会围绕数据创建了传统的“n” 层软件栈(数据存储层、业务逻辑层与显示层))来说相应的应用全景图
10
© 2011 IBM
HTTP(均衡负载)
应用服务器 应用服务器 应用服务器 应用服务器 应用服务器 应用服务器 应用服务器
JDBC
JDBC
数据库服务器集群(DB2 PureScale)
DB2 数据库服务器
DB2 数据库服务器
SAN存储池
共享存储 共享存储 共享存储
主服务器正常的时候的交互路线
主服务器不正常的时候的交互路线
HTTP(均衡负载)
应用服务器 应用服务器 应用服务器
JDBC
JDBC
DB2数据库系统(主数据库服 务器:Active)
HA
DB2 数据库系统(备数据库服 务器:StandBy)
共享存储
主服务器正常的时候的交互路线
主服务器不正常的时候的交互路线
16
© 2011 IBM
应用系统的逻辑部署架构--DB2数据库集群、WAS集群、HTTP Server 均衡负载方式
Is it the network?
Is it the CPU?
Is it the Operating System?
Is it the Process server?
Is it really slow?
20
Is it the Portal server?
Is it the database?
© 2011 IBM
随着按照这种方式建设的应用系统越来越多,就出现了如下图所示的情况
11
© 2011 IBM
下图所示的是一个我们最喜欢用的经典的应用分层架构设计图
12
© 2011 IBM
应用竖井和数据孤岛
让企业整体IT应用形成一个 整体,信息可靠可信,提高 重用性降低开发成本和风险, 应用集成方便快速太难了
应用系统集成
应用服务器集群 (WebSphere Application
Server 集群)
HTTP
IBM HTTP Server (主 HTTP Server:Active)
HTTP(均衡负载)
用户
HA HTTP(当主HTTP SERVER 崩溃时将访问备 HTTP SERVER)
IBM HTTP Server (备 HTTP Server:Standby)
应用服务器集群 (WebSphere Application
Server 集群)
HTTP
IBM HTTP Server (主 HTTP Server:Active)
HTTP(均衡负载)
用户
HA HTTP(当主HTTP SERVER 崩溃时将访问备 HTTP SERVER)
IBM HTTP Server (备 HTTP Server:Standby)
硬件-服务器/存储/网络
25
© 2011 IBM
26
© 2011 IBM
高密度堆叠服务器,服务器低功耗、高性能。
Cluster(服务器集群)
服务器 CPU:x86/ Power DRAM DISK:HDD/SSD
Racks(机柜) 10台以上的服务器 以太网交换(光纤)/或者
Infiniband网络
1999年Salesforce成立,2001年发布在线CRM系统 2001年Google CEO Eric Schmidt 在搜索引擎大会上首次提
出”Cloud Computing“概念。 2003年Google逐步开始在内部使用云计算,2008年推出
Google AppEngine云计算平台 2006年Amazon正式对外推出弹性计算服务(EC2) 。。。各大全球知名厂商跟进(IBM,MicroSoft….)
对于我们现在的应用系统的数据库系统没有遇到很大的性能问题的时候,我们不建议DB2数据库系统进行集 群和均衡负载而建议采用数据库HA方式以提供数据库系统的高性能和高可靠性,相应的扩展性通过单台数 据库服务器的纵向扩展能力来支撑(即采用增加CPU和内存的方式),J2EE应用服务器采用集群和均衡负载 的方式。相应的应用系统的逻辑部署架构图如下图所示:
云计算-软件架构的变革
软件架构师
童景文
Weibo:@景文童
© 2011 IBM
声明
本文件中有些图片源自互联网,其版权归属相关图片的所有者。
2
© 2011 IBM
Agenda
前言 现有IT系统的主要问题
采用云计算技术后新系统的架构初探
3
© 2011 IBM
云计算起源和发展
1961年斯坦福教授John McCarthy 提出计算资源可以成为一 种重要的新型工业基础。类似水、电、气和通信。
Web服 均 务器 衡 Web服 负 务器
载 Web服 务器
让应用系统高效、可靠、 安全的运行太难了
应用服 均 务器 衡 应用服 负 务器 载 应用服