云计算在近年来不断发展,并越来越多的转化成实际的产品被企业级的客户接受并采纳,特别是云计算中的“平台即服务”(简称 PaaS)已经在云计算的发展浪潮中逐步站稳脚跟,Pivotal Cloud Foundry 的异军突起,逐步建立了 PaaS 在云计算的地位,使得平台公有云发展迅猛. 正是基于这样的趋势,IBM 发布了自己的公有云产品,产品名称是 IBM Bluemix。Bluemix 建立在 Apache 开源项目 Cloud Foundry 之上,并提供了 IBM 及其合作伙伴开发的高质量的服务供 IT 从业人员使用。
简单的讲,Bluemix 就是一个开放的公有云平台,允许程序员在上面运行几乎所有类型的应用,而不用为硬件,软件,网络等其他因素分心。Bluemix 处于云世界的中间层,也就是 PaaS 层。
Bluemix 运行时和 Buildpacks
在 Bluemix 中程序运行时是以 Buildpacks 的形式提供给用户的,通过下面这张图,可以了解运行时和 Buildpack 的关系。
在 Bluemix 中自带四种 Bludpacks,分别是 Liberty for Java,Node.js,Ruby on Rails,Ruby Sinatra。如果部署的应用是上面四种语言之一,那么在部署应用的时候就不需要指定相应的 Buildpack,平台自身会根据部署的应用类型选择对应的 Buildpack。如果需要运行php,.net等则需要指定Buildpack 类型,下图所列的就是目前 Bluemi 支持的运行时类型。
下面我们部署一个nodejs应用到bluemix平台上
注册Bluemix 账户
注册地址:
https://developer.ibm.com/sso/bmregistration?lang=zh_CN&ca=dwchina--bluemix--cl-bluemix-fundamentals-create-and-deploy-a-node-app-to-the-cloud-_-article
免费账号注册可以试用30天,注册完之后
1.创建组织
2.创建空间
之后就进入了自己的控制台
安装命令行接口
1.安装Cloud Foundry命令行界面(CF CLI)
https://github.com/cloudfoundry/cli/releases
2.安装Bluemix CLI
http://clis.ng.bluemix.net/ui/home.html
将应用程序部署到 Bluemix
1.登录 Bluemix
在命令行终端执行指令
cf api https://api.ng.bluemix.net/
cf login
2.上传应用程序
首先通过命令行到应用程序的文件夹目录,执行
cf push您的应用程序名称
Bluemix会先帮我们在组织空间里创建应用程序,路由,然后绑定域名,接着上传本地应用程序
之后会自动帮我们下载目录下package.json中的nodejs依赖库
最后平台会帮我们启动应用
3.访问应用
这样我们的应用程序就部署完成了,通过在浏览器输入https://你的应用程序名称.mybluemix.net/ 就可以访问我们刚上传的nodejs应用了,是不是很酷
更新程序代码
当我们在本地对代码进行了修改之后,还是通过指令
cf push您的应用程序名称
来更新我们的应用程序
不过这里我觉得比较麻烦的是我就修改了一个很小的地方,Bluemix做的工作是把我的整个应用目录又重新上传了一下,又重新下载nodejs依赖库,然后重启express服务器,整个过程的等待时间还是比较长的,所以建议还是在本地运行服务器测试完没有问题之后一起更新到bluemix上。
Bluemix控制台说明
这时候我们进入我们之前注册的bluemix控制台的第一项计算中就可以看到我们上传的应用和正在运行的应用
当我们点击正在运行的服务进入服务器详情界面
在这里,我们可以给我们的应用连接各种bluemix提供的服务
还可以添加git仓库
总结
这样你就可以使用Node.js和Cloud Foundry命令行来运行、修改、测试Web应用程序,并将其部署到云中,以便任何人都可以通过网络访问它。
参考文章
初探 IBM Bluemix
http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1406_zhuxl_bluemix/1406_zhuxl_bluemix.html
Bluemix 基础:将一个示例 Node.js 应用程序部署到云中
http://www.ibm.com/developerworks/cn/cloud/library/cl-bluemix-fundamentals-create-and-deploy-a-node-app-to-the-cloud/index.html
CLI 和开发工具
https://console.ng.bluemix.net/docs/starters/install_cli.html