在多云策略中确保应用程序可迁移性的三种方法

为了保持竞争优势,所有主要的公共云提供商都通过其他方式扩展其基本IaaS产品的功能,例如用于数据分析、事件处理和关系数据库的一系列Web服务。

随着多云采用的增长,开发人员需要更加小心谨慎,不要为了使用提供者本地服务而牺牲应用程序的可迁移性。

云平台之间的应用程序可迁移性是多云策略的主要目标之一。虽然当企业只是使用IaaS提供商的基本计算功能时,这是非常简单的,但是当企业在该部署的更高一层提供更多本地服务时,这变得更加困难。

为了保持竞争优势,所有主要的公共云提供商都通过其他方式扩展其基本IaaS产品的功能,例如用于数据分析、事件处理和关系数据库的一系列Web服务。开发人员可以将这些附加服务编写到他们的云计算应用程序中,以实现各种任务,包括减少开发时间和成本,以及提供更多专业功能的能力。

虽然这些Web服务有益,但也会带来风险。云计算提供商具有这些服务的独特实现,即使它们在提供商之间是相似的,企业也很难采用使用Web服务的一个实现并将其插入另一个实现的应用程序组件。Web服务本身不能跨不同的云平台迁移,这意味着企业可能会丢失信息,并创建具有不兼容性的数据。

在每个组件的基础上,企业必须假设如果使用此类服务,其应用程序将无法迁移。这种限制不仅适用于多云战略中的提供商,还适用于云平台和企业自己的数据中心。例如,企业无法通过主机边界进行故障转移或扩展。

|| 克服不兼容的挑战

Web服务不兼容有两种:第一个也是问题最少的是提供商提供基本相同的服务,但使用不同的API。这很不方便,但其解决方案并不困难,因为它不会影响企业的整体应用程序架构。

第二种也是风险更大的Web服务不兼容性是云计算提供商以不同方式构建其实际服务的地方。然后,这不仅仅是对API调用进行更改的问题,但可能需要企业更改整个应用程序设计。

|| 多云的应用程序设计的注意事项

在部署之前,考虑开发人员如何设计混合云和多云应用程序非常重要。这些应用程序中的大多数都有前端(如GUI)和后端,后端由特定于业务流程的元素组成。在某些情况下,特别是那些涉及微服务的情况,创建边界(例如消息总线或消息队列)是有用的,它可以作为前端和后端组件之间的处理点。开发人员通常会将公共云服务用于其前端,并可能在云端和数据中心之间对这些边界元素进行一些有限的故障转移和扩展。使用此模型作为重新考虑多云部署的基础。

那么,如何解决这个不兼容问题呢?有三种可能的解决方案:

(1)用于云爆发和故障转移的单独的应用程序组件

企业希望将云爆发或故障转移的任何应用程序组件分离到多个云平台,并且不要将Web服务与这些特定组件集成。这可能会有问题,因为将Web服务用于应用程序的前端组件是很常见的。但是,企业不能在多云端部署中使应用程序依赖于这些Web服务的可移植或可扩展的任何部分。

(2)避免采用提供商特定的Web服务

第二种选择是完全放弃云计算提供商的Web服务,支持可以在任何地方运行的通用行业中间件。对于几乎每个公共云Web服务,都有一个类似的第三方或开源产品,用户可以在多个平台上托管。但问题是,这些产品并不总是与企业使用的云计算基础设施紧密集成,因此可能必须为可扩展的Web前端和可扩展数据库等开发自己的架构模型。

如果企业选择这条路径,请仔细研究开源云和容器技术,以查看是否可以使用OpenStack、Kubernetes或Mesos/Marathon的打包实现来构建其开放式Web服务工具包。即使软件包不包含企业需要的所有内容,它仍然可以作为多云策略的通用托管框架。

(3)使用适配器

最后一个选项是围绕企业使用的Web服务开发适配器,使每个服务与其应用程序兼容。如果企业使用许多提供类似Web服务的公共云提供程序,但通过不同的API,企业可以使用适配器设计模式将各种API转换为其应用程序随后可以使用的单个通用API。

如果提供商的Web服务的唯一区别在于API和数据模型,那么这相当容易。但是,如果Web服务存在体系结构差异,则可能必须将它们的抽象提升到使用通用适配器API完全表示的程度。在开始设计之前,请务必研究与给定功能相关的所有Web服务API的详细信息。

这三种策略在多云策略中最小化不兼容性问题都有自己的优点。在某些情况下,企业可能希望采用所有这三种方式。但从长远来看,可能第三种方式是企业可以采用的最好的方法。如今,云计算提供商之间的竞争日益激烈,并且这些提供商对未来的看法存在差异,这将扩大其Web服务之间的差距。而弥补这一差距的最好方法将在市场上占据上风。

(来源:企业网D1Net)

原文发布于微信公众号 - 云计算D1net(D1Net02)

原文发表时间:2018-07-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小文博客

闲聊么——让你的网站热起来

3052
来自专栏云计算D1net

如何构建一个私有存储云

企业构建内部云存储时必须考虑弹性,选择正确的平台,并允许工作流,堆栈部署和公共云集成。 每个云存储选项都有其优点和缺点。企业需要根据自己的具体需求,规模大小,以...

3606
来自专栏Java后端技术

分布式架构的前世今生...

​  随着社会的发展,技术的进步,以前的大型机架构很显然由于高成本、难维护等原因渐渐地变得不再那么主流了,替代它的就是当下最火的分布式架构,从大型机到分布式,经...

1012
来自专栏ml

html学习第一讲(内容html常规控件的的使用)

1 <html> 2 <head> 3 <title> 这是网页的标题</title> 4 </head> ...

3185
来自专栏WeTest质量开放平台团队的专栏

又崩溃了!服务器:“怪我咯?”

某公司新开发了一款大IP手游。上线之后不久,发现几十个人上线之后服务器就崩溃了。一开始还能用大量预算来购买服务器用以支撑,但几天之后由于宣传火爆,随着用户的增多...

2002
来自专栏北京马哥教育

云计算下的企业IT运维

云计算管理员们一般都工作在一个分布式局域网计算基础设施中,它与传统数据中心最大的区别之一就是,所有被存储、调配和管理的数据都在一个私有云中。基于云计算的高效工作...

3926
来自专栏强仔仔

基于Java EE新闻管理系统的设计与实现

1、设计目的  本产品是为喜欢关注社会中各类新闻的用户而开发的一套新闻管理系统,旨在向用户提供最及时真实的新闻资讯,让用户更加方便快捷地了解到其他地方所发生的各...

59010
来自专栏CSDN技术头条

日志管理与分析的十个最佳实践

这是准确管理与衡量日志记录的最高效方式;本文将带你快速了解通常如何利用Docker及容器来创建易于管理、测试及部署的软件镜像包。 过去十年来,随着分布式系统的发...

2745
来自专栏纯洁的微笑

分布式架构的前世今生...

1223
来自专栏互联网数据官iCDO

在微信小程序里,我们要怎样做数据分析

近期本来打算系统的写一下App数据分析的套路,但忽然“微信小程序”发布了。作为一名信仰互联网和做数据分析多年的“老司机”,看到新事物我也是很兴奋的。不过我还没看...

1K6

扫码关注云+社区

领取腾讯云代金券