基于 Cloud Foundry 的大企业私有云方案

90
基基 Cloud Foundry 基基基基基基基基基 基基基基 基基基

description

基于 Cloud Foundry 的大企业私有云方案. 用友软件 白小勇. 基于 Cloud Foundry 的大企业私有云方案. 用友 软件 白 小勇. 目录. 引子 为什么 Cloud Foundry 要这么设计? PaaS 平台要解决的三个问题? 开发方面的两个问题? 我们是怎样快速构建大企业私有云的? 概念界定 大企业为什么需要私有云? 基于 CF 的大企业私有云产品化之路 产品分析 开发任务 实施策略. 目录. 引子 为什么 Cloud Foundry 要这么设计? PaaS 平台要解决的三个问题? 开发方面的两个问题? - PowerPoint PPT Presentation

Transcript of 基于 Cloud Foundry 的大企业私有云方案

Page 1: 基于 Cloud Foundry 的大企业私有云方案

基于 Cloud Foundry 的大企业私有云方案用友软件 白小勇

Page 2: 基于 Cloud Foundry 的大企业私有云方案

用友软件 白小勇

基于 Cloud Foundry 的大企业私有云方案

Page 3: 基于 Cloud Foundry 的大企业私有云方案

目录• 引子• 为什么 Cloud Foundry要这么设计?

– PaaS 平台要解决的三个问题?– 开发方面的两个问题?

• 我们是怎样快速构建大企业私有云的?– 概念界定– 大企业为什么需要私有云?– 基于 CF 的大企业私有云产品化之路

• 产品分析• 开发任务• 实施策略

Page 4: 基于 Cloud Foundry 的大企业私有云方案

目录• 引子• 为什么 Cloud Foundry要这么设计?

– PaaS 平台要解决的三个问题?– 开发方面的两个问题?

• 我们是怎样快速构建大企业私有云的?– 概念界定– 大企业为什么需要私有云?– 基于 CF 的大企业私有云产品化之路

• 产品分析• 开发任务• 实施策略

Page 5: 基于 Cloud Foundry 的大企业私有云方案

Cloud Foundry 解决了什么问题?

Traditional IT

StorageServers

Networking

O/SMiddleware

Virtualization

DataApplications

Runtime

You

Man

age

O/S

PaaS

StorageServers

Networking

Middleware

Virtualization

DataApplications

Runtime

You

Man

age

Managed by Platform

Agility and Cost

Savings

O/S

IaaS

StorageServers

Networking

Middleware

Virtualization

DataApplications

Runtime

You

Man

ageM

anaged by Platform

From Accelerating your Journey to Application Transformation, EMC World 2012

5

Page 6: 基于 Cloud Foundry 的大企业私有云方案

Cloud Foundry 逻辑视图PC –浏览器访问

health manage

r

VMC client Mobile – App访问STS Plugin

Router 路由 (Nginx + Locator Service)

NATS 消息总线

service pool

MySQLMongoDB

Radis RabbitMQ

cc - db

uaa - db

uaa - AuthN

cloud controller

Stager

package cache

blobstore

Wardencontaine

r

核心业务

dea pool

Wardencontaine

r

CRM系统service

gateway

Caldecott

Servicenode

Oracle

service broker

LegacyApp

6

Page 7: 基于 Cloud Foundry 的大企业私有云方案

NATS

Cloud Foundry 逻辑视图PC –浏览器访问

health manage

r

VMC client Mobile – App访问STS Plugin

Router 路由 (Nginx + Locator Service)

NATS 消息总线

service pool

MySQLMongoDB

Radis RabbitMQ

cc - db

uaa - db

uaa - AuthN

cloud controller

Stager

package cache

blobstore

Wardencontaine

r

核心业务

dea pool

Wardencontaine

r

CRM系统service

gateway

Caldecott

Servicenode

Oracle

service broker

LegacyApp

7

other

Page 8: 基于 Cloud Foundry 的大企业私有云方案

两个主题一 . 为什么 Cloud Foundry要这么设计?二 . 我们是怎样快速构建大企业私有云的?

8

Page 9: 基于 Cloud Foundry 的大企业私有云方案

目录• 引子• 为什么 Cloud Foundry要这么设计?

– PaaS 平台要解决的三个问题?– 开发方面的两个问题?

• 我们是怎样快速构建大企业私有云的?– 概念界定– 大企业为什么需要私有云?– 基于 CF 的大企业私有云产品化之路

• 产品分析• 开发任务• 实施策略

Page 10: 基于 Cloud Foundry 的大企业私有云方案

主题一的概述

10

Page 11: 基于 Cloud Foundry 的大企业私有云方案

目录• 引子• 为什么 Cloud Foundry要这么设计?

– PaaS 平台要解决的三个问题?– 开发方面的两个问题?

• 我们是怎样快速构建大企业私有云的?– 概念界定– 大企业为什么需要私有云?– 基于 CF 的大企业私有云产品化之路

• 产品分析• 开发任务• 实施策略

Page 12: 基于 Cloud Foundry 的大企业私有云方案

PaaS 问题 1 – 弹性伸缩架构

12

Page 13: 基于 Cloud Foundry 的大企业私有云方案

PaaS 问题 1 – 弹性伸缩架构 – 分析

13

Page 14: 基于 Cloud Foundry 的大企业私有云方案

PaaS 问题 1 – 弹性伸缩架构 – 解决

14

Page 15: 基于 Cloud Foundry 的大企业私有云方案

dea 实现了资源切分 ( 应用层 )

15

dea.rbcontainer api

nat and firewall

private networkapp

private fswarden

container

虚拟网络接口切分网络

aufs切分存储

Warden 切分 cpu 、内存

Page 16: 基于 Cloud Foundry 的大企业私有云方案

router 实现了资源聚合 ( 应用层 )

16

Nginx(+lua extension)

upstreamlocator service

dea10.0.0.1

dea10.0.0.2

nats

http request

dea ip? 10.0.0.2

NATS

首次访问

二次访问

cookie:10.0.0.2

cookie:10.0.0.2

Page 17: 基于 Cloud Foundry 的大企业私有云方案

Cloud Foundry 逻辑视图PC –浏览器访问 Mobile – App访问

Router 路由 (Nginx + Locator Service)

Wardencontaine

r

核心业务

dea pool

Wardencontaine

r

CRM系统

service pool

MySQLMongoDB

Radis RabbitMQ

Servicenode

Oracle

LegacyApp

17

Page 18: 基于 Cloud Foundry 的大企业私有云方案

PaaS 问题 2 – 运维智能化

18

Page 19: 基于 Cloud Foundry 的大企业私有云方案

PaaS 问题 2 – 运维智能化 – 分析 1/2

19

Page 20: 基于 Cloud Foundry 的大企业私有云方案

PaaS 问题 2 – 运维智能化 – 分析 2/2

20

Page 21: 基于 Cloud Foundry 的大企业私有云方案

PaaS 问题 2 – 运维智能化 – 解决 1/2

21

Page 22: 基于 Cloud Foundry 的大企业私有云方案

PaaS 问题 2 – 运维智能化 – 解决 2/2

22

Page 23: 基于 Cloud Foundry 的大企业私有云方案

Cloud Foundry 基于消息的架构

uaa

service

cloud controller

dea

app app

ccdb

natsrouter

stager

health manager

23

Page 24: 基于 Cloud Foundry 的大企业私有云方案

nats 解决了什么问题?• 高可用的

• 模块自发现• 模块之间的松耦合

• 高性能的• 非阻塞的

• 编程简化• 基于事件和消息的模块通讯

24

发布者 主题

订阅者

订阅者

订阅者

hellohello

hello

hello

Page 25: 基于 Cloud Foundry 的大企业私有云方案

带线程池的多路 Reactor 模式 (nats 背后的原理 )

25

• 耗时 IO 操作不会阻塞线程• 避免了多线程切换• 降低了线程占用的内存

Page 26: 基于 Cloud Foundry 的大企业私有云方案

Cloud Foundry 逻辑视图PC –浏览器访问

health manage

r

VMC client Mobile – App访问STS Plugin

Router 路由 (Nginx + Locator Service)

NATS 消息总线

service pool

MySQLMongoDB

Radis RabbitMQ

cc - db

cloud controller

Stager

package cache

blobstore

Wardencontaine

r

核心业务

dea pool

Wardencontaine

r

CRM系统

Caldecott

Servicenode

Oracle

LegacyApp

26

Page 27: 基于 Cloud Foundry 的大企业私有云方案

PaaS 问题 3 – 支持按需服务 / 付费

27

Page 28: 基于 Cloud Foundry 的大企业私有云方案

PaaS 问题 3 – 支持按需服务 / 付费 – 分析

28

Page 29: 基于 Cloud Foundry 的大企业私有云方案

PaaS 问题 3 – 支持按需服务 / 付费 – 解决

29

Page 30: 基于 Cloud Foundry 的大企业私有云方案

Cloud Foundry 逻辑视图PC –浏览器访问

health manage

r

VMC client Mobile – App访问STS Plugin

Router 路由 (Nginx + Locator Service)

NATS 消息总线

service pool

MySQLMongoDB

Radis RabbitMQ

cc - db

uaa - db

uaa - AuthN

cloud controller

Stager

package cache

blobstore

Wardencontaine

r

核心业务

dea pool

Wardencontaine

r

CRM系统

Caldecott

Servicenode

Oracle

LegacyApp

30

Page 31: 基于 Cloud Foundry 的大企业私有云方案

目录• 引子• 为什么 Cloud Foundry要这么设计?

– PaaS 平台要解决的三个问题?– 开发方面的两个问题?

• 我们是怎样快速构建大企业私有云的?– 概念界定– 大企业为什么需要私有云?– 基于 CF 的大企业私有云产品化之路

• 产品分析• 开发任务• 实施策略

Page 32: 基于 Cloud Foundry 的大企业私有云方案

开发问题 1 – 平台开放性

32

Page 33: 基于 Cloud Foundry 的大企业私有云方案

开发问题 1 – 平台开放性 – 分析

33

Page 34: 基于 Cloud Foundry 的大企业私有云方案

开发问题 1 – 平台开放性 – 解决 1/3

34

Page 35: 基于 Cloud Foundry 的大企业私有云方案

开发问题 1 – 平台开放性 – 解决 2/3

35

Page 36: 基于 Cloud Foundry 的大企业私有云方案

开发问题 1 – 平台开放性 – 解决 3/3

36

Page 37: 基于 Cloud Foundry 的大企业私有云方案

通过 Services Broker 与现有企业服务的集成App

service gateway

创建 绑定

system service

使用 绑定

使用

service broker

企业服务

37

Page 38: 基于 Cloud Foundry 的大企业私有云方案

system service 接口能扩展哪些能力?

38

Page 39: 基于 Cloud Foundry 的大企业私有云方案

Cloud Foundry 逻辑视图PC –浏览器访问

health manage

r

VMC client Mobile – App访问STS Plugin

Router 路由 (Nginx + Locator Service)

NATS 消息总线

service pool

MySQLMongoDB

Radis RabbitMQ

cc - db

uaa - db

uaa - AuthN

cloud controller

Stager

package cache

blobstore

Wardencontaine

r

核心业务

dea pool

Wardencontaine

r

CRM系统service

gateway

Caldecott

Servicenode

Oracle

service broker

LegacyApp

39

Page 40: 基于 Cloud Foundry 的大企业私有云方案

开发问题 2 – 开发人员友好性

40

Page 41: 基于 Cloud Foundry 的大企业私有云方案

开发问题 2 – 开发人员友好性 – 分析

41

Page 42: 基于 Cloud Foundry 的大企业私有云方案

开发问题 2 – 开发人员友好性 – 解决

42

Page 43: 基于 Cloud Foundry 的大企业私有云方案

Spring Tool Suite plugin

43

Page 44: 基于 Cloud Foundry 的大企业私有云方案

Micro Cloud Foundry

Runtimes & Frameworks

Services

Your Laptop/PC

Micro Cloud Foundry

Single VM instance of Cloud Foundry that runs on a developer’s MAC or PC

44

Page 45: 基于 Cloud Foundry 的大企业私有云方案

Cloud Foundry 逻辑视图 – 回顾PC –浏览器访问

health manage

r

VMC client Mobile – App访问STS Plugin

Router 路由 (Nginx + Locator Service)

NATS 消息总线

service pool

MySQLMongoDB

Radis RabbitMQ

cc - db

uaa - db

uaa - AuthN

cloud controller

Stager

package cache

blobstore

Wardencontaine

r

核心业务

dea pool

Wardencontaine

r

CRM系统service

gateway

Caldecott

Servicenode

Oracle

service broker

LegacyApp

45

NATS

other

Page 46: 基于 Cloud Foundry 的大企业私有云方案

目录• 引子• 为什么 Cloud Foundry要这么设计?

– PaaS 平台要解决的三个问题?– 开发方面的两个问题?

• 我们是怎样快速构建大企业私有云的?– 概念界定– 大企业为什么需要私有云?– 基于 CF 的大企业私有云产品化之路

• 产品分析• 开发任务• 实施策略

Page 47: 基于 Cloud Foundry 的大企业私有云方案

主题二的概述

47

Page 48: 基于 Cloud Foundry 的大企业私有云方案

目录• 引子• 为什么 Cloud Foundry要这么设计?

– PaaS 平台要解决的三个问题?– 开发方面的两个问题?

• 我们是怎样快速构建大企业私有云的?– 概念界定– 大企业为什么需要私有云?– 基于 CF 的大企业私有云产品化之路

• 产品分析• 开发任务• 实施策略

Page 49: 基于 Cloud Foundry 的大企业私有云方案

概念 1 – 大企业的范围

49

Page 50: 基于 Cloud Foundry 的大企业私有云方案

概念 2 – 大企业私有云

50

Page 51: 基于 Cloud Foundry 的大企业私有云方案

目录• 引子• 为什么 Cloud Foundry要这么设计?

– PaaS 平台要解决的三个问题?– 开发方面的两个问题?

• 我们是怎样快速构建大企业私有云的?– 概念界定– 大企业为什么需要私有云?– 基于 CF 的大企业私有云产品化之路

• 产品分析• 开发任务• 实施策略

Page 52: 基于 Cloud Foundry 的大企业私有云方案

现状描述

52

Page 53: 基于 Cloud Foundry 的大企业私有云方案

传统企业 IT 存在的问题(内因) 1/4

53

Page 54: 基于 Cloud Foundry 的大企业私有云方案

传统企业 IT 存在的问题(内因) 2/4

54

Page 55: 基于 Cloud Foundry 的大企业私有云方案

传统企业 IT 存在的问题(内因) 3/4

55

Page 56: 基于 Cloud Foundry 的大企业私有云方案

传统企业 IT 存在的问题(内因) 4/4

56

Page 57: 基于 Cloud Foundry 的大企业私有云方案

大企业私有云的外部环境

57

Page 58: 基于 Cloud Foundry 的大企业私有云方案

Gartner‘s 2012技术成熟度曲线 (云计算 )

58

Page 59: 基于 Cloud Foundry 的大企业私有云方案

目录• 引子• 为什么 Cloud Foundry要这么设计?

– PaaS 平台要解决的三个问题?– 开发方面的两个问题?

• 我们是怎样快速构建大企业私有云的?– 概念界定– 大企业为什么需要私有云?– 基于 CF 的大企业私有云产品化之路

• 产品分析• 开发任务• 实施策略

Page 60: 基于 Cloud Foundry 的大企业私有云方案

大企业私有云 – 产品分析

60

Page 61: 基于 Cloud Foundry 的大企业私有云方案

Apache 2.0 是商业友好的开源协议

61

Page 62: 基于 Cloud Foundry 的大企业私有云方案

大企业私有云整体结构图

62

Page 63: 基于 Cloud Foundry 的大企业私有云方案

目录• 引子• 为什么 Cloud Foundry要这么设计?

– PaaS 平台要解决的三个问题?– 开发方面的两个问题?

• 我们是怎样快速构建大企业私有云的?– 概念界定– 大企业为什么需要私有云?– 基于 CF 的大企业私有云产品化之路

• 产品分析• 开发任务• 实施策略

Page 64: 基于 Cloud Foundry 的大企业私有云方案

大企业私有云 – 还需要做哪些事情?

64

Page 65: 基于 Cloud Foundry 的大企业私有云方案

弹性伸缩架构的扩展

65

Page 66: 基于 Cloud Foundry 的大企业私有云方案

readwritereadwrite

数据库层的资源聚合

66

App1 App2

databaseProxy

databaseProxy

App3

DaaS

Page 67: 基于 Cloud Foundry 的大企业私有云方案

运维智能化的扩展

67

Page 68: 基于 Cloud Foundry 的大企业私有云方案

基于 web 的管理控制台 – 应用监控

68

Page 69: 基于 Cloud Foundry 的大企业私有云方案

基于 web 的管理控制台 – 服务监控

69

Page 70: 基于 Cloud Foundry 的大企业私有云方案

支持按需服务 / 付费的扩展

70

Page 71: 基于 Cloud Foundry 的大企业私有云方案

开发方面的两个问题? – 概述

71

Page 72: 基于 Cloud Foundry 的大企业私有云方案

服务扩展 1/3 – 基础服务

72

Page 73: 基于 Cloud Foundry 的大企业私有云方案

服务扩展 2/3 – 组件服务

73

Page 74: 基于 Cloud Foundry 的大企业私有云方案

服务扩展 3/3 – 业务服务

74

Page 75: 基于 Cloud Foundry 的大企业私有云方案

现有软件的云迁移 1/2 – 问题分析

75

Page 76: 基于 Cloud Foundry 的大企业私有云方案

现有软件的云迁移 2/2 – 案例分享

76

Page 77: 基于 Cloud Foundry 的大企业私有云方案

在线应用开发工具 – 概述

77

Page 78: 基于 Cloud Foundry 的大企业私有云方案

在线应用开发工具 – 问题分析

78

Page 79: 基于 Cloud Foundry 的大企业私有云方案

OMG Model Driven Architecture

79

Page 80: 基于 Cloud Foundry 的大企业私有云方案

在线应用开发工具 – 标准的 MDA

80

Page 81: 基于 Cloud Foundry 的大企业私有云方案

在线应用开发工具 – 我们的思路

81

Page 82: 基于 Cloud Foundry 的大企业私有云方案

在线应用开发工具 – 关键组件 1/2 – PIM

82

Page 83: 基于 Cloud Foundry 的大企业私有云方案

在线应用开发工具 – 关键组件 2/2 – MVM

83

Page 84: 基于 Cloud Foundry 的大企业私有云方案

在线应用开发工具 – 特征

84

Page 85: 基于 Cloud Foundry 的大企业私有云方案

在线应用开发工具 – 案例分享

85

Page 86: 基于 Cloud Foundry 的大企业私有云方案

针对主平台的工作

86

Page 87: 基于 Cloud Foundry 的大企业私有云方案

目录• 引子• 为什么 Cloud Foundry要这么设计?

– PaaS 平台要解决的三个问题?– 开发方面的两个问题?

• 我们是怎样快速构建大企业私有云的?– 概念界定– 大企业为什么需要私有云?– 基于 CF 的大企业私有云产品化之路

• 产品分析• 开发任务• 实施策略

Page 88: 基于 Cloud Foundry 的大企业私有云方案

大企业私有云实施策略 1/2 – 新建系统

88

Page 89: 基于 Cloud Foundry 的大企业私有云方案

大企业私有云实施策略 2/2 – 迁移现有系统

89

Page 90: 基于 Cloud Foundry 的大企业私有云方案

Q & A用友软件 白小勇 新浪微博 : @quickbundle

Email: [email protected]