一、应用上云的痛点
2006年8月9日,Google前CEO埃里克·施密特在搜索引擎大会上首次提出Cloud Computing的概念。
云计算重构了ICT系统,给社会各行业带来了极大的变革、便利。
但云计算同样带来了新的问题:业务怎么上云?
(1)应用在云端重新部署:以脚本或手工方式在云端重新部署。
(2)打包本地已部署应用的系统 镜像 ,通过P2V/V2V等方式上传到云端运行。
应用上云的痛点
(1)重新部署:
本地与云端环境不一致
历史数据
(2)镜像:为了运行一个应用,拖了一个很大的镜像,且整个系统镜像非常重。
(3)同时,使用 虚拟化 技术,就会不可避免的带来额外的资源消耗和占用。
二、Cloud Foundry项目介绍
Cloud Foundry是业界第一个 开源 PaaS平台,最初由VMware开发,后转为开源。2015年,Cloud Foundry基金会成立。
1、Cloud Foundry等传统开源PaaS项目的作用
用于解决大规模的应用“上云“的问题。Cloud Foundry项目提供了“应用托管”能力,其核心组件是一套应用的打包和分发机制。
2、Cloud Foundry项目的实现过程:
(1)自动上传、运行应用包:运维人员需在本地物理机或虚拟机上部署一个Cloud Foundry项目。开发人员执行简单命令后,即可将本地到应用(应用的可执行文件和启动脚本)打包进一个压缩包内,上传到Cloud Foundry云端存储。Cloud Foundry会通过调度器选择一个可运行该应用的虚拟机并通知其agent下载该应用的压缩包,然后启动运行应用。
(2)为应用提供隔离的运行环境:由于一个虚拟机中可能需运行来自多个用户的不同应用,Cloud Foundry会调用Namespace和Cgroup为每个应用创建隔离的运行环境(沙盒),以实现应用间互不干涉。在这点上,与Docker Container的实现类似。