我刚刚看完这个问题: https://stackoverflow.com/questions/753122/which-cloud-computing-platform-should-i-choose

但是,我不确定在为安全工程师设计应用程序时应该做什么,因此高正常运行时间很重要。

因此,如果我的应用程序是使用 SQL Server 用 ASP.NET 编写的,那么我最好的选择似乎是针对 Azure 进行设计,但是 Amazon 的解决方案是一个不错的选择吗?我如何决定是将所有内容都放在同一个系统上,还是将数据放在 Amazon 云上和 Azure 上的 ASP.NET 上?

我正在开发另一个应用程序,该应用程序处理水和电的公用事业信息,因此有使用情况和账单信息,它是使用 SQL Server 用 PHP 编写的。这可能是云计算的一个很好的应用程序吗?亚马逊的解决方案似乎是 PHP 的最佳解决方案,所以这是我唯一的选择,但是,您如何决定使用他们产品的哪些部分?

基本上我的问题是关于应用程序架构的。托管设计很容易,但云计算增加了新的挑战。

我主要关心的是我的应用程序的设计。

如果我决定使用哪种语言,是否会将我锁定在云解决方案中?

我什么时候希望数据库与应用程序位于不同的云中?

如果我想使用 LIFT 框架(用 Scala 编写),它们中的任何一个都允许我安装我需要的任何东西吗?

有帮助吗?

解决方案

我们在 Amazon AWS 上运行相当大的金融服务 SaaS。

这里有两个普遍问题:应用架构和云平台服务。

我发现我们的应用程序架构本质上与部署到内部虚拟机或真实硬件时相同。我们主要使用开源工具(Java、Spring、Hibernate、MySQL、Terracotta 等)创建了一个相当标准的 n 层应用程序。当涉及高可用性/容错数据库时,需要考虑一些因素(因为基于硬件的选项不可用),但除此之外,我们并不真正“针对”特定的云实现。

云平台服务则完全是另一回事。我的意思是:

  • 启动/停止/监控/管理/扩展实例
  • 可用性/冗余(例如亚马逊有可用区)
  • 部署/初始化/配置实例
  • 文件备份/恢复
  • 安全(例如防火墙控制)

尽管该领域是人们积极关注的领域,但该领域几乎没有标准化。

从广义上讲,您可能希望以云中立的方式构建应用程序,但会创建非常具体的操作过程。

关于在不同提供商之间分割演示和数据库,我不建议这样做,因为:

  • 如果任何一个提供商出现故障,您就会崩溃
  • 与在一个云提供商内传输数据相比,通过互联网传输数据更慢、更昂贵且安全性更低。

多个云提供商的更好用法是将应用程序的整个副本部署到两个或多个,平衡两个云提供商之间的负载,或者可能让一个处于热备用状态,以防主服务器发生故障。但是,如果您捕获事务数据,则需要一种策略来协调备用环境中捕获的数据。这可能可行,也可能不可行,具体取决于您的应用程序的性质。

尽管我没有使用 Azure 的具体经验,但您通常可以在虚拟服务器中安装您喜欢的任何软件。如果您使用AWS或类似服务,安装LIFT不会有问题。

其他提示

决定使用某种语言并不会将您锁定在提供者身上;但是,设计在Windows上运行呢。 Windows虚拟化是一个比Linux虚拟化更窄的市场; Xen,Linode,Slicehost等技术的使用,不会多次虚拟化Windows。

您的应用程序针对Windows,您的选择明显更薄。在我的市场中,我知道亚马逊适合Windows(显然是Azure)。但是,像我们和Slicehost这样的更具成本效益的解决方案不会--Windows将为您带来溢价。

至于云隔离:将您的应用程序划分为多个“云”的主要原因。是提供应用可靠性。云确实会下降 - 不可否认,很少 - 并且将所有鸡蛋放在一个篮子里会花费你一个需要高可用性的应用程序。但是,如果您的数据库位于与应用程序不同的云中,则您将遇到通过Internet执行SQL的延迟(此外还需要一些用于保护该流量的体系结构,如SSH隧道或SQL Server可能提供的协议级加密[不太确定,我是PostgreSQL的家伙])。

不要陷入认为云托管与托管完全不同的陷阱。事实上,它们几乎是一样的。在我的公司,我们认为云托管只是一种思考相同'托管的新方式。这没什么大不了的。

要设计云托管,您的应用程序只需要具有分片功能,并注意可以随时添加或删除节点。这取决于你如何构建它并不是非常难以解释;通常,只有负载平衡应用程序甚至能够识别特定于云的语义。

这是“云计算”的曙光。与任何此类产生的一样,参赛者正在铺设他们的“鼠标陷阱”。希望尽可能多地捕获。在玩家定义共同点(即某种形式或另一种形式的标准)之前需要一些时间,并且在那之前,他们的“分化”武器需要一些时间。将迫使我们选择双方。

我想这也是“面向商业”的它会被投票决定......但是,嘿,我认为技术/语言之前的业务方面 。在一天结束时,归结为赚钱。

如果有人认为没有被锁定给云计算供应商(SaaS / PaaS类型,而IaaS类型的供应商更进一步),这在游戏的早期阶段,那么,你是为了一些人大惊喜。消防!

免责声明:我不代表任何类型的云计算供应商(SaaS,PaaS,IaaS)。投票给我的人是否会关心他们的忠诚?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top