LFCA:了解云可用性、性能和可扩展性 - 第 14 部分
在我们LFCA 系列的先前主题中,我们介绍了云计算、不同类型和云以及云服务,并向您介绍了与云计算相关的一些好处。
如果您的业务仍在使用传统的 IT 计算环境,那么是时候升级并转向云端了。据估计,到 2021 年底,超过 90% 的总工作负载将在云端处理。
采用云计算的主要好处包括性能提升、高可用性和可扩展性。事实上,我们忽略了这些,将其作为使用云技术的主要好处之一。
在这个主题中,我们关注云的可用性、性能和可扩展性,并试图了解这三者如何结合起来以满足客户需求并确保用户能够在世界任何地方根据需要访问他们的数据。
1.云可用性
组织的 IT 应用程序和服务至关重要,任何服务中断都会对收入产生深远影响。客户期望随时随地都可以访问服务。而这正是云技术所追求的。
高可用性是云计算的最终目标。它力求在出现前所未有的服务器停机或网络降级导致的中断时,仍能为公司的服务提供尽可能长的正常运行时间。
高可用性是通过冗余和故障转移系统实现的。这发生在集群环境中,其中多个服务器或系统执行相同的任务,从而提供冗余。
当一台服务器发生故障时,其余服务器仍可继续运行并提供受影响服务器提供的服务。冗余的一个完美示例是跨集群中多个数据库服务器进行数据复制。如果集群中的主数据库服务器出现问题,尽管发生故障,另一台数据库服务器仍将提供用户所需的数据。
冗余可消除单点故障,确保服务和应用程序的可用性达到 99.999%。集群还可在服务器之间实现负载平衡,确保工作负载公平分配,不会有一台服务器不堪重负。
2.云可扩展性
云计算的另一个特点是可扩展性。可扩展性是指调整云资源以满足不断变化的需求的能力。简而言之,您可以根据需要无缝地增加或减少资源以满足需求,而不会影响服务质量或停机时间。
假设您正在运营一个博客,该博客开始获得点击量和更多流量。您可以轻松地向云计算实例添加更多计算资源(如存储、RAM 和 CPU)来处理额外的工作负载。相反,您可以在必要时缩减资源。这可确保您只支付所需的费用,这凸显了云提供的规模经济。
可扩展性有两个方面:垂直扩展和水平扩展。
垂直扩展
垂直扩展也称为“扩大”,涉及向您的云计算实例添加更多资源(如 RAM、存储和 CPU)以容纳更多工作负载。这相当于关闭物理 PC 或服务器以升级 RAM 或添加额外的硬盘或 SSD。
水平扩展
水平扩展,也称为“横向扩展”,涉及向现有服务器池添加更多服务器,以确保将工作负载分配到多台服务器。与垂直扩展不同,使用水平扩展时,您不会受到单台服务器容量的限制。这提供了更高的可扩展性和更少的停机时间。
与扩大规模相比,扩大规模更为可取
原因如下。通过水平扩展,您基本上是在向现有的资源池中添加更多资源(例如服务器或存储)。这使您可以将多个计算实例的功能和性能合并为一个,从而获得更好的性能,而不是仅在单个服务器上添加资源。额外的服务器意味着您不必处理资源不足的问题。
此外,水平扩展提供冗余和容错能力,这样即使一台服务器受到影响,其余服务器仍将继续提供对所需服务的访问。垂直扩展与单点故障有关。如果计算实例崩溃,那么一切都会随之崩溃。
水平扩展还提供了最大的灵活性,而垂直扩展将应用程序构建为一个大单元。这使得在不重新启动整个系统的情况下管理、升级或更改代码部分变得更加困难。横向扩展允许应用程序解耦,并允许无缝升级,同时最大限度地减少停机时间。
3.云性能
确保应用程序性能满足客户需求可能是一项艰巨的任务,特别是当您的多个组件位于不同的环境中并且需要不断相互通信时。
延迟等问题可能会显现并影响性能。此外,当资源由多个实体共享时,很难预测性能。无论如何,您仍然可以通过实施以下措施来实现高性能并维持运营。
1. 云实例
确保使用具有足够资源的正确云实例来处理应用程序和服务的工作负载。对于资源密集型应用程序,请确保为云实例配置足够的 RAM、CPU 和存储资源,以避免可能出现的资源短缺。
2.负载均衡器
实施负载平衡器以在您的资源之间公平分配网络流量。这将确保您的任何应用程序都不会因需求过大而超负荷。假设您的 Web 服务器收到大量流量,导致延迟并影响性能。
一个完美的解决方案是使用负载均衡器后面的总共 4 个 Web 服务器来实现水平扩展。负载均衡器将在 4 个 Web 服务器之间分配网络流量,并确保没有一个服务器因工作负载过大而无法承受。
3.缓存
使用缓存解决方案来加速应用程序对文件的访问。缓存存储经常读取的数据,从而消除可能影响性能的持续数据查找。由于数据已被缓存,因此它们可以减少延迟和工作量,从而缩短响应时间。
缓存可以在应用程序级别、数据库级别等各个级别实现。流行的缓存工具包括Redis、Memcached和Varnish cache。
4. 性能监控
最后,一定要监控服务器和应用程序的性能。云提供商提供原生工具,可帮助您通过 Web 浏览器监控云服务器。
此外,您可以主动安装免费的开源监控工具,以帮助您监视应用程序和服务器。 此类应用程序的示例包括Grafana、Netdata和Prometheus等。
结论
我们再怎么强调可用性、扩展性和性能在云中的重要性都不为过。这三个因素决定了您从云供应商那里获得的服务质量,并最终决定了您的业务成败。