Cloud Foundry简介

工业标准的云平台

  • 传统IT:用户管理一切,从硬件、OS到Runtime、、应用
  • IaaS:用户管理中间件、运行时和应用、数据
  • PaaS:用户只管理应用、数据

Cloud Foundry (CF)成为工业标准,也可以部署在IaaS之上。

CloudFoundry如何工作

云如何均衡负载

1. BOSH在物理基础设施之上创建和部署虚拟机(VMs)。 
2. Cloud Controller在VM上运行应用和其他进程,负载均衡和管理应用生命周期。
3. Router将外界入口流量路由到运行apps的VM上,通常和用户提供的负载均衡器一起工作。

应用如何Run Anywhere

CF设计了两类VMs:

  • 组件VM:平台架构的一部分
  • 主机VM:为外界托管apps

CF中,Diego系统分发所有的hosted apps负载到所有的hosted VMs,并通过一个拍卖算法保持它们正常运行。
为满足需要,多个host VMs运行同一个app的多个实例。因此app必须可移植:cf分发应用资源到VM,然后在VM中编译和运行app。这些资源包括:OS栈,一个包含app所用的所有编程语言、库和服务的buildpack。在分发app到VM之前,CloudController会stage这个app:把所有资源合并打包到一个droplet中,这样VM可以解压编译运行应用。

CF如何组织用户和工作空间

通过两个User Authentication and Authorization (UAA) 服务器管理用户账户,支持内部存储用户信息的服务如OAuth2,也支持连接到外部用户信息存储的服务如LDAP或者SAML。

CF在何处存储资源

  • Github:源代码,buildpacks,文档等资源
  • 内部或者外部的blobstore:大的二进制文件,如droplets
  • MySQL, Consul, etcd:存储临时信息,如内部组件状态

CF组件之间如何通讯

CF组件之间的相互通讯,是通过内部http和https协议发布消息,并通过NATS把消息发送到对方。

如何监控和分析一个CF部署

两类日志:组件日志,应用日志
日志聚合系统:聚合组件metrics和应用日志,存储到结构化的Firehose,可通过nozzles导出
组件日志以另外的机制工作:通过syslog agent流式化,可以配置流出到syslog drain

在CF中使用服务

开发者需要写Service Broker

你可能感兴趣的:(Cloud Foundry简介)