当前位置:  开发笔记 > 前端 > 正文

需要一些关于Amazon AWS使用的指导

如何解决《需要一些关于AmazonAWS使用的指导》经验,为你挑选了1个好方法。

每隔一段时间我就会阅读/听到AWS,现在我尝试阅读文档.但是这些文档似乎是为那些已经知道他们需要使用哪个AWS并且只搜索它如何使用的人编写的.

因此,对于我自己来说,为了更好地理解AWS,我尝试用几个问题勾勒出一个假设的Web应用程序.

应用程序的目的是修改视频或图像等内容.因此,用户可以使用某种Web界面,他可以上传文件,进行一些设置,服务器抓取文件并对其进行修改(例如重新编码).该服务还提取视频的音轨并尝试索引所说的单词,以便客户可以在他的视频中进行搜索.(以及它的假设)

所以我的问题:

鉴于我自己的域名'oneofmydomains.com',是否可以在AWS上托管完整的Web界面?我想过使用GWT来创建界面,只是通过AWS提供JS /图像,但哪一个,简单的存储?对于某种index.html,是否需要一个EC2实例来托管一个必须全天候运行导致成本的网络服务器?

现在用户具有登录表单的界面,是否可以使用AWS管理登录?在这里我也考虑一个托管数据库的EC2实例,但它也会导致成本,我不确定是否有更好的方法?

用户已登录并上传文件.哪种存储解决方案可用于保存客户的原始和修改内容?

现在用户想要浏览他上传的状态,这意味着我需要某种ACL,以便客户只能看到他自己的文件.我是否需要使用数据库(例如EC2),或亚马逊是否提供某种ACL,因此GWT网络接口在没有任何EC2的情况下是安全的?

客户文件被重新编码并且音轨被索引.所以他想搜索一个视频.哪些服务可用于为每个客户创建和维护索引?

希望有人可以给出一些答案,以便我更好地了解AWS如何使用它

谢谢!



1> theburningmo..:

亚马逊AWS提供整个服务生态系统,应涵盖给定体系结构的所有方面,从托管到数据存储或消息传递等.无论它们是否最适合用途,都必须根据具体情况来决定.鉴于您的问题非常广泛,我将简要介绍AWS提供的一些基础知识以及不同类型的服务的用途:

EC2(弹性云计算)

亚马逊的云解决方案与旧的虚拟机技术基本相同,但"云"提供额外的节点和机器人,如自动配置,扩展,计费等.

如果你每天24小时运行(在一个Windows实例上),基本(单CPU,1.7GB内存)可能会花费你每天不到3美元的费用

有许多不同的操作系统可供选择,包括Linux和Windows,Linux实例运行成本更低,没有与Windows相关的许可证成本

一旦您将服务器设置为您想要的方式,包括任何服务器更新/补丁,您就可以创建自己的AMI(亚马逊机器映像),然后您可以使用它来启动另一个相同的实例

但是,如果你的所有html都被添加到图像中,那么它将使更新变得困难,所以通常的方法是包含一个服务(例如,windows服务),它将从存储中获取最新的部署包(请参阅后面的S3)服务和更新该网站在启动时间隔开

有弹性负载均衡器(它有自己的成本,但在大多数情况下只需要一个),你可以放在所有的Web服务器前面

还有Cloud Watch(再次,额外费用)服务,您可以在每个实例的基础上启用该服务,以帮助您监控正在运行的实例的CPU,网络输入/输出等

您可以设置AutoScalers,它可以根据某些指标自动启动或终止实例,例如,如果平均CPU利用率在5分钟内平均CPU利用率低于50%,则一次终止1个实例,如果平均CPU超出范围,则一次启动1个实例5分钟70%

您可以将实例用作Web服务器,使用它们来运行数据库或Memcache集群等.选择权属于您自己

通常,我不建议亚马逊实例与亚马逊以外的数据库通信,因为往返时间要长得多,通常的方法是使用SimpleDB(见下文)作为数据库

AmazonSDK包含足够的类来帮助您编写一些自定义监视/扩展服务(如果您需要),但AWS控制台允许您完成大部分配置

SimpleDB的

亚马逊的非关系型键值数据存储与传统数据库相比,您倾向于对每个查询性能进行惩罚,但无需进行任何额外工作即可获得高可伸缩性.

您支付使用费用,即执行查询所需的工作量

默认情况下,Amazon具有极高的可扩展性,可以根据流量扩展SimpleDB实例,而无需执行任何操作,以及任何控制

数据被分区为"域"(相当于普通SQL DB中的表)

数据是非关系的,如果你需要一个关系模型然后检查亚马逊RDB,我没有任何经验,所以不是评论它的最佳人选..

您仍然可以通过某些插件或工具执行类似于查询数据库的SQL,亚马逊目前还没有提供这方面的前端

知道"最终一致性",亚马逊扩展数据库后,数据会在多个实例上重复,并且当您进行更新时无法保证同步,因此可以(尽管不太可能)更新某些数据,然后立即将其读回获取旧数据

有一致的"一致性读取"和"条件更新"机制可以防止最终的一致性问题,如果你在.Net中开发,我建议使用SimpleSavant客户端与SimpleDB交谈

S3(简单存储服务)

亚马逊的存储服务同样具有极高的可扩展性和安全性 - 当您在S3上保存文件时,它会在多个节点上进行复制,因此您可以立即获得一些DR功能.

你只需支付数据传输费用

文件是根据密钥存储的

您创建"存储桶"来保存您的文件,每个存储桶都有一个唯一的网址(在所有亚马逊网络中都是唯一的,因此也是S3帐户)

CloudBerry S3 Explorer是我在Windows中使用过的最好的UI客户端

使用AmazonSDK,您可以编写自己的使用S3的存储库层

很抱歉,如果这有点长,但这是亚马逊提供的3个最受欢迎的网络服务,应该涵盖你提到的所有要求.我们已经使用亚马逊AWS已经有一段时间了,但仍然存在一些问题和缺陷,但它通常会向前发展并且非常稳定.

使用像aws这样的东西的一个缺点是供应商锁定,而你可以在亚马逊之外和你自己的数据中心运行你的服务或从S3移动文件(虽然付费),离开SimpleDB可能代表迁移过程中的大部分工作.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有