应用发布前保障性能的十八种方式,SaaS云运维高

日期:2019-11-02编辑作者:服务器

应用发布前保障性能的十八种方式(一)

被文艺青年奉为“爱情圣经”的《爱在三部曲》第一部为我们描述了这样一个美好的故事:两个青年男女邂逅一见钟情,度过了一个美妙的晚上,而此次约会将会在日出之间结束…这是不是像极了应用开发?一次程序员与应用之间的邂逅。然而我们可以确定是,确保应用性能绝不仅仅是程序员自己或者IT运维团队的工作。在应用正式推出之前,开发、DevOps包括IT运维部门应当通力协作,预防应用在实际运行过程中出现意料之外的性能问题。

    不过,原本独立的各支队伍该如何配合以实现这一共同目标?他们又该如何预防,甚至在应用开发完成之前就识别出其中所包含的性能问题?面对这些问题,国内外多位应用性能管理简称APM)以及相关市场的专业人士,就实际推出前确保应用性能表现这一议题给出了自己的推荐方案,其中包括处理举措、实施方案以及值得认真考量的工具选项等等。

    由于此类建议性清单种类很多,很多推荐方式之间可能存在交集、或者单一举措与多项条目相符。不过,清单本身的目标并非对此类建议进行定义与归类,而是帮助大家从众多应用性能问题的专业人士口中获得具备泛用性以及实际价值的解决思路。

    清单当中的多数建议涉及各类工具与流程,在考量这些选项之前,Performance Tuning Corporation首席战略官Mark Swanholm推荐大家已这样的心态去阅读:“要在应用正式推出之前保障理想的性能,最理想的“工具”永远是我们自己开放而认真的心态。”除非大家能够选择了一套科学且以实证为基础的、涵盖整套堆栈的方案,否则当今环境的复杂程度必将远超大家的想象,同时带来预料之外的各类问题。专业人士能够提供出色的数据结构、高效的Web服务以及经过细心调试的服务器,但我们仍然需要运用自己的思维制定规划,从而将这一切有利因素整合起来以构成一款完整的高性能应用。”

    1、应用性能管理(简称APM)

    APM能够帮助IT运维从高层次转向低层次,轻松实现优秀应用性能表现,从而提高客户满意度以及效率:软件正是商业成功的核心所在,这意味着更快的应用发布周期成为每一家企业必须达成的目标。因此,测试、预生产以及生产环境之间的界线开始变得越来越模糊。在此基础之上,APM解决方案应当尽早介入软件开发生命周期,确保我们拥有极致的应用性能表现。诸如代码层分析以及最终用户体验监控这类功能应当被纳入到测试环境之中,从而确保性能问题影响到真实用户之前就被发现。

 --John Rakowski
AppDynamics公司产品营销战略师
前Forrester研究公司基础设施与运维分析师

    APM是对软件应用的性能和可用性进行监控和管理,致力于发现和定位性能瓶颈和故障,保证应用达到预期服务水平。而整个应用生命周期,从需求开始到研发到测试再到运营都需要监测。复杂的应用交付链下传统IT运维收到了很大的挑战,而APM自上而下的监控方式为用户、业务、代码、服务以及用户体验提供了保障。只要在可能形成性能瓶颈代码或者可能诱发其他性能问题的位置嵌入尽量简洁的代码就能实现APM。

 --Wood
听云 CTO

     2、APM + 统一化监控

    保障应用性能表现是一项永无休止的任务,这其中将涉及多种产品、功能以及最佳实践。同时利用APM工具以及统一化监控工具为预生产与生产流程带入监控机制。APM工具会追踪/调整我们的应用与应用服务器活动,且通常能够通过事务合并掌握用户体验效果,开发团队与DevOps团队的人员非常需要这类帮助。统一化监控工具则会监控负责支持任务的基础设施,从而给IT运维团队帮上大忙。当然,DevOps也乐于拥有这种基础设施监控能力,因为这有助于提升IT运维团队的工作效率,反过来帮助DevOps保障应用交付。

                                  --Scott Hollis

Zenoss公司产品市场营销主管

    3、Devops

    关键在于让你的DevOps团队参与进来。实际上开发与运维对于APM的审视角度略有不同,主要因为APM这一概念旨在利用多种互补方案解决与应用性能相关的问题。了解开发即Dev)与运维即Ops)所提出的不同要求是确保应用性能水平的重要前提。一旦明确两支队伍的具体要求,我们就能够在应用正式推出之前的短时间内构建起一套应用性能基准。通过这一基准,我们能够更为透彻地理解应用,同时掌握如何收集性能指标再简洁的加以利用。

--Larry Dragich

APM战略集团创始人

兼Auto Club Group企业应用服务主管

    即使在应用生命周期早期,运维也应当成为决策考量的重要组成部分。作为规划会议的参与者,保证其能够在与积压工作以及下一阶段开发目标相关的开发讨论当中发挥影响力。运维团队关注的内容需要与用户背景或者运维背景相结合,并作为重要信息反馈给开发团队。总的来说,DevOps代表的是一种企业文化的转变,即建立起以信任、开放与协作为核心的新型文化体系。

--Cameron Haight

Gartner公司IT运营与研究副总裁

    目前企业的运维手段很难触及深入到业务级的应用性能管理。这并非是技术上的问题,而是由于传统的Web性能监控关注的焦点往往偏向后端,比如服务器本身的CPU、内存等,这种监控方式较标准化、规范化,获得的数据也更方便、直观。而当涉及到应用层面的性能监控时,需要将响应时间、数据库调用、缓存、SOA、RPC、External API等,都作为监控的重要目标。在应用系统较复杂的情况下,还要涉及Web Service的调用。这使运维人员非常苦恼,因为他们很难再找到一个标准化的方式去执行。

    听云APM通过嵌码的方式深入应用代码中,通过调用的监测方式去监测业务代码的调用时间,出错与异常,并及时上报监测到的指标。通过对Web应用的性能和可用性进行监控和管理,发现和定位性能瓶颈和故障,并将其做成一种SaaS服务。依赖听云的SaaS平台,运维人员就可以在应用上线后,根据业务需求完成监控动作,而不再像之前只能依赖于研发才能实现某种功能,运维不再像原来那样,必须依赖于研发才能实现它的监控,这使研发、运维都能将更多的精力投入到对业务的更新迭代中去,加速了企业DevOps实现的进程。

--廖雄杰

听云技术副总裁

    4、移动APM

    开发人员应当确保自己的清单当中包含一套企业级移动APM解决方案,能够报告移动应用性能水平给实际业务带来的影响。除了目标URL与应用操作响应速度等最基本的消费者吸引力因素之外,我们还应将更为复杂的商业活动条件纳入其中。

--Mike Marks

Aternity公司首席产品经理

    5、最终用户体验

    性能优化工作从始至终都应当从最终用户角度出发。IT与生产团队需要以每一个数字化触点为基准掌握用户体验——包括Web、移动Web以及移动应用。当然,在正式发布之前进行负载测试同样非常重要,不过单纯以内部方式进行应用性能审查远远不够。为了确保应用具备与预期相符的性能水平,我们需要一套综合性解决方案,从而将开发、测试与运维团队统一起来,并对每一项事务进行合并与真实用户体验监控单凭抽样并不足以说明问题)。

 

    只有这样,我们才能体会用户实际使用的真实感受。这类统一化方案不仅能够在问题出现之前即将其解决,同时也能确保理想的上市时间并立即找到任何问题的根源与解决办法。另外,它还能够加快新功能与新特性的迭代速度,同时确保性能始终保持在可行区间内的最佳状态。

--David Jones

Dynatrace公司技术专员主管

    开发、IT运维以及DevOps团队的最终目标都是为了服务客户。这意味着他们需要将大部分精力用于关注最终用户体验。性能监控工具体系应当成为贯穿整个软件开发生命周期的重要组成部分。如果我们能够在开发或者分段过程中发现问题并加以修复,那么这干预成本就能保持在最低水平。不过最理想也最为可行办法仍然是在开发周期当中不断向生产环境推出小型增量式更新,并对各个发布版本进行广泛的全栈式监控。

--Dan Kuebrich

AppNeta公司应用性能产品主管

  注:本文系听云工程师编译整理

) 被文艺青年奉为爱情圣经的《爱在三部曲》第一部为我们描述了这样一个美好的故事:两个青年男女...

  • DevOps是什么
  • DevOps与敏捷开发
  • DevOps成功实践需要哪些条件

在互联网+和云计算等因素的影响下,许多实力雄厚老牌IT运维厂商与生力军在IT基础设施运营管理(IT Infrastructure & Operations Management,ITOM)软件领域展开了激烈比拼,这直接推动着中国IT运维市场迈进了SaaS时代。

DevOps是什么

澳门金莎娱乐网站 1

DevOps是一种持续增长、现代化的应用交付方式,强调开发(Dev)与运维(Ops)之间的沟通(Communication)、协作(Collaboration)和整合(Integration),以上三点同时也是DevOps的三个主要原则。DevOps由Patrick Debois在2009年提出,我们可以将其理解为敏捷开发环境的扩展,旨在整体加强应用交付的过程。

澳门金莎娱乐网站 2

DevOps是新一代的敏捷

早在2009年,许多IT从业人员便已逐渐放弃传统瀑布流的应用交付方式,转而采用非线性敏捷方法,使每个开发阶段相对独立,并在开发周期的早期和整个时间内结合持续性的测试:

澳门金莎娱乐网站 3

APM高速增长, IT运维市场的“吸金石”

这种方法允许开发人员根据持续的反馈,在应用交付至生产之前进行快速修正,从而提高应用交付效率并降低风险。此时,开发得到了优化,但在部署方便并未有太大改观,仍然遵循了传统瀑布流的方式,换句话说,虽然开发通过敏捷方法得到了风险的降低和效率的提高,但采用瀑布流方式的部署减缓着整体的应用交付,导致测试环节依然停留在整个交付过程的最后进行

澳门金莎娱乐网站,这是错误的所有权分割过程。对于应用交付来说,这是一个巨大的瓶颈,一旦我们在部署时发现问题,开发人员还是需要重头来过。

对比开发和部署之间的断裂,DevOps概念在应用交付各个方面的优势是很实在的:提高效率、降低风险。

APM是对软件应用的性能和可用性进行监控和管理,若是贯穿软件开发生命周期,APM便可以自上而下的监控方式就能为用户、业务、代码、服务以及用户体验提供保障,这为企业核心产品调整优化、更新发布提供了速度优势。

DevOps需要文化的转变

DevOps既非工具,亦非技术,而是一种文化的转变。对于任何类型的组织来说,变革都不是一件容易的事,变革所采用的新方法往往是极具挑战的。因此,企业首先应该明确变革可能带来的业务需求变化及挑战。企业都期望能够快速地为用户提供完美的应用和体验,但如果没有合适的工具、应用、行动,这个看似简单的目标很可能会变得极其复杂和混乱,最终导致交付失败而错过商业机会。

当企业内部人员理解一致时,DevOps将发挥出最大的作用。正确的技术、清晰的目标和一致的态度有助于落地DevOps,并实现成功的应用开发和交付。这是一个需要“齐心”和“协力”的团队工作。

据Gartner数据显示,APM 软件市场的营收在过去几年呈加速态势,截至2014年已达到26亿美元,较2013年增长了15.8%,远远高于整体软件行业的5.8%,足以看出应用性能管理(APM)的市场发展空间之广阔。2015 年的APM虽然谈不上“跨越式”增长,但不可否认的是,APM正在从核心IT部门延伸到了业务部门,不断蚕食着商业智能系统和传统运维工具的地盘。

DevOps需要统一的多技能团队

如上所述,沟通、协作和整合是将DevOps落地任何开发和交付环境的关键要素。建立多技能团队(如开发、运维和测试人员)可以增加巨大的收益,但没有正确的团队合作精神和态度,人才几乎是无用的。而身处DevOps之中,人们可以互相依靠,整个团队也会更加快速有效地运转,最终带来更高的客户满意度。

DevOps方法的第一步包括理解应用的开发、运维及质量保障如何相互依赖,通过跨部门的协作和交付流程中关键角色之间的开放式沟通,以提高效率、可预测性、可维护性。在整个流程的早期将这些因素整合并自动化,使得团队可以真正像“流”一样快速交付应用。

DevOps刷爆朋友圈,“一家人”充满期待

DevOps是企业IT的未来

现代化的应用相对更复杂,使用多种技术、多个数据库和各种终端,DevOps很可能是应对如此趋势的唯一可行办法。

澳门金莎娱乐网站 4

刺激APM市场高速增长有许多因素,其中之一就是火得不能再火的DevOps。关于这一点,你可以从频繁刷屏的“朋友圈”得到证明。相关APM产品的方向令人敬佩,它们负责填平Dev(开发)和Ops(运维)之间的鸿沟,并最终将IT价值流从开发延伸至生产,其意义不言而喻。

DevOps要点

以下是DevOps工程师需要知道的术语和工具:

回顾IT运维管理的发展历程,我们可以看到随着系统交付及使用方式不断变化,Dev和Ops两者也经历了由合到分,又重新走向融合的过程。而DevOps最直白的例子就是,“今后开发团队不会在周五下午6点后把代码交给你,运维团队也不会周末加班来给他们擦屁股,开发和IT运维之间的高度协同,控制和减少计划外的工作”。也正因如此,虽然现在还有人仍然对DevOps的理念充满怀疑,但不断出现的成功案例已然让运维人员对其满怀期待。

IaaS:时至今日,不知道公有云,不知道AWS、Azure、GCP的IT从业者几乎不存在。IaaS(基础设施即服务)供应商通过互联网在虚拟化环境中的公共连接向客户提供计算资源,包括存储、带宽、虚拟服务器、负载平衡器、网络连接和IP地址等。

PaaS:平台即服务(PaaS)使开发人员能够在基于云的平台上构建应用程序和服务。合格的PaaS产品可能需要很少甚至没有运维,支持多种架构并提供各类预置工具。PaaS提供商通过升级和新功能定期更新其服务,并向开发人员提供从源码到部署的支持。PaaS服务通常以按使用付费的方式提供。

无服务器PaaS:好雨云帮ACP

SaaS:托管在云端的应用(如即时消息、电子邮件、性能监控、财务会计)如果允许个人和组织在线轻松访问和使用。与购买包含许可限制的传统应用相反,SaaS是基于订阅的。

老牌运维厂商发起“反击战”,SaaS将是未来主战场

敏捷 vs. 瀑布流

“瀑布流”是一种分离应用开发和交付各个阶段(例如分析、设计、开发、测试)并以线性方式执行每个阶段的方法。因此,项目进行不顺利的话可能会导致代码无法开发;如果某一阶段有延迟,则可能会需要缩短或省略测试和质量保证阶段;如果在测试或QA中出现问题,代码很可能需要重写。

“敏捷开发”是一种以非线性方式查看业务和软件开发项目的方法,相比“瀑布流”更有效率。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

从2015年市场宣传上看,老品牌们出来喊话的次数明显减少。后起之秀们却是一轮轮融资,被估值几亿、几十亿的火热报道。但情况并非是你所想的那样。

集成和交付

持续集成(CI) - 开发人员将代码(每天多次)整合到一个共享存储库中,每个代码的独立更改都会立即进行测试以便检测和防止集成问题。

持续交付(CD) - 作为CI的扩展和增量应用交付的下一步,持续交付(CD)可确保在任何时候都可以发布在CI存储库中测试的每个版本的代码。

老牌厂商从理念、从技术、从关注重点,甚至从产品名字,都进行了全面的改变。例如:IBM Tivoli将其名称变为“云和智慧基础架构(Cloud & Smarter Infrastructure)”;Compuware 将APM业务命名为Dynatrace,在2014年实现了3.269亿美元的营收,排在Gartner APM数据调查第一的位置;成立于2001年的北塔软件,在推出智慧运维平台BTSO之后迅速上线“代维宝”,凭借价格、技术、经验等优势,以及O2O服务和遍布全国的服务网络,吸引了众多中小企业用户,刚杀入SaaS云运维市场便风生水起。

配置管理(CM)

简单来说,维护硬件和软件并详细记录(包括版本、要求、网络地址以及设计和操作信息)的过程被称为配置管理(CM)。有很多工具可以帮助我们实现CM,也可以使用Bash和Python来构建自己的配置管理自动化。

但是,APM终归是面向互联网企业的“小众化”市场,是IT运维总体市场的一部分,北塔软件这些实力派企业仍然占据着能源、医疗、政府、教育、金融等行业的主导地位。当“他们”能够结合SaaS应用趋势、满足用户不断进化的管理需求、为中小企业互联网业务(传统行业完全实现互联网化,遥遥无期)提供云端运维的时候,这种“回击”则是凶猛的、可怕的。

资源编排

在微服务、面向服务架构、融合基础设施、虚拟化和配置方面,计算机系统之间的协调和集成被称为编排(orchestration)。通过利用定义的自动化工作流,编排确保业务需求与IT基础架构资源保持一致。

如今,包括完全基于APM产品的新秀,以及IT设备管理和网络性能管理的老牌厂商,已经在SaaS领域展开了一轮激烈的争夺,例如:华胜天成的云悦、北塔软件的代维宝、爱维云、监控宝、听云、博睿、美信科技等等,其中一些还属于上市公司。

容器

容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。

何时再“洗牌”?

版本控制

版本控制包括帮助R&D维护和控制其源代码存储库中的更改的实践和工具。R&D使用源代码管理工具来记录和跟踪系统配置文件。

SaaS是大势所趋,但SaaS决不会将安装软件彻底消灭掉,最终也会成为两个市场。当大量厂商移兵SaaS的时候,反而可能在原有的战场上给那些“按兵不动的”留下相当的空间。所以问题的关键,不在于安装或者SaaS,而在于你是否有创新、差异化的产品。

Bug Tracking

Bug tracker是汇总和报告软件错误和缺陷的系统,帮助R&D进行任务管理,是DevOps方法所需一致反馈循环的一部分。

不过,任何一个有“钱途”的领域都会引来无数的竞争者,SaaS云运维市场也不例外。所以,根据以往的经验,APM在运维管理细分市场中会迎来首轮洗牌,而只有肯于持续创新的企业才能在IT运维管理生态圈中混出模样。

测试自动化

测试自动化通过支持持续运行的多个测试来帮助测试工程师工作,它可以提高测试覆盖率,同时支持有效的释放周期,例如测试自动化工具有助于管理、执行和测量功能测试和负载测试。

单元测试 - 单元测试是允许测试人员检查应用程序的小部件(如特定代码或模块)的过程。该测试通常是自动化和重用的,以支持连续测试和集成。

展望2016,新、老企业的竞争必然会推动着国内IT运维市场的蓬勃发展,最终受益的还是用户。用户不必再一次性投入大量资金,不需要配备专职运维人员、更不必掌握专业运维管理技能,就可以得到高效、高可用和安心的专业IT运维保障,这才是我们回顾2015年IT运维市场的重要原因,也是为SaaS云运维点赞的理由。

监控

监控是IT绩效管理的主要内容,是运行在线服务时最重要的方面之一。监控工具至关重要,并提供关键信息,有助于在可用性、安全性和性能方面确保服务的健壮性。

应用程序性能监控(APM) - APM允许您自动检测并收到应用程序框架中包含应用程序和数据库层的热点。

基础设施监控 - 此类别中的工具会自动检测和警告基础物理或虚拟资源性能和可用性的降级。

【编辑推荐】

日志管理

日志管理(或日志分析)是处理大量计算机生成的消息的做法,可以是操作消息(例如,当跟踪服务性能或安全性)或用于BI目的(例如当跟踪在线用户行为时)。

Author Idan Zioni

  1. 揭秘软件厂商转型SaaS模式5大原因
  2. 2015云计算最具颠覆性的9大创新
  3. “互联网+”是云计算普及的助推器
  4. 华云数据发布企业级云计算产品 是否为时已晚?
  5. 做高品质企业级云计算 华云数据发布三大系列云产品

好雨 - DevOps / 开发运维一体化

https://www.goodrain.com/devops.jsp

DevOps是一种理念,鼓励开发和运维之间沟通、协作、集成和自动化,以便更快捷、更频繁、更可靠的构建、测试、发布应用,而云帮ACP通过对CI/CD、高效运维、微服务架构等功能特性的设计和打磨,为DevOps的实现提供了一个可靠平台。

【责任编辑:谭盼 TEL:(010)68476606】

为帮助企业应对各种性能困扰,提升IT架构性能,Riverbed提供了最全面的平台,确保理想的应用性能,持续的数据可用性,并主动监测和解决性能问题。Riverbed助力混合型企业将应用性能转化为竞争优势,最大化员工生产率,借助IT创造新型运维灵活性。

如您想了解更多关于Riverbed的信息,可以扫描下面二维码关注Riverbed官方微信:

澳门金莎娱乐网站 5

本文由澳门金莎娱乐网站发布于服务器,转载请注明出处:应用发布前保障性能的十八种方式,SaaS云运维高

关键词:

CentOS7网络配置澳门金莎娱乐网站,解决win下无法

查看 ifcfg-eno16777736 网卡配置文件(centos7改动了很多!!!跟书本教材的老版本有很多不一样的) 解决win下无法ping通V...

详细>>

澳门金莎娱乐网站释放云的无限潜能,从网站监

【干货】解密监控宝Docker监控实现原理 分享人高驰涛(Neeke),云智慧高级架构师,PHP 开发组成员,同时也是PECL/SeasL...

详细>>

Linux内存查看工具,Linux监控工具介绍系列澳门金

Linux内存查看工具---Smem,linux查看---smem 物理内存不足对Linux桌面系统和服务器系统的性能影响都很大。当你的计算机...

详细>>

掌握好这几点方法学习Linux,开始学习Linux的一些

开始学习Linux的一些建议,学习Linux一些建议 端正学习态度 1、Linux不等于骇客(or Cracker)。 当然众所周知很多“黑客...

详细>>