LFCA:学习云可用性、性能和可扩展性 – 第14部分

在我们的LFCA系列的上一个主题中,我们介绍了云计算,不同类型和云,云服务,并为您介绍了与云计算相关的一些好处。

如果您的业务仍然依赖传统的IT计算环境,那么现在是时候升级并转向云端了。据估计,到2021年底,超过90%的总工作负载将在云中处理。

拥抱云计算的主要好处之一是提高性能,高可用性和可扩展性。事实上,我们将这些作为使用云技术的主要好处之一。

在这个主题中,我们关注云的可用性,性能和可扩展性,并试图了解这三者如何融合以满足客户需求,并确保用户可以根据需要从世界任何地方访问其数据。

1. 云的可用性

组织的IT应用程序和服务至关重要,任何服务中断都可能对收入产生深远影响。客户的期望是服务可以在任何时间、任何地点全天候访问。这正是云技术所致力提供的。

高可用性是云计算的最终目标。它旨在即使面对突发的服务器停机或网络降级,也能提供公司服务的最大可能的正常运行时间。

高可用性是通过具有冗余和故障转移系统来实现的。这发生在集群环境中,其中多个服务器或系统执行相同的任务,从而提供了冗余性。

当一个服务器宕机时,其他服务器仍然可以继续运行并提供受影响服务器提供的服务。冗余的一个完美示例是在集群中跨多个数据库服务器复制数据。如果集群中的主数据库服务器遇到问题,另一个数据库服务器仍将提供用户所需的数据,尽管存在故障。

冗余性消除了单点故障,并确保服务和应用程序的可用性达到99.999%。集群还在服务器之间提供负载平衡,并确保工作负载被公平地分配,没有一个服务器被过载。

2. 云可伸缩性

云计算的另一个特点是可伸缩性。可伸缩性是调整云资源以满足不断变化需求的能力。简而言之,您可以根据需要无缝增加或减少资源,以满足需求,而无需牺牲服务质量或停机时间。

假设您正在运营一个开始受欢迎并吸引更多流量的博客。您可以轻松地向您的云计算实例添加更多的计算资源,如存储空间、RAM 和 CPU,以处理额外的工作负载。相反,您可以在必要时减少资源。这确保您只为所需付费,并突显了云提供的规模经济。

可伸缩性是双重的:垂直扩展和水平扩展。

垂直扩展

也称为“纵向扩展”,垂直扩展涉及向您的云计算实例添加更多资源,如 RAM、存储空间和 CPU,以容纳额外的工作负载。这相当于关闭您的物理 PC 或服务器以升级 RAM 或添加额外的硬盘驱动器或固态硬盘。

水平扩展

水平扩展,也称为“横向扩展”,涉及向您现有服务器池中添加更多服务器,以确保工作负载在多个服务器之间分布。通过水平扩展,您不受限于单个服务器的容量,不像垂直扩展。这提供了更多的可伸缩性和更少的停机时间。

与纵向扩展相比,横向扩展更受欢迎

使用水平扩展,您基本上是在您已有的资源池中添加更多资源,如服务器或存储。这使您能够将多个计算实例的功率和性能合并为一个,从而获得更好的性能,而不仅仅是在单个服务器上添加资源。额外的服务器意味着您不必处理资源不足的问题。

此外,水平扩展以这样一种方式提供了冗余性和容错性,即使一个服务器受到影响,其余部分仍将继续提供所需服务的访问。 垂直扩展与单点故障相关。如果计算实例崩溃,那么一切都会崩溃。

水平扩展还提供了最大的灵活性,与垂直扩展相比,应用程序被构建为一个大单元。这使得更具挑战性,难以管理、升级或更改代码部分而无需重新启动整个系统。扩展允许应用程序解耦,并允许无缝升级,最小化停机时间。

3. 云性能

确保应用程序性能满足客户需求可能是一项相当艰巨的任务,特别是如果您有多个组件位于不同环境中,需要不断相互通信。

问题,如延迟问题可能会显现并影响性能。此外,在资源由各种实体共享的情况下,很难预测性能。尽管如此,您仍然可以通过实施以下措施实现高性能并保持稳定。

1. 云实例

确保使用具有足够资源来处理应用程序和服务工作负载的正确云实例。对于资源密集型应用程序,请确保为您的云实例提供足够的RAM、CPU和存储资源,以避免可能的资源不足。

2. 负载均衡器

实施负载均衡器以公平地分配网络流量到您的资源之间。这将确保您的任何应用程序都不会被需求压倒。假设您的网络服务器正在接收大量流量,导致延迟和性能受到影响。

A perfect solution would be to implement horizontal scaling with a total of 4 web servers sitting behind a load balancer. The load balancer will distribute network traffic across the 4 web servers and ensure none is overwhelmed by the workload.

3. 缓存

使用缓存解决方案加快应用程序对文件的访问速度。缓存存储频繁读取的数据,从而消除可能影响性能的常量数据查找。它们减少延迟和工作负载,因为数据已经被缓存,从而提高响应时间。

缓存可以在应用程序级别、数据库级别等不同层面实现。流行的缓存工具包括RedisMemcachedVarnish cache

4. 性能监控

最后,请确保监控服务器和应用程序的性能。云服务提供商提供原生工具,可以帮助您通过 Web 浏览器监视云服务器。

此外,您还可以自行采取行动,并安装免费开源的监控工具,以帮助您监视应用程序和服务器。此类应用程序的示例包括GrafanaNetdataPrometheus等。

结论

我们无法强调在云中可用性、扩展性和性能有多么重要。这三个因素决定了您从云供应商那里获得的服务质量,并最终决定了您的业务成功与失败之间的界限。

Source:
https://www.tecmint.com/cloud-availability-performance-and-scalability/