写点什么

RightScale 工程师分享跨云应用架构的三个挑战

  • 2013-03-14
  • 本文字数:1670 字

    阅读完需:约 5 分钟

根据应用需要部署资源,这是云计算的关键好处之一。不过,随着使用私有云的企业越来越多,当某个应用的资源需求超出单一私有云的容量时,他们就需要考虑使用另一个云平台,甚至包括公共云。此类状况称为“云爆发(cloudbursting)”,针对云爆发,应用的架构也需要进行调整。

RightScale 的工程师 Stephen Bylo 在 RightScale 官方博客上发表文章《应对云爆发的挑战》,分享了如何应对云爆发的经验。

在开头,Stephen 指出:

尽管这种应用层云爆发的概念听起来简单,但还是要注意在技术和业务等多方面的重要考虑。其中包括:拉通不同云之间的不一致性,处理公共云与私有云之间的安全、延迟、通信成本。

在 Stephen 看来,这就需要为应用创建一种云爆发架构,确保两个云之间的通信延迟和带宽不会对应用和用户体验有负面影响,也就是说:部署在两个云中的应用服务要以尽量完全相同的方式工作,还要设置通信路径,控制好资源便于两个云的访问,还要保证通信管道的安全性。

接下来,他指出了云爆发架构的三个主要挑战:

  1. 为多个云创建和管理配置
  2. 在云间创建和管理低延迟通信路径
  3. 保证云间通信安全性。

挑战 1:管理配置

Stephen 指出:不同云供应商之间天差地别,这就需要管理两种完全不同环境的应用和技术栈。具体区别包括:

  • 底层 hypervisor 不同,hypervisor 版本不同
  • 不同 hypervisor 功能和机器镜像格式
  • 云 API 在行为和调用方式上的不同
  • 不同的云提供不同的虚拟机类型和运行性能
  • 云的网络配置不同。有些提供可用区域的概念,有些没有。有些有安全组,有些有子网和 ACL,有些都有。
  • 提供不同类型的存储,比如对象存储、块存储、持久化和临时存储,这会展现不同的行为,而且在其他云中可能无法使用。

Stephen 认为:

这也产生了下游效应。举个例子:使用不同类型的 hypervisor 和存储子系统,常常需要为不同的云使用不同的虚拟机镜像,而且要维护各种不同操作系统和安全补丁。

挑战 2:通信延迟

如果应用需要在位于不同云中的应用层和数据库间来回移动大量数据,延迟和吞吐就会是很大的挑战,特别是通信需要在公共互联网上传输的情况。因为在每次前端请求中,应用到数据库之间的通信可能要进行多个来回,即使是相对很小的延迟也会快速累计。

对于降低延迟,Stephen 给出两种方式:

  • 托管私有云的云提供商可以将其与公有云放在同一个地点.
  • 诸如 CoreSite 和 Equinix 这些公司,他们的数据中心在专用私有资源和公共云资源之间使用超高速连接。

很多应用中,应用到数据库之间的连接频度和数据量没有优化,使用很多带宽。部署通信通路的费用非常昂贵,不管是使用公共互联网还是使用租赁线路。而且,有些云提供商对于数据出口和入口还有收费。因此,对这段通信流进行优化,可以减少延迟,降低达成性能目标需要的带宽成本。

挑战 3:应对安全性

在云间提供安全通信路径,也就意味着要设置加密通路,同时处理不可避免的路由问题,比如合规性和审计要求。根据应用可用性的需求,这些通信通路可能需要在各个层面做冗余,路由的复杂性由此增加,同时设备成本和部署成本也会上升。动态服务器分配更加负责,因为新的服务器加入到阵列之后,必须动态加入到 VPN 之内。

创建安全通信通路有多种方式。RightScale 的解决方案是与多家公司合作,而且云提供商也在不断提供新的方法。AWS 为其虚拟私有云提供 VPN 网关,处理加密和路由问题。而 OpenStack 的新功能也将提供相关特性。

除了将应用进行跨云部署之外,Stephen 还建议可以采用 SOA 架构:

将应用分解为多个唯一的、而且是松耦合的服务,每个服务可以运行在不同的云中。每种服务可以通过为延迟和带宽优化过的协议访问,比如通过 webAPI。服务在设计的时候,就已经做好自治的(autonomous)准备,这样就不必分享数据,而是通过 API 之间的相互调用完成功能。这会大大简化不同服务之间的集成,同时不带来过多负载压力。

最后,Stephen 总结道:

我们发现,云爆发的跨云架构,对于技术复杂性和相应的成本要求都很高。根据需求不同,有多种不同方法可以达成同样的好处。

同时,公共云提供者们也在解决一些通信层面的挑战,给出不同类型的直接连接方案。这些方法应该有助于降低云与云之间的障碍。

2013-03-14 02:591266
用户头像

发布了 479 篇内容, 共 157.3 次阅读, 收获喜欢 49 次。

关注

评论

发布
暂无评论
发现更多内容

拍乐云Pano 两周年啦!砥砺前行,踏浪潮头,做全行业的实时音视频专家

拍乐云Pano

WebRTC RTC

如何短时间突击 Java 通过面试?

Java架构师迁哥

PyFlink 开发环境利器:Zeppelin Notebook

Apache Flink

Zeppelin notebook pyflink 开发环境利器

【架构实战营】--第一次作业

Geek_d18264

架构实战营

为什么Kafka的数据不写了?

BUG侦探

DNS gopack Linux操作系统

LeetCode刷题14-简单-最长公共前缀

ベ布小禅

8月日更

关于数据库应用的一些思考

石云升

数据库 8月日更

数字货币交易所自动刷量机器人介绍|开发交易所去中心化量化机器人

量化系统19942438797

如何用3分钟搭建一个属于自己的网站?

百度开发者中心

最佳实践 开发者 方法论

谈谈Go的固定时长定时器和周期性时长定时器

Regan Yue

协程 Go 语言 8月日更

英特尔的碳中和版图

科技新消息

久等了!【Innovation 2021】网易应用创新开发者大赛正式开赛!

网易云信

开源 架构 开发者 网易 语言 & 开发

48W字?GitHub上下载量破百万的阿里:图解Java、网络、算法笔记

Java~~~

Java 架构 面试 算法 JVM

技术盘点:Unity SDK 开发中有哪些大坑?

环信

快手基于 Flink 构建实时数仓场景化实践

Apache Flink

flink 解决方案 实时数仓架构 快手

如何搭建SpringcloudAlibaba基础环境(一)

程序员半支烟

Java 微服务

开发者实践丨盲水印插件:用户端的实时视频溯源保护

声网

开发者实践 RTE大赛

SmartNews:基于 Flink 加速 Hive 日表生产的实践

Apache Flink

flink hive airflow

PyFlink 开发环境利器:Zeppelin Notebook

阿里云大数据AI技术

网络攻防学习笔记 Day116

穿过生命散发芬芳

网络安全 8月日更

neo4j 安装与基本操控

escray

学习 neo4j 8月日更

一起来养猪APP开发

游戏开发_软件开发

小程序云开发 游戏开发 2D APP开发 3D

服务全球用户,EMQ X Cloud 新增欧洲部署支持

EMQ映云科技

服务器 mqtt 部署与维护 Cloud emq

Linux内核内存管理:地址转换和MMU

Linux服务器开发

操作系统 内存管理 Linux内核 内核开发 地址转换

IT运维审计系统是什么?有推荐的吗?

行云管家

云计算 堡垒机 IT运维 数据审计 运维审计

为联邦学习互信提供“技术解”,星云Clustar荣获FTL-IJCAI 21 最佳应用论文奖

星云Clustar

联邦学习 论文 IJCAI 纵向联邦学习 联邦学习互信

阿里大牛肝出的443页TCP/IP协议趣谈笔记,竟然在GitHub标星27k+

Java 编程 架构 面试 架构师

如何利用FL Studio编曲--入门级

懒得勤快

6年Java经验,4面阿里定级P7,多亏阿里13万字+脑图+源码面试笔记

Java~~~

Java spring 架构 面试 高并发

数字货币交易所自动刷量机器人介绍|开发交易所去中心化量化机器人

Geek_23f0c3

市值管理机器人系统开发 自动刷量机器人 炒币机器人

springboot整合activiti自带在线流程编辑器,整个程序源码,请假审批

金陵老街

大前端 工作流 ERP Activiti spring-boot 2.5.4

RightScale工程师分享跨云应用架构的三个挑战_亚马逊云科技_郑柯_InfoQ精选文章