首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Apprenda和R分析应用程序工作负载数据

使用Apprenda和R分析应用程序工作负载数据

作者头像
Techeek
发布2018-01-16 10:21:01
6740
发布2018-01-16 10:21:01
举报
文章被收录于专栏:云计算云计算

在权限范围内运行的访客应用程序的知识是平台即服务(PaaS)可以利用的最重要的数据来源之一。一个PaaS应该知道(译注:原文为know,此处应指可以获取并处理)关于访客应用程序的各方各面,包括它们的体系结构、依赖性、基础架构的规模等等。

包括应用程序资源利用指标(CPU,RAM等)在内的数据对于企业而言是数据中心容量规划、策略实施和应用程序隔离的关键所在。像Apprenda这样的PaaS通过一个中心化(译注:centralized)的视角(在我们的例子中就是一组REST风格的API)提供了这些信息,使得在数据中心运行应用程序指标分析变得比以往更容易。

Apprenda作为PaaS通过平台可扩展性和API,为开发人员和平台操作员提供有用的信息。这是因为数据中心提供了大量工具来执行高级分析功能,你只需为其提供他们所需要的信息即可。我们整合了诸如系统中心(译注:指Apprenda的System Center),New Relic等工具,因为这些工具是我们的客户为之投入,并且是他们所擅长的。

我们的工作不是重新发明这些工具,而是提供数据。 Apprenda会获取有关应用程序的信息,例如部署的持续时间、资源策略(CPU和内存的分配)、资源的实际利用率,规模(实例数量)、自定义元数据等等。所有这些信息都可以输入到数据中心工具中,帮助IT人员做出重要的、数据驱动的决策。

然而,在DevOps的世界里,大家常常会以有创意和创新性的方式使用这些数据。通常来说可以是脚本(PowerShell)、编程语言(R)或整个运行时(Node.js)这些流行的方法来快速有效地获取、处理和操作数据。

让我们通过一个例子来看看R语言在这个领域的应用。R一个以数据挖掘和统计分析为核心的强大的编程语言,它为数据分析技术提供了多种直接的工具,并且可以使用社区维护包对其进行扩展。

在下面的一个简单的例子中,笔者使用标准R函数加上三个包(通过R的install.packages()函数的可以很容易地引用(译注:即include,在一些语言里提供类似功能的关键字还包括using、import等)这些包):

  1. jsonlite用于解析Apprenda API返回的JSON数据。
  2. httr用于处理验证和检索数据所需的HTTP请求。
  3. plotrix将检索到的数据渲染成图表。

接下来的步骤十分简单。第一步是使用Apprenda环境进行身份验证:

我现在将我的Apprenda会话标记(token)存储在一个名为“token”的变量中。我将该标记在我的API调用中引用以获取应用程序数据:

GET()是一个由httr包提供的函数,它简化了对API的HTTP请求。我已经将Apprenda会话标记添加到HTTP标题(Header)中进行身份验证,其中包含了一个具有字符串查询参数,该参数将用于返回平台上当前正在运行的所有应用程序工作负载。返回的数据被解析并存储在变量(在R语言中称为一个向量,即vector)中,名为'r',该变量现在有151条记录,每条记录对应一个应用程序工作负载。 'r'中的每个记录都有15个变量(属性),我们可以将这些变量在包含整个结果的集合上进行分析。

为了说明这一点,我将使用变量componentType,它表示Apprenda对已部署的应用程序工作负载类型的了解 - 包括七种类型,可以从它们的名字中理解它们所表示的内容:UserInterface,PublicUserInterface,WindowsService,JavaWebApplication,LinuxService,WcfService,和Database。然后,按照组件类型对集合进行分组时,绘制显示组件类型工作负载分布的图表变得非常简单:

结果图(pie3D()来自plotrix包)如下所示:

一些IT人员无法用任何细节描述应用程序组合体系的结构构成,但在如例子中这种情况下,我们可以用一行R语句实时地提取数据。虽然不可否认的是,饼图在信息量上是打折扣的,但重点是数据是可用的,并且可以分组、过滤、操纵,并可以轻松地通过R进行分析。

在这个例子中,我使用了RStudio的开源版本。从平台的API中还可以获取到一些其他十分实用的信息:

1.资源分配与每个工作量的实际利用率之间的平均差异。 (这在容量规划中很有用)

2.用时最长的运行中的应用程序工作负载。

3.分布程度最高的应用程序。 (这可以帮助扩大决策)

这项技术还有更多其他的功能可以发掘。像Apprenda这样的PaaS在数据中心栈中是独一无二的,因为它保留了基础架构和应用程序的知识。同时它作为数据的中心,当使用一些创造性的分析方法时,能提供新的见解。这种洞察力为企业提供了一个机会,帮助他们更好地为开发人员和应用程序提供服务,同时提高运行效率。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档