微信号:infoqchina

介绍:有内容的技术社区媒体

【对话】InfoQ在线课堂Q/A整理:基于AWS云平台的高可用应用设计

2014-06-04 22:24 InfoQ


521日,AWS中国首席云技术顾问方国伟在InfoQ在线课堂介绍了AWS高可用和非高可用的服务分类,从高可用角度对典型服务进行介绍,以及高可用设计的5大常见设计原则,并结合AWS的相关服务依次进行了架构设计分析。期间,方国伟回答了许多网友的问题,InfoQ对其进行了整理和补充,一并提供给大家。

关于存储

Qinstance down掉之后,这个instance上的数据会保留吗?能找回来吗?以前看到文档说要用EBS才能保障instance down掉之后的数据保留,是这样吗?是否有其他方案?

方国伟:有好几个问题就讲instance storageEBS数据存储的问题,我统一讲一下。因为EC2里边的数据存储一般分两大类,一个是instance storage,另一个是EBSinstance storage是放在EC2里的硬盘里边的,是通过虚拟化实现的。如果这个EC2所在的物理机或instance出问题,那这个EC2的数据就不能访问了。为了解决这个问题,我们提供了EBSEBS是通过网络访问的,如果你的instance出问题了,数据还在EBS里边。那可能有人会问,EBS的数据会不会丢呢?EBS的数据一般可靠性比较高,我们有个数据叫annual failure rateAFR)会比一般的硬盘低好多,一般是普通硬盘的1/51/10。那EBS还是有可能要出问题,那怎么办?一种方式是定期对EBSsnapshotsnapshot的数据放在S3里,S3的数据持久性是119,非常高了。这是可以解决EBS丢数据的一个解决方案。

Qinstance down掉后EBS会自动卸载吗?

方国伟:一般会自动卸载。

Q:每个instance都有对应的EBS,(instance)销毁后EBS上存储的数据怎么处理?

方国伟:EBS上数据如何处理完全由用户自己决定。用户可以保留EBS卷,从而保留数据,也可以把EBS删除从而删除其上的数据。另外,用户也可以通过先制作EBS卷快照然后再删除EBS卷的方式来保留数据,因为以后还可以根据这个快照来重新生成一个包含这些旧数据的新EBS卷。

关于数据库

QRDSMulti-AZ部署支持SQLServer吗?

方国伟:我们最新宣布支持SQL Server,这样四个数据库类型(My SQLOracle PostgreSQLSQL Server)都支持Multi-AZ Deployment了。

Q:原来部署到Windows+MySQL上的BS应用,如果要部署到AWS,应该做哪些大的改动?

方国伟:不需要大的改动,WindowsEC2MySQL可用EC2也可以用RDS服务。AWS的兼容性很好的。

QDynamoDB怎么进行备份?

方国伟:一般情况下是不需要用户做备份,因为我们已经帮你备了三个拷贝,甚至更多。不过多个拷贝是在一个region里面的,如果你对数据可靠性要求非常高,可以跨region做拷贝,这个备份也非常简单。

关于Auto Scaling

Q:自动修复的功能,如果启动新的虚机,怎么部署代码啊?

方国伟:一般来讲有两大类方法。第一类,你把应用的代码做在AMI里面。Auto Scaling也好,还是你自己启动一个Instance也好,我们肯定会用到一个AMI,这样你新建了那个Instance里面就已经包含了你要部署的代码,你要部署的运行时环境,中间件等等。但是有的同学问,我的应用可能会有不同版本,或者改变比较多,那这个部署太不灵活了,所以我们另外还有办法,你在部署以后可以通过EC2有一个特性user data来实现,当应用部署启动Instance后,user data会帮你执行一段脚本,或者可以传进去一些参数给脚本,你他指定他从某个地方,比如S3上面下载一个新的程序的代码,然后在Instance启动之后去执行。将这两种方式结合起来,一般可以满足绝大部分用户关于动态软件和代码的需求。

QAuto Scaling策略需要编程实现吗?

方国伟:一般不需要。Auto Scaling实现需要用户做三个事情:

配置launch configurationlaunch configuration存储了一个Instance以后,它应该是包含什么样的信息,用哪个AMI,放在哪个region里面,用哪几个AZ

建个Auto Scaling Group,设置最少有多少个Instance,最大多少个Instance

最后一个Scaling policy,它定义了如果CloudWatch监控到超过预值后,要做个什么操作,这个操作大部分情况下是不需要编码来做的。当然除非特别复杂,你可以定制来做一些事情。

关于AWS中国的服务

Q AWS什么时候在中国商用?

方国伟:现阶段还处于有限预览阶段,只针对邀请客户开放。如果需求,建议联系AWS的销售人员。

QAWS有没有中文版?

方国伟:我们国内的版本就有中文版,如果你是有限预览用户,你可能已经看到了。如果你需要使用,你可以在www.amazonaws.cn上面申请。当然目前并不是申请了就能用,原因很多了。申请之后,我们销售可能会跟你联系,我们内部会有个排队的过程。基本上,我们会根据用户的情况来筛选,哪些用户来进入有限预览名单。

Q:有没有渠道来申请试用呢?

方国伟:请访问www.amazonaws.cn网站,有个提交申请的链接。

QAWS现在还是必须使用外币信用卡才能注册使用吗?

方国伟:AWS全球账户是需要支持外币信用卡,但国内服务开放后会公布国内的支付方式。

QAWS在国内有没有国内建AZ

方国伟:那当然了,我们商用的时候肯定会有多个AZ。第一个region在北京,所以整个数据中心都会在北京地区,我们是跟合作伙伴合作的。根据我们去年12月份发布的计划,第二个region会在宁夏。

Q:有没有联系方式?

方国伟:我的微博是 @方国伟_云端,邮箱是guowfang@amazon.com

AWS能部署应用

QAWS对应用有要求吗,什么样的应用架构适合部署到AWS上?除了使用AWS的组件之外,对应用本身有没有什么要求,才能实现云应用的高可用性。

方国伟:如果你的应用只是要部署在AWS上,这个要求是非常低的,你的应用只要可以部署在虚拟环境,理论上差不多就可以运行在AWS上面。但是,如果你的应用要充分利用云计算平台的一些特性,尤其是高弹性、高可靠性、高可用性这些云的特点,那你对应用本身就需要做一些在架构上的调整。今天的讲座更多侧重在高可用性方面,617日还有个讲座“如何通过架构设计来体现应用本身的弹性”,这是两个不同的维度来看应用。所以说,如果你要充分利用云平台一些特性,那在应用架构上需要做些调整。(InfoQ注:67日在上海IC咖啡QClub技术沙龙上,方国伟与Autodesk高级软件工程师丁建将分享AWS云平台上建立规模应用的实践,你可以与两位专家当面交流,参会者将获得AWS纪念T恤及25美金AWS抵扣券,欢迎免费报名。)

更多精彩内容,请点击“阅读原文”。

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 "网恋"这么久,终于见面了 优惠活动:索骥公司有免费提供100台手机用于研发测试 一个人工智能的乐观预测? Android混淆的故事 C++函数对象的剖析及详细实例