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

使用 Node.js 为 Bluemix 和 SoftLayer 构建一个敏捷 SaaS 框架(4)

使用 Node.js 为 Bluemix 和 SoftLayer 构建一个敏捷 SaaS 框架(4)

第 7 步. 更新 Bluemix                应用程序和 SoftLayer 代理服务器在本地开发和测试更改后,就可以通过 cf push projectname 轻松地将它们推送到 Bluemix。如果                    push 命令因为某种原因而失败了,或者服务器未能重新启动,那么 cf logs projectname                    --recent 命令可能对调试非常有用。
在拥有自动化框架之前,更新 SoftLayer 上的代理服务器可能困难一点,但不是太难。从代理机器执行另一个 wget                        https://projectname.mybluemix.net/agent.js,然后执行一个 node                    agent https://projectname.mybluemix.net 来重新连接。
在考虑与 IBM DevOps                环境的集成时,这是一个不错的建议。认真考虑将原型转变为成熟的项目时,软件生命周期的端到端自动化不但很容易实现,而且对构建可扩展的解决方案至关重要。因为此项目很容易执行,所以它很容易集成到自动化的源代码控制和配备工具中。惟一的服务器要求是要满足                Node.js 前提条件。建议看看 developerWorks 上的其他 Bluemix 相关 DevOps 文章,了解一些不错的技巧。
另外值得提及的是,如果想要采用更轻便的方法,SoftLayer 提供了一个容易的插入点,供新配备的机器在启动后下载和运行脚本。
这是获取并在 Bluemix 上运行的应用程序之外运行 agentSetup.sh 脚本的一个好位置,所以代理在准备好之后尽快将自身寄存在可用的池中。
第 8 步.                准备实现高级场景现在您或许已经注意到,该框架在消息传递方面很强大,在功能方面又特意进行了简化。以下是为生产环境实现更高级特性的一些资源的链接。
其他服务集成一个持久数据存储可能是建立 SaaS 应用程序的第一步。Bluemix 上的 Node.js 演示项目包含只需一次单击即可完成的 Node 项目设置,以及用于快速                NoSQL 持久化的 DataCache。
Cloudant 在持久性一端提供了一个自然的集成点。推荐查阅 “ ” 获取与 Bluemix 和 SaaS 服务集成的技巧。
必要的安全措施此类型的框架的安全性是一个值得单独讨论的主题。出于简单性和良好的演示起点,此框架组合了管理仪表板(代理状态)和面向用户的特性(Fibonacci                按钮)。在许多生产环境中,将会有两组不同的用户,甚至可能有两个控制服务器:一个管理应用程序和一个面向用户的应用程序。两个控制服务器都将与代理交互,但您不希望它们发生串线。
用户和管理员的用户身份,以及应用程序的访问控制是让应用程序做好部署到生产环境的准备的第一步。对于身份问题,我还建议看看 Bluemix 集成功能,比如 这个 与身份存储集成的功能。
无论选择何种实现,在大多数场景中,控制服务器仅收到经过验证的请求都至关重要,这样不良的代理就没有发送未授权的 socket.io                请求和假冒其他用户的途径。将用户和管理员入口点分开,会沿这些路线创建另一个环境。
代理和路由对于我们的一个 SaaS 项目,缺乏代理机器与 Bluemix 应用程序之间的直接连接。在此场景中,我创建了一个代管代理和消息过滤器,它用作受防火墙保护的代理机器连接                Bluemix 的网关。创建代管程序 (proxy) 不属于本教程的讨论范围,但您可以更新 agent.js 来转发消息,这么做就不会很麻烦。
更加传统的混合云功能,比如 VPN 和内容分发网络,对这些类型的场景也很有价值,而且将此框架用于这些类型的网络功能时无需特殊的考虑因素。该框架惟一的要求是从代理和浏览器到                Bluemix 上的仪表板的单向连接。
结束语越来越多的 SaaS                    项目都是跨这些平台而建立的,我很想了解您的经验和反馈意见。您在您的项目中看到了哪些常见模式?为了容易上手,该框架被特意设计得很小,但在您找到工具和技巧后,我希望能够将它们合并到示例代码或备注中。

SaaS 原型设计非常有趣。借助 Bluemix,只需几小时就可以建立一个服务并试验代码。我可以向客户和团队提供一个有效的仪表板来执行快速评估。在 SoftLayer                上,我可配备强大的工作负载机器来执行主要的工作,轻松地将它们添加到我的 SaaS 应用程序中。
我希望您会发现该 SaaS 模板示例项目很有价值且容易使用。您可以下载该代码,将它部署在 Bluemix 和 SoftLayer                上,并获得一个可运行的本地开发环境,所有这些只需几分钟即可完成。该模板提供了一个跨越混合云的健全的长轮询消息框架,可轻松地扩展它来提供您可想到的任何 SaaS                功能。
返回列表