编者注: 本博客出自Minitab企业Web架构师Michael Yeaney之手,描述了公司如何使用Windows Azure以及持续集成为其客户快速构建分析解决方案。

Minitab公司. 领先的软件质量改良提供商。Minitab统计软件——我们的旗舰产品——已经被用在全世界几乎每个六西格玛(Six Sigma)计划中。Minitab的质量培训师教你质量改良统计和如何与Minitab一起分析你的数据。Minitab的质量伴侣支持和指导你学习六西格玛(Six Sigma)团队从项目开始一直到结束。依靠Minitab产品和服务的帮助,一些杰出的公司实现了世界级质量,包括宝马、通用电气、杜邦公司、波音公司、耐克、Procter & Gamble和一些领先的六西格玛(Six Sigma)咨询公司。

概述

我们的Qeystone产品套餐是建立在Windows Azure之上的精益六西格玛(LSS)市场的项目投资组合管理系统。由几个离散的应用程序组成,Qeystone充分利用Windows Azure的可用功能,目的是为LSS从业人员提供一个强大的、统一的分析平台。项目数据是LSS项目团队成员通过一些能将他们的数据发送至Qeystone云服务数据存储库中的桌面接口收集而来的。一旦提交,此数据能够跨多维索引,能被用于以近实时方式提供分析和汇总。此信息为客户企业的所有流程改进项目提供最新的可见性。

Qeystone产品套件的核心组件有:

云服务:基于Web的HTML/Javascript仪表盘用于管理数据存储库和汇总/报告信息。此外也提供用于所有依赖Qeystone产品的核心REST管理服务。

桌面工具:完全自定义信息收集和特定于LSS市场(价值流图、流程图等)的数据可视工具。连接到云服务,部署(见上面)供所有数据需求。

Web / 移动:专注于任务的接口,用于快速信息传递。

部署管理工具:专门用于快速定制、 部署和管理的客户站点的工具。使用了Qeystone REST 管理API.

许可的门户网站:全公司安全令牌服务 (STS) 纳入发牌管制、订阅管理、配额等。此外还提供用于连接应用程序的web目录功能。建立在Windows Identity Foundation (WIF)和WS-Federation标准之上。

使用传统方法开发这样一个拥有扩展性的一套产品通常会花费几个月时间,消耗大量的人力资源。但是,使用灵活的服务于Windows Azure的Qeystone,我们可以让应用程序可用而且极快(程序8到12个月就能预览测试)。

Qeystone体系结构

Qeystone产品套件中的所有组件的高级视图如下所示;在适当情况下,列出了为每个组件使用的Windows Azure服务。

Qeystone 产品套件的核心是云计算平台——为所有连接上的应用程序提供集中式数据管理。此平台包括一个典型的web/队列安装程序和几个增强功能(见下图)。这种面向大众的web角色处理REST API——调用自所有客户端应用程序,操作有关任何单个特定的数据结构的元数据。这些调用可能导致额外的延迟命令,比如数据提取、索引、生成导出/报告,这些将会被传送到实例到一个或者多个可用的后台计算角色Windows Azure 存储队列。除了检测这些传入命令队列,这些后台计算节点也负责允许web角色派发分析/汇总请求给他们的实时WCF分析服务集合。这两种不同的输入至后端计算节点的方法��供清洁分离命令和分析请求系统。

云计算体系结构

Qeystone系统是针对于Windows Azure环境分析许多独立服务器设计的,相对于依靠传统的“big iron”企业数据分析途径。所有的系统组件旨在运行在1至N台电脑上,目的是为有着大量计算需求的客户提供快速切强大地计算。为了充分利用这点,客户部署不断通过 Windows Azure 诊断从内部系统,根据预先确定的阈值的性能计数器数据跟踪监视。如果某个特定的客户超出这些阈值时,将发送警报到我们的支持工程师评估客户是否能够停留在当前订阅范围内。利用Windows Azure弹性的可扩展性,客户部署为6至24台机器,这通常会花费几周或甚至几个月,现在可以在提供客户订阅允许发生缩放的几分钟内完成。

数据存储子系统的另一个重要部分是备份和还原系统崩溃、用户错误或应用程序错误事件中的能力。通过利用管理 API 提供的 Windows Azure ,我们能够创建一个完全自动化的系统,每天备份SQL Azure和Windows Azure 存储的关键数据。这些备份可用于根据需要的还原操作。

Windows Azure 的弹性对核心产品的开发也有帮助。设计和建造大型、 多实例开发和测试环境一向是高昂的努力。通常,这意味着由于平行度和状态,bug 都未在开发周期后期找到。然而,在Windows Azure上构建这样一个系统的启用测试"真正的"配置,允许竞赛、 时间安排冲突等,将快速、 轻松地解决这些棘手问题。

许可门户

许可门户允许受信任的用程序(例如,Qeystone)完全代理所有用户身份验证、 授权和索赔分配到单个机构的处理。当一个受信任的应用程序代理一个门户网站身份的授权请求时,这其中信息包含用于选择用于标识当前用户的适当机构。这些当事人可能是任何SAML/WS-FED兼容服务,如ADFS,OpenID或默认的Minitab身份验证提供程序。

链接基于云的身份提供程序到内部系统会被Windows Azure 服务总线启用,以便为这些集成提供所需的双向消息。利用基于主题的访问和服务总线的多播的功能,我们就能够发送和接收邮件之间的所有 Qeystone 部署和内部支持系统,允许紧密集成的必要驱动器在许可门户。服务总线的力量是能够立即利用企业级邮件基础结构,无需安装、 部署和更新的开销。这是另一个Windows Azure极好的例子,使我们能够专注于建筑产品而不是支持基础结构。

应用租赁

由于敏感的客户信息将放在Qeystone 系统内,我们早就决定构建和部署 Qeystone 云服务作为单租客的应用程序。这意味着每个客户部署已隔离计算、存储帐户、SQL Azure 和服务总线实例。尽管从实施的角度来说,可能会让我们花费更多,使用独立部署所获得的额外安全性还是受到了我们客户的好评,并且它更接近传统的企业开发模型。一个典型的部署方案可能如下所示:

请注意在上面的图中,为每个客户建立单独的信任边界,减少跨部署数据泄漏的风险。这些信任也可能会扩展到更多的功能(例如,使用ADFS集成)的客户网站。

发展面临的挑战

和任何大规模产品开发工作一样,很多周期中花费在开发的应用程序开发生命周期上。尽管内置的Windows Azure SDK工具提供Windows Azure应用程序简单且功能强大的部署选项,但他们还是不能轻松容纳高度控制/经审计的部署环境,原因如下:

  • 个别开发商能够发布控制应用程序的部署。
  • 我们不能有选择地推向生成/科各种 Windows Azure 网站的开发、 测试、 负载测试和回归目的在受控的方式 (请注意这是不同于 Visual studio 提供的 Windows Azure 工具内置的配置支持)。
  • 生产部署没通过审核、 人类的工作流,以便部署和升级仅通过控制渠道流量。

基于这些原因,我们开发了一个联系在一起的产品发展管道的所有关键组件的内部的自定义部署机制: VS2010,Windows Azure 模具和 SDK、 TFS 2010 年和 CruiseControl.NET。下图概述了此工作流:

请注意当签入 (从而推动我们的 CI 环境),代码时会自动触发此工作流,也可以通过手动触发自定义构建脚本。这些自定义脚本允许"挑选"的确切的生成、 分支,和/或将部署到我们的产品开发使用的许多 Windows Azure 帐户之一的变更集的支持工程师。每个自动的构建拉选定的源分支、 生成产品、 启动 Windows Azure 模拟器,并运行通过我们整个套件的单元测试和自动化的核查。只有成功的测试运行后是生成可用于部署到选定的站点。利用服务管理 API,生成软件包上载到所选的 Windows Azure 帐户作为活动、 分阶段的部署。如果此部署站点内部的帐户 (例如,测试、 回归等),暂存环境被交换到生产。但是,如果网站是一个客户帐户,VIP 交换不执行,而向客户支持技术人员离开这最后的一步。如上文所述,该手动步骤指示通过控制渠道客户的部署。

总结

Windows Azure 提供了许多功能强大的现成的功能——快速地让开销占软件即服务(SaaS)应用程序开发成本一小部分。此外,它已删除很多技术上将严重妨碍系统(如 Qeystone)发展的限制。放弃这些问题的困扰, Minitab专注于为客户提供无与伦比的价值和令人难以置信的速度,如果没有Windows Azure几乎是不可能的。

本文翻译自:http://blogs.msdn.com/b/windowsazure/archive/2012/05/30/isv-guest-post-series-minitab-launches-qeystone-into-the-cloud-with-windows-azure.aspx

ISV 客户博客系列:Minitab通过Windows Azure推出云端Qeystone相关推荐

  1. ISV客户博客系列:Persistent Systems 使用Windows Azure交付基于Java的CloudNinja项目

    编者注:本文作者是Persistent Systems 的云计算助理副总裁Shreekanth Joshi,描述了该公司是如何使用Windows Azure为他们的ISV客户开发和交付基于Java的应 ...

  2. ISV客户博客系列:iVoteSports通过Windows Azure扩展它的面向棒球的移动游戏应用程序...

    编者按:今天的文章,由Bill Davidheiser,iVoteSports首席设计师和创始人所写.描述了公司如何使用Windows Azure来优化它的iVoteSports MLB-focuse ...

  3. Windows Azure ISV博客系列:ReedRex 的sociobridge

    撰写Windows Azure ISV系列博客的目的是宣传来自ISV(独立软件供应商)在Windows Azure 应用程序的开发和部署过程中的一些成就.这篇文章是微软在日本的分公司的Windows ...

  4. 【Hexo搭建GitPage博客系列】02.环境搭建

    转载声明:商业转载请联系作者获得授权,非商业转载请注明出处.原文来自 © 呆萌钟[Hexo搭建GitPage博客系列]02.环境搭建 前言 Hexo搭建博客需要基于Node.js环境,而且依赖于Git ...

  5. 看板方法不是方法论 | David博客系列 | Agilean学院出品

    这篇David博客系列文章阐述了看板方法反模式之"Kanban是方法论",由Agilean学院刘永鹏翻译.张明评审,李淳审校 使用看板方法让我们的产品质量一团糟!因为我们不再做测试 ...

  6. 博客群发软件--用 Windows Live Writer完美发布新浪、网易、blogcn、blogbus、cnbl

    前言: 当今网络博客.微薄铺天盖地,相信即使一个普通的用户也都注册了很多家品牌的博客或者微薄等,那么困扰着大家一个很大的问题,同时在多家博客发布同样的内容,如果说只是简单的文字还好说,复制粘贴就完事了 ...

  7. 个人博客系列【Hexo】-实现在百度中搜索到自己的博客

    目录 1.添加站点 2.选择协议头"http:// ",填写网站域名,点击下一步: 3.设置站点领域,这里选择信息技术(按需选择),点击下一步: 4.验证网站,选择CNAME验证, ...

  8. 自动驾驶入门(一):博客系列简介

    极简自动驾驶感知入门 1. 课程介绍 近年来,自动驾驶的概念频繁出现在各大新闻媒体和社交网络上,引起了广泛的关注与讨论.同时随着新造车势力(特斯拉.蔚来.小鹏.理想等)和自动驾驶独角兽公司(图森.Mo ...

  9. 看板流程? | David博客系列 | Agilean学院出品

    这篇David博客系列文章阐述了看板方法反模式之"遵循Kanban流程",由Agilean学院郑美艳,颜秦进翻译,李淳审校 我们在遵循看板流程...... 问题是:没有所谓的&qu ...

最新文章

  1. Spring MVC 中使用 Google kaptcha 验证码
  2. epoll与tornado 简介
  3. documentElement vs body区别
  4. 基于事件驱动架构构建微服务第14部分:查询API
  5. 第一个冲刺周期-第三天
  6. Java JDBC DriverManager类
  7. 锁定Mac的键盘:连击5次option键
  8. 【OOB】MSHTML!CPaste­Command::Convert­Bitmapto­Png heap-based buffer overflow学习
  9. Polar SI9000-PCB阻抗计算
  10. python实现QQ机器人(自动登录,获取群消息,发送群消息)
  11. 异地北京办理居住证详细材料
  12. 29个省市,364个门店,新飘柔营销背后,是一场80天的AR狂欢
  13. 全球及中国邮件营销服务行业发展趋势及投资策略分析报告2022-2028年
  14. ctfshow misc2 软盘
  15. 关于设计解决空洞卷积中‘gridding effect‘问题的几个原则(简单易懂)
  16. 项目纪实丨MySQL Bug引发客户现场升级失败 万里DBA 6小时攻克难关
  17. 【自然语言处理与文本分析】文本特征提取方法总结。关键词提取方法。公认效果较好的IDF,RCF。
  18. Linux平台基于socket的文件传输服务器和客户端
  19. cmd快捷命令大全,dos快捷命令大全
  20. 解决macOS 13 Ventura系统升级后打开软件提示“已损坏,无法打开”问题

热门文章

  1. 2019中大计算机考研分数线,中山大学2019年考研复试分数线已公布
  2. 【线性代数】向量组的线性相关性
  3. LeetCode 145:二叉树的后序遍历
  4. JS排序(正序/倒序)
  5. 计算机应用能力考试是指,2019年计算机应用能力考试报考指南:考试介绍
  6. 绥化学院计算机科学技术,绥化学院本科计算机科学与技术_绥化学院本科计算机科学与技术简介-查字典学校网...
  7. 组合导航学习笔记--开环闭环介绍
  8. 无需纠结heic文件怎么转换成jpg,跟着我这样做就对了
  9. 深爬知乎100K高赞问答,我汇总了 30 个领域最圣经级的书籍!
  10. nc-VMware报错