当最终用户对关键业务应用程序使用的是内部部署模式时,他们错失了云好处。关键业务应用程序的混合云计算化会让用户得到云计算的好处。
在垂直意义上来说,员工的生产率与关键业务应用程序相关。在垂直堆栈上,最终用户访问一个账户、减轻库存以及运行报告这些任务都是通过一系列功能来完成任务请求的,而这些功能几乎总是会在数据库中结束。但是,移动大型企业数据至云,尤其是数据库中还有着大量的敏感数据时,这将是一项困难的任务,这就使得企业往往不愿意把关键业务应用程序迁出他们的数据中心。为了获得云的好处,企业IT人员需要有所创新。
事务性应用程序遵循着一个相当可预见的格式:用户请求提供信息、执行一次更新,然后查看结果。这样就把应用程序分为了三个逻辑部分,即:图形用户界面、应用程序处理以及数据库服务。
管理人员可以移动GUI甚至一些应用程序处理到云计算,其成本和性能都要优于内部部署用程序。现在有一个新的应用程序云计算化方法,它可以把应用程序分为云友好和基于数据中心两类,这是一个实现关键业务应用程序“混合云计算化”的高效方法。其关键就是要正确地实施它。
应用垂直植入
把关键业务应用程序实现混合云化成为纯垂直分量的第一步就是实现GUI网络服务的云托管。大多数的现代应用程序都设计了一个网络前端处理,它使用了一个浏览器或者一系列的RESTful API来向用户呈现信息并获得更新。这样一个模式更易于适应移动设备中的变化或者对语言的变化。
如果一个应用程序不具有网络前端,那么它仍然易于通过应用程序跟随信息流并确定其中符合信息处理格式的点。这是一个合乎逻辑的GUI/应用服务边界。其目的就是在边界点上识别特定软件组件,并使用它的界面和API来连接网络前端。
下一步就是在GUI/应用边界上检查软件组件。最好的云应用设计应当充分利用云计算的能力,以便于根据流量变化复制组件,并使用新的副本更换发生故障的组件。我们可以把这个前端部分视为云托管网络服务器的可变资源池,而这个服务器可以把交易发送给应用程序的入口组件或软件组件。但是,这个组件必须是准备就绪的。
确保应用程序入口能够处理网络服务器可变数量是非常重要的,因为这些网络服务器将为GUI提供可接受的性能,或者你可以根据工作负载改变应用程序的入口与出口流量。你需要在用户和网络服务器GUI之间做好工作负载平衡,以便于为托管一个特定用户而选择一台服务器。如有需要,这也可以发生在应用程序前以便于部署组件的多个副本。
对于这个网络服务器应用程序入口边界的另一个考虑因素就是交易状态和完整性了。有状态的应用程序组件希望能够与用户进行一个多步骤的对话,即读操作、更新和写操作。使用有状态防火墙逻辑可确保最终用户的交易从读操作到写操作都是由入口组件的相同副本处理的。
无状态应用程序把读操作、更新以及写操作当作单独的交易进行处理。在这种情况下,我们可能适应简单的负载平衡技术。这两种情况在交易退出和完整性处理方面还是有着差异性的,因此在进行规划制定时应了解应用程序的结构。
选择混合云应用
在一些情况下,在云中托管应用程序的前端处理需要证明混合云计算。如果一家企业需要看到更多的好处,那么下一步就是要把应用程序逻辑组件迁入云计算,这需要从应用程序入口组件开始。我们可以把每一个应用程序组件都认为是“黑匣子”,这样的黑匣子容纳了交易工作流程的一部分。一般情况下,你不会希望频繁地在内部设施和云之间转移数据,因此我们就需要把一些组件从工作流的入口端移至云计算。为了确定在何处停止,可观察每一个组件的工作情况,尤其是那些数据库服务。
如果一个应用程序组件处理信息,那么它是通过另一个组件进行传输的,而不适执行数据库查询命令本身。因此,把它迁移至云是相当简单的。
对于GUI或网络服务器前端来说,这个过程是相同的。任何具有较少或者没有数据库访问操作的组件更适于迁移至云计算。当应用程序有频繁的数据库访问操作时,混合就从GUI导向的模式变更为服务器查询模式。
为混合云部署调试应用程序的服务器查询模式将降低把关键业务数据库迁至云的需要,因为访问它们的组件已经被移至云计算。如果一个云组件读取数据库来执行一次对记录进行定位的查询,那么将会发生大量的云数据库访问流量。此举将影响价格和性能。