如果您的整个基础设施都在 Amazon VPC 上,什么样的正常运行时间保证是安全的承诺?

如果您的整个基础设施都在 Amazon VPC 上,什么样的正常运行时间保证是安全的承诺?

我们是一家小型初创公司,正在努力满足我们的第一位客户的需求。目前,整个硬件设置都在亚马逊云上(不久将转移到 VPC)。我必须向客户估算一下我公司可以提供什么样的正常运行时间保证。虽然亚马逊提供的正常运行时间保证低于“99.95% 但等于或大于 99.0%”,但我认为将我的应用程序升级、修补和其他维护活动考虑在内,并采用一个低得多的估计值(比如 95%)是合理的。

我认为我的问题更笼统,即对于一家初创企业来说,在 SLA 方面,与其第一位客户打交道时,什么样的承诺更安全。考虑到我们在这个领域还不是一家成熟的公司,90-95% 这样的承诺对我的客户(一家市值 10 亿美元的公司,他们按交易向我们付费)来说可以接受吗?

答案1

90%-95% 的 SLA 是无用的,最好不要说(即使旧的共享主机也能为您的 Web 应用保证更好的 SLA),对于严肃的业务,您至少需要 99.5%。如果您需要更好的 SLA(您的客户会!),您需要拥有镜像资源(2 个应用服务器、2 个数据库服务器等)、设置负载平衡和故障转移(如 keepalived、haproxy、squid 等)、设置良好的内部和外部监控和警报解决方案(如 Zabbix 或 Nagios、newrelic 和 Logstash/Kibana 用于日志管理),并且您将需要系统管理员来管理、监控它并对问题做出反应。

你应该看看维基百科上的 SLA 表在那里,您可以找到您的应用在 SLA 级别下可以离线多长时间。不要忘记,当您无法立即做出反应时(例如凌晨 3 点),可能会发生中断,因此您需要有足够大的管理团队来提供全天候支持。您必须找到并识别所有 SPOF 并将其消除。不要忘记,不仅您的开发人员是潜在问题的根源,而且您的服务器从第一分钟起就会受到各种类型的自动攻击(ssh 机器人、DDoS 等)

要拥有良好而稳定的环境真的非常非常难实现,而且非常非常昂贵,而当你在云中时就更加昂贵了(因为会受到云的其他用户的影响)。

您可以找到亚马逊自己提供的示例,了解您的环境应如何查找简单的网页以确保 AWS 上的高可用性这里 (pdf)或更多AWS 架构中心

最后但并非最不重要的一点是,您永远不要忘记资源翻倍!如果您只有一个单一类型的虚拟机,那么您无法保证任何事情。第二部分 - 您(或您的管理员)需要准备灾难恢复计划,并应定期进行“消防演习”,以确保计划是最新的并且运行良好。

答案2

这个问题可能很快就会因为“太模糊”而被关闭。

使用 AWS,您可以构建高可用性解决方案,也可以提供低可靠性解决方案。任何单个虚拟服务器可能都相当可靠,可靠性可达 99.9% 或更高,但您在其上运行的软件和您进行的监控可能是限制因素。然而,单台机器实际上不能称为“高可用性”。

您可以使用 ELB、地理负载平衡、镜像数据库和服务器以及各种其他技术来提高可靠性。人为错误或疏忽可能再次成为限制因素。

AWS 有一个建筑中心这将帮助您构建高可用性解决方案。利用跨多个软件拆分可用区域关键在于——AZ 实际上是数据中心,与该地区的其他 AWS 数据中心有非常高速的连接。例如,Amazon RDS(关系数据库服务)可以使同一个数据库在多个 AZ 中可用,并且您可以在负载均衡器后面运行多个计算实例,因此如果出现问题,您仍然应该有一个可以运行的应用程序。架构中心为您提供了示例应用程序模式。我是 AWS 认证的解决方案架构师(助理级),我使用免费的在线资源学习了 AWS——有大量信息可用。

分裂跨越不同地区由于区域实际上是独立的,因此更加困难,但如果您想要超高可用性,则可能需要这样做。这通常通过 Route 53 的 DNS 功能完成,使用基于延迟的路由. 对于大多数应用程序来说,跨可用区拆分就足够了。

但是,如果你需要一个数字,我建议你说 98%。这个可用性真的很低,但如果你甚至不知道如何解决这个问题,那么这可能是你所能达到的极限。

相关内容