首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 IBM Bluemix 开发和部署 Python 应用-1

使用 IBM Bluemix 开发和部署 Python 应用-1

本帖最后由 look_w 于 2018-1-23 08:24 编辑

本文将从一个开发人员的角度,介绍 Bluemix 运行时对不同应用类型的支持,重点讲解如何使用 Bluemix 平台来开发和部署 Python                类型的应用,主要内容包括:如何使用 Bluemix 开发和部署一个 Python Web 应用,在开发和部署 Python                应用的时候,会用到命令行工具来进行部署,并通过 Bluemix Web 控制台进行管理。最后本文还会结合 Apache Spark 服务来讲解如何在                Bluemix 上通过 Python 来做科学计算和数据分析。
环境准备及相关账号申请
  • 申请 GitHub 账号本文用到的应用程序的源码是托管在 GitHub 上的,请自行申请 GitHub 账号,申请地址:
  • 安装 Git 命令行工具, 使用 Git 命令行可以下载和提交代码到 GitHub。下载地址:
  • 注册 Bluemix 账号申请地址: 在页面右上角点击 SIGN                        UP,填写相关信息提交申请,Bluemix 会发一封确认邮件到注册邮箱,需要手工进入注册邮箱点击确认,才能成功注册。第一次登陆                        Bluemix 控制台的时候,会要求创建工作空间。
  • 安装 CloudFoundry 命令行工具通过此工具,可以使用 Cloud Foundry 相关命令与 Bluemix                        云环境交互,进行应用的部署,管理和服务的相关操作。参考
什么是 BuildpacksIBM Bluemix 是基于开源云平台 Cloud Foundry 构建的,之所以 Bluemix ( Cloud                Foundry ) 可以支持运行几乎所有类型的应用,其原因是因为引入了 Buildpacks 的概念。通俗的来讲,Buildpacks                主要的功能是:自动的探测应用的类型,并根据应用的类型和开发者提供的应用的描述和依赖,对应用所需的运行时和第三方依赖进行编译打包,最终生成一个由运行时,第三方依赖以及应用程序本身构成的可执行的实体(Droplet),并告知                Bluemix 平台,如何去启动和停止这个实体。从这个功能描述中,我们可以得出,Buidpacks 最终的产生是一个 Droplet,这个                Droplet 可以看成是对应用程序和运行时以及依赖的封装,这种封装对 Bluemix                平台本身屏蔽了一些具体的细节,对于平台来说,最终要运行的实体就是 Droplet,不同的应用类型,最终都会被封装成具有相同格式和接口的                Droplet,这些 Droplet 最终会被平台去运行。正是这种"封装"的机制,保证了几乎所有类型的应用都能在 Bluemix                平台上运行,而且行为一致。如果想要了解更多关于 Buildpacks 和 Droplet 的技术细节,可以访问参考资源。
Python Buildpack对于 Python 应用,Bluemix 内置了 Python Buildpack 来对 Python 类型的应用进行支持。Python                Buildpack 同时支持 Python 2 和 Python 3 的应用,但是要求 Python 应用的根目录里至少有一个                requirements.txt 或者 setup.py 文件,否则 Python Buildpack 将不能正常工作。
上手 Bluemix Python Buildpack在开始进入动手开发和部署之前,我们先通过 Bluemix 控制台提供的 Python 应用模板在 Bluemix 上部署一个 Python Web                应用,从而对 Python 应用在 Bluemix 上的部署和结构有一个快速的了解。
登录 Bluemix 控制台在浏览器中访问 Bluemix 全球站点 , 点击右上角的"Log In",输入已经注册成功的                Bluemix 账号和密码就能登录到 Bluemix 的控制台。如果是初次登陆,Bluemix                会引导用户创建属于自己的工作空间(Space),读者根据提示完成即可。工作空间用来包含和展示用户的应用,服务以及其他计算资源,是用户和                Bluemix 交互的主要场所。用户可以根据不同的目的和需求来创建不同的工作空间,来对计算资源和应用进行隔离或者分类。
图 1. Bluemix                    主页登陆成功以后,点击左上角的目录图标,并选择 Apps > Cloud Foundry Apps,然后点击"Create Cloud                Foundry Applications"
图 2. 创建第一个 Python                    应用Bluemix 预制了大概 10 种不同应用类型的 Buildpacks,Python Buildpack 就是其中之一,如果用户要用到的                Buildpack 没有出现在下面的页面,那么就需要自己到开源社区查找相应的 Buildpack,或者自己来构建需要的                Buildpack,这部分内容没有包含在本文中,感兴趣的读者请查看 Cloud Foundry 的相关文档。
在这里我们选择 Python 并点击。
图 3. 选择 Python                    Buildpack在应用的详细配置页面,指定 App name,Host name 以及 Domain。其中 Host name                必须是唯一的,不能与云上其他的应用同名,请读者自行设置成唯一的命令。默认情况下,App name 和 Host name 是相同的,默认的                Domain 是 mybluemix.net,这个 Domain 是公网可见的,Bluemix                允许用户根据自己的需要设置以上的默认值。最后,点击下方的"Create"创建 Python 应用。
图 4. 配置应用详细信息应用创建成功后,控制台会默认调转到该应用程序的导航页面,根据页面左侧的导航,用户可以对应用程序进行信息的查看、管理、配置等等常规操作,我们在这里不再详细介绍控制台的操作,只会选择其中比较相关的几个页面来讲解。关于其他的控制台操作,用户可以自行点击使用。
点击左侧的 Overview 按钮,可以查看应用程序的概要信息和进行基本的管理操作。其中 Status 显示的应用程序当下的状态,.py 表明这是一个                Python 的应用,使用的是 Python Buildpack, 点击 View App 可以查看应用的主页和实际的运行效果。
图 5. 应用综述在本节开头,我们提到这是一个由 Bluemix                提供的预制模板应用,用户可以选择将这个模板应用的源码下载到本地,然后在此基础上编写应用的逻辑代码,并重新部署到 Bluemix                上发布给目标客户来使用。在控制台的 Getting Started 页面,对以上操作有详细的知道步骤,用户可以自行去尝试。
图 6. 下载模板应用源码当然,在大多数场景下,开发者都是首先在本地开发完代码,然后再选择部署到相应的平台去运行应用程序,下节内容将详细介绍,如果在本地开发一个 Python                Web 应用,并通过 Cloud Foundry 命令行部署到 Bluemix 云平台。
返回列表