经过多年公有云和私有云之争,企业用户的实际业务需求和ROI终于战胜了云厂商的情感,混合云大行其道,得到了充分的开发和利用。人们逐渐开始寻求最佳策略和最优方法以更好地管理、提升混合云性能。软件业已不再轻率地对待云端的各种应用,而是正在为云运维一体化(CloudOps)寻找最优方法。 为了更好的传递本文宗旨,我们将混合云分解成几个组成部分,并针对如何最优地管理混合云性能进行探讨。这样做的好处是,我们能将这几个组成部分融合为一个完整的混合云架构,并能对整体性能管理特征进行分析,然后再把这一切融入云运维一体化,这一点还是比较有战略性的。
分配能力是关键 今天的混合云已不再是几年前我们所说的混合云。以前,工作负载是静态地绑定到私有云或者公有云上。而现在,工作负载可以自由随意地在私有云和公有云间迁移,我们可以动态的、近乎实时的完成这一过程,也可以人工完成,如移动原始代码、原始数据等。 可使工作负载在私有云和公有云之间平滑迁移是混合云的一大关键特征,而所谓性能就是寻找方法使应用架构中的组件得到最优化地运行。如果将这些组件(如数据库、应用、用户界面)整合到工作负载中,就可以更容易地对应用程序进行优化,因为这些组合起来的应用组件使他们更容易被管理和优化。 创建工作负载的方法有很多,包括虚拟机、容器或者绑定在一起的应用程序等。对于如何迁移这几种工作负载进行详细探讨不属于本文的范畴,但是却对粗略完成容器移动非常有帮助。 容器是一种独立式的组件集,可包含应用代码、数据库、中间件、安全服务或者上述全部。单个应用程序可由多个容器构成,或者单个容器可包含整个系统。无论哪种方式,容器均可以在公有云和私有云中运行。 我们竭力传达的想法是有多种选择可使工作负载在公有云和私有云之间达到互通。在公有云和私有云之间分配工作负载的方法基本上是无限的。在管理性能时,你拥有利于自己的分配权。所以务必好好利用这一点。
服务监控组件 考虑到应用程序的模块、服务可在私有云和公有云中自由运行,通过各种服务(或者微服务)对性能进行管理将会很有帮助,这些服务通过应用程序或者云平台自身得到了具体化。你可以考虑使用下列逻辑组件或者技术将混合云性能作为服务组合进行管理。 1. 服务探针 2. 服务库 3. 通信管理器 4. 性能分析引擎 5. 时序数据库 6. 告警管理(见图1) 我将逐一探究上述内容。请记住上述均为逻辑性概念,我们还未将这些概念映射到相关技术中。
图1:混合云服务性能监控系统概念视图/逻辑视图。构建此图的目的是将其作为依据以选择符合您需求的合适的技术或者技术组合。 Public Cloud:公有云;Private Cloud:私有云;Services A:服务A;Services B:服务B;Services C:服务C;Services D:服务D;Service Agents:服务探针;Performance Analytics Engine:性能分析引擎;Communications Manager:通信管理器;Service Repository:服务库;Time Series Database:时序数据库;Alert Management:告警管理;Console: 控制台 在了解相关组件和技术之前,先来了解以下几点内容,它们在执行服务性能和监控混合云时会用得到。
· “自修复”能力,利用具有更正能力的监控系统对性能问题进行自动修复。
服务探针 服务探针是在公有云或者私有云(见图1)中,与现有服务并行或者在现有服务内部运行的应用组件。既可以是多项服务绑定到一个单独的探针程序中,也可以是单独一项服务绑定到一个单独的探针中。服务探针的职责为:
也可以这样理解,服务探针与服务进行交互,以确定运行中的性能。当然,探针有时也会引发性能问题,因此也需要有节制地使用服务探针,而且只有是服务关键性能组件才可使用服务探针。
服务库 服务库包括所有的服务属性、服务策略及服务身份,以及在公有云或私有云中提供的单点服务。一般而言,服务库是服务管理系统中的一个组成部分,它可以专为性能监控而设定,也可以直接从服务管理库中复制出来。服务库的职责包括:
现在,服务库已不再需要单独构建,有很多现成的开源解决方案和专门的商用解决方案。在某些情况下,人们不得不适应现有的服务库。
通信管理器 通信管理器处理探针程序、服务、服务库、数据库、分析法及其他承担服务性能监控和管理职能的组件间的通信。一般会有一个队列(或者其他一些高速中间件层),可使信息在各个系统组件中生产和传递。通信管理器的职责包括:
性能分析引擎 性能分析引擎是可插入的软件组件,提供内置性能分析服务。在工作过程中,人们可以利用这些分析服务去动态管理服务性能。性能分析引擎的职责包括:
时序数据库 时序数据库既能处理结构性复杂数据又能处理非结构性复杂数据,该数据库存储的都是围绕服务性能(如时间、服务响应、数据库响应、网络延迟及其他用于服务性能概况中的信息等)记录的原始数据。时序数据库有两大关键作用,包括:
告警管理 告警管理系统是一个软件,根据预先设定的告警策略,当服务运行状态达到告警状态时及时发出告警。告警管理系统的职责包括:
工具列表 要记住我们在本文中所说明的内容在本质上仅属于概念性范畴。但是从概念性需求出发,得出实际的性能管理方案,这种想法很好。在这一概念过程中,选择相应的技术是最后一步。您有很多开源、专有系统可选,包括但不限于以下系统:
· Librato
这些工具没有通用模式,都是为性能管理的某些特定方面而专门打造的(国内也有比较成熟的整体性能管理解决方案),您可以从中选取几种来完成最终的解决方案。从这一堆产品中挑选适合自己业务的并不简单。我们从事云计算已有一段时间,性能多少是一种事后才考虑的想法。即便如此,当我们把注意力更多地集中在CloudOps和存在于混合云中的业务质量系统上时,我们依然需要把性能管理作为CloudOps配置策略的核心组成部分。现在就解决这一问题,否则将来它将演变成大问题。
编译:云智慧 原文作者:David Linthicum 原文链接: http://techbeacon.com/cloudops-6-best-ways-manage-hybrid-cloud-performance
|
转载于:https://my.oschina.net/cloudwise/blog/709637