【CTO讲堂】如何通过APM持续构建高性能IT架构?
为了帮助IT从业者职业之路拥有更多收获,在诸多C粉的殷切期待下,由 CTO俱乐部打造的CTO线上讲堂自登场以来获得大家好评。本期邀请云智慧首席架构师高驰涛(Neeke Gao)带来“如何通过APM持续构建高性能IT架构? ”的主题分享。
欢迎加入CTO讲堂微信群与业界大咖零距离沟通,12月17日本期讲堂报名方式拖至文末查看。
分享嘉宾:云智慧首席架构师 高驰涛(Neeke Gao)
嘉宾简介:高驰涛(Neeke Gao),云智慧首席架构师,PHP/PECL开发组成员,同时也是PECL/SeasLog 的作者。10年研发管理经验,早期从事大规模企业信息化研发架构,09年涉足互联网数字营销领域并深入研究架构与性能优化。2014 年加入云智慧,致力于 APM 产品的架构与研发。崇尚敏捷,高效,GettingReal。
公司简介:云智慧(北京)科技有限公司是国内领先的应用性能管理服务商。基于大数据分析为企业级用户提供全面专业的端到端应用性能管理(End To End Application Performance Management)解决方案。云智慧旗下产品监控宝、透视宝和压测宝,已累计为电子商务、移动互联网、广告传媒、在线游戏、教育医疗、金融证券、政企等行业的几十万用户提供了前瞻性的智慧性能管理服务,是新一代应用性能管理(APM)的领导者。
以下是12月10日CTO讲堂现场完整速记:
主持人:下面欢迎云智慧首席架构师,高驰涛(Neeke Gao)做自我介绍。
高驰涛:大家好,我是来自云智慧的高驰涛(Neeke Gao),PHP/PECL开发组成员。2010年以前一直在传统企业中做企业信息化的研发和架构,2010年有幸加入易车,开始涉足互联网数字营销领域,2014年加入云智慧,致力于APM产品的架构和研发。语言方向为PHP, Python, C, Go。崇尚敏捷,高效,GettingReal。
主持人:欢迎您~看到您近年来涉足互联网数字营销领域并深入研究架构与性能优化,什么契机下加入了云智慧?最初的想法是怎样的?
高驰涛:互联网数字营销领域,简单说其实就是利用互联网门户或垂直门户或自媒体等等区别于传统行式的新媒体形式进行,广告。这个市场向来非常的火爆。在营销过程中和营销后的技术领域,有很大部分是在进行数据的采集,监测,归总分析和报告管理。这部分技术内容深化之后,其实就是我们目前所了解的云计算和大数据分析,这在很早以前已经完全成为了另一个新兴的行业。
加入云智慧,首先要感谢我们的CEO Andy,那时我刚刚加入PHP/PECL开发组。这个契机让我有机会将一直以来研究的底层技术发挥应用,并更深入地针对APM这个事情进行钻研。在Andy的带领下,整个团队都在深沉的技术氛围中,特别的有朝气,团结向上。这个团队集合了非常多的技术专家和有志之士,大家共同努力着同一个事情,这是非常令人振奋的。
主持人:请介绍下目前云智慧的情况以及技术团队构成。
高驰涛:云智慧继2014年A、B两轮融资之后又在前天(2015年12月8日),刚刚完成了由红杉资本和戈壁创投追加投资的1230万美元B+轮融资,这两年的三级跳,进一步证实了云智慧从性能测试,性能监控到性能管理的全方位产品和解决方案,已经得到了市场和用户的认可。
目前公司服务团队由最初的30余人发展到如今的160多人,产品技术团队约占公司人数的70%,技术部门由产品研发、技术服务两部分组成,并设有专门的架构师团队、产品研发团队、售前技术支持团队、项目实施和专业服务团队。
主持人:发展的真快,那麻烦您简单介绍下云智慧目前提供的产品和服务吧。
高驰涛:云智慧自09年成立以来,先后推出了旗下的三款产品:监控宝,透视宝,压测宝。
在互联网时代,中国还没有什么像样的为 IT 服务的公司,在 IT 基础设施这块非常薄弱,一个简单的业务问题可能都解决得不是很好。例如,一些很大的互联网公司经常会接到用户投诉说网站访问不了,然而他们的 IT 部门并不知道。这是因为在国内几乎所有的基础设施是三大运营商在做,他们之间是互联互通都是有问题的,所以IT部门没办法第一时间发现使用其他运营商网络的用户遇到的问题。
云智慧就从这个点出发,发布了SaaS产品--监控宝--来解决当时的互联网企业的一个痛点问题:业务中断。怎么做呢?我们部署了很多服务器在各大运营商不同地区骨干网的节点上,通过这些分布式访问点来帮助企业的网站发现问题。到今天,我们已经在全球 200 多个城市部署了服务器,来实现网站的实时监控 。目前中国有近80%的运维工程师都在使用这款产品。
随着云计算、移动互联网以及 IT 运维技术的快速发展,常规监控依然存在,但随着客户的增长以及 IT 成熟度的发展, 业务中断问题对于很多公司已经不是个解决不了的事,用户体验问题变得更加突出。伴随移动互联网的发展,每人都有手机,手机里有很多App。五六年前在很多传统业务里,普通企业的IT运维很难直接接触到用户,但是今天,通过用户手机里装的App,用户每时每刻都在跟企业的 IT 系统打交道。这时候,用户体验就基本是由这个 IT 系统传递,我们就从这个点上发现了另外一个很大的市场:业务性能监控的问题,因此云智慧发布了--透视宝--这样一个新产品。以上是云智慧所从事的领域:「应用性能监控」即 APM。
2015年云智慧又推出了基于真实业务场颢的全链路性能测试服务--压测宝,这也标志着云智慧面向全生命周期的一站式性能解决方案产品布局的初步完成。
主持人:有人说APM就是速度监测和日志管理,该如何准确理解APM的真正含义?
高驰涛:APM行业近几年非常火爆,已经逐步成为企业级用户对IT软硬件监控和管理的刚需。可是由于各APM厂商的理解不同,大家所认识的APM也并不完全。我们看一下Gartner对APM的定义:
根据Garter的定义,真正的APM要求做到5个分析和管理范围:终端用户体验,应用架构映射,应用事务分析,深度应用诊断,分析与报告。这里需要特别指出的是:没错,APM绝不仅仅是简单的速度监测和日志管理。因为目前确实已经有不少大小厂商,看似酷炫的界面,其实做到的核心业务只是比较基础的日志统计管理。我们再来看一个经过抽象的复杂应用架构模型:
用户请求,通过前端缓存,通过WebServer,同步或异步地采用可复用的业务集群;然后数据经过同步或异步的各种类型数据中心,最终通过数据路由,与文件系统\DB系统\其他资源系统,进行交互。
上面是软件架构模型。我们再看一下硬件架构模型:
用户请求通过各种终端,经过交换路由,通过骨干网防火墙,到达服务商的服务器;
服务器再经过负载均衡,将请求分发给集群内的某台具体server;
Server服务器再经过数据层代理均衡,与集群中的某一个具体数据实例进行交互。
假如这个应用服务器的研发部门接到投诉:有一个用户不能登录了。我们能准确地定位到上面两个模型中的任何一个位置吗?
相信很多人都不能回答这个问题。因为一个请求的过程实在是太复杂,没有办法准确地定位:
l 有可能用户断网了呢?用户是不是用了一个我们不支持的老版本浏览器导致JS报错?
l 会不会CDN服务有问题,加载了旧版本JS?
l 会不会服务器某个实例从upstream中掉线了?
l 会不会某个慢查询锁了表?