Top Banner
基基 Cloud Foundry 基基基基基基基基基 基基基基 基基基
90

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

Feb 22, 2016

Download

Documents

Ivi

基于 Cloud Foundry 的大企业私有云方案. 用友软件 白小勇. 基于 Cloud Foundry 的大企业私有云方案. 用友 软件 白 小勇. 目录. 引子 为什么 Cloud Foundry 要这么设计? PaaS 平台要解决的三个问题? 开发方面的两个问题? 我们是怎样快速构建大企业私有云的? 概念界定 大企业为什么需要私有云? 基于 CF 的大企业私有云产品化之路 产品分析 开发任务 实施策略. 目录. 引子 为什么 Cloud Foundry 要这么设计? PaaS 平台要解决的三个问题? 开发方面的两个问题? - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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]