池建强:云端时代的技术选择,APM 技术越来越受用户和企业关注

经常有踏上创业征途的技术小伙伴问我,哥,你说我们是使用基于 IDC 自建机房呢,还是使用云主机呢?这时我一般会推荐:海外亚马逊,海内阿里云。这差不多是两个最靠谱的云服务厂商了。

池建强:云端时代的技术选择

当年王坚博士力主阿里云的研发,现在看来是非常英明的技术决策。无论遇到多少困难,前有亚马逊这样的标杆服务平台,后有阿里的技术实力依托,只要能坚持,无论如何都能做成。时至今日,国内再没有与阿里云抗衡的对手。当然,与海外的亚马逊云服务相比,无论是稳定性还是服务的丰富程度,还有些许差距。那就继续追嘛,作为互联网企业用户,无论是亚马逊还是阿里云,服务越稳定越有效越丰富,我们越开心。

云端服务

云服务能够帮助我们解决什么问题呢?首先是基础服务,比如容灾。企业自己在 IDC 做灾备是非常昂贵的,代价很高,还不一定有用。但优秀的云服务商在趟过无数坑,中过许多箭,遭遇过海啸切断海缆,挖掘机挖断光线之后,他们积累了宝贵的经验,现在差不多能同城备,异地备,全球灾备等等。还有自动扩展,弹性计算、安全和 CDN 等等,这些基础的服务,基本上能够满足中小企业的需求。

除了这些,云计算服务商还提供了各种技术服务,比如存储、数据库 RDS、缓存服务、搜索服务、日志服务、构建服务、监控服务等等。在这方面亚马逊的服务相对丰富一些,比如亚马逊基于 RabbitMQ 和 Kafka 提供了 SQS 队列服务,可以构建复杂的分布式处理系统,还可以结合受控运行环境 Lamdba 进行实时数据处理。

我们采用云端服务的标准是:如果云服务厂商已经推出了正式的稳定的云服务,那就采用厂商的技术,比如 RDS,我们不会在云端购买 ECS 去搭建自己的数据库服务。长期来看,这种使用规则对用户和云服务厂商都是好事。

程序员的选择

有了这些服务,是不是程序员就没事干了?想得美!我们除了要基于这些云主机和相关的技术服务构建企业的业务系统和互联网服务,还要去研究云端的存储、MapReduce、MQ、负载均衡、安全、推送等技术,以期让底层技术架构和业务系统的性能和功能实现最大的优化。

那等到业务系统上线,是不是就没事了?想得美!由于现在互联网的业务和用户行为越来越复杂,技术栈也极其丰富,线上出问题的几率也越来越大。比如一个电商系统,不考虑移动端,还有这些技术栈:

前端顶 WAF 安全设备,后面是 OpenResty,限流,分流和负载处理,用 lua 实现
前后端完全分离,界面的业务逻辑交给前端做。通过 Restfule API 和后端 PHP 交互
热点数据做了一个商品中间件,基于 Java 实现,对接前端和 PHP 业务层
RabbitMQ 做消息队列,处理分布式消息和事物
Push 系统是基于 Go 语言实现的,完成云端和 ROM、App 的消息推送
数据离线和实时处理系统,请参考上一篇文章
……

这种复杂的技术和业务构建,让程序员心力憔悴。再也不愿意半夜被电话铃声惊醒了(别闹了,那时你可能还没睡),于是有了 APM 技术(应用性能管理)。

你走过最长的路,就是套路

APM,应用性能管理

对于线上问题,要么是事后处理,比如我之前发过的【动态跟踪技术】,要么是事前预防,比如 APM 技术。与云计算一样,普通厂商想要实现 APM 是困难和复杂的,最好依托于第三方厂商。拿 Java 来说,单机系统,系统应该运行在一个 JVM 上,基本的性能分析包括但不限于:方法的 Call Stack、执行时间、对 CPU 和内存的消耗等。JVM 的探针利用了 Java Bytecode Instrument 机制,在 JVM 加载类文件的时候注入监控语句,实现数据收集和分析。对于分布式的架构,实现多个 JVM 的性能监控,会更复杂一点。

如果你的业务系统是 PHP、Ruby、Python 等语言构建的,还需要提供相关技术栈的性能监控和优化支持。可以说,APM 是一套完整的云端技术和服务。

如果你的团队已经有了足够的用户和流量,还没有使用过 APM 技术,甚至线上竟然还没有出过问题,那么我要先恭喜你一下,然后建议,尽快了解一下 APM 吧。哦,对了,这里刚好有一个 APMCon 大会推荐给你。

APMCon

今年8月18-19号,极客邦、InfoQ 和 APM 厂商听云将在北京联合主办 2016 APMCon 中国应用性能管理大会,大会邀请了来自 Twitter、支付宝、腾讯、京东、网易、新浪、天猫、58到家等公司的技术负责人,共同探讨 APM 相关的性能优化、技术方案以及架构细节,为更多的行业从业者传递应用架构优化和创新内容。APMCon 旨在推动国内APM开发技术的进步与创新,提升 APM 开发技术和技术人的影响力。

目前,大会已经邀请到了国内外行业里最具代表性的讲师,例如:

Java/JVM 性能咨询专家,2013年 JavaOne 大会明星讲师 Monica Beckwith
多次参加 DevOps,OSCon,JAX,PHP UK 等技术大会演讲的 jClarity CEO Martijn Verburg
热爱历史和唐诗宋词的 LinkedIn Staff Software Engineer 庄振运
在大规模数据挖掘和大数据机器学习方面经验丰富的 AppDynamics 首席数据科学家赵宇辰
阿里巴巴高级无线技术专家陈武
腾讯社交多媒体业务负责人梁定安
京东资深架构师张成远
映客直播iOS高级开发工程师刘凯
美团点评技术工程部技术专家尤勇
360手机卫士高级技术经理刘刚
喜欢马拉松的听云CTO Wood
讲师们会在 APMCon 中性能可视化、服务端性能监控、数据库性能优化、移动性能优化、运维自动化、基于云架构性能优化、CDN 加速、HTML5 最佳实践等8个分论坛进行分享。

在互联网领域,用户体验的重要性不言而喻!很多企业将业务构建在互联网上,都曾遇到网络故障和性能问题导致业务缓慢或中断的情况。这也是为什么 APM 技术越来越受用户和企业关注的核心原因所在。APMCon 将聚焦这些性能问题,共同探讨 APM 相关的性能优化、技术方案以及架构细节,为更多的行业从业者传递应用架构优化和创新内容。

【文/池建强 MacTalk(微信号:sagacity-mac)】

氧分子网(www.yangfenzi.com)是关注互联网生态圈的科技新媒体

·氧分子网(http://www.yangfenzi.com)延伸阅读:

➤ 经济学人:云服务价格持续走低,IT行业迎来变革

➤ 首期“金熊掌尖子班”开课!20位创业者密会百度高管

➤ 多家创业公司逃离公共云服务:成本太高

➤ 微软全球推广云服务OneDrive 提供7G免费空间

➤ MIUI 6发布:界面功能优化 云服务是核心

➤ 谷歌宣告“云1.0 时代”终结,机器学习会让它称霸智能云市场?

➤ 百度发布“智慧汽车战略”,并计划三到五年与长安合作推智能汽车

您可能还喜欢…

12 Responses

  1. newjueqi说道:

    李哥理当,云上套路多,池老说一说。。。技术永远在更新,有钱呢,还是自己建立机房的好,前期投入稍微多了点, 我写的书《App后台开发运维和架构实践》中推崇的架构原则是“尽量使用成熟可靠的云服务和开源软件,自身只专注于业务逻辑”,技术选型的优先级如下: – 云服务 – 开源软件 – 自主

  2. 益每一天说道:

    海外微软云比国内稳定的多,功能也丰富
    是【Restful API】不是【Restfule API】
    我们只要用了阿里云、腾讯云和亚马逊的一些相关服务
    就我熟悉的数据库这块来说,云服务商提供的服务,都会有限制,比如不能随便装Agent,没有超级用户,所以许多时候是需要权衡的。
    合久必分,汾酒必喝

  3. 王一平说道:

    最漫长的路就是套路?想得美,一切非完美路况太多惹
    这句话说得很有价值。“我们采用云端服务的标准是:如果云服务厂商已经推出了正式的稳定的云服务,那就采用厂商的技术,比如 RDS,我们不会在云端购买 ECS 去搭建自己的数据库服务。”

  4. MR。zg说道:

    lamdba是啥东西……不是lambda吗……
    池老师,现在锤子怎么样了?
    以后这C++市场会不会持续减少,都没它的事了
    挖掘机挖断光【纤】,虽说确实有这样的事情发生,但是,我还是忍不住笑了~~~任你技术再高,也防不住挖掘机啊!

  5. 爱娇说道:

    池老师广告带入的简直毫无破绽,套路太深。国内还有牛逼的百度开放云…哈哈,放出来
    云备份和云容灾,有第三方公司吗?专业做灾备…..池老师,腾讯云和阿里云算不算得上旗鼓相当呢?腾.讯云还要加油//////////国内UCloud,老师是否有关注过,也很贴合用户需求吧?技术实力也蛮强的。

  6. 启明灯说道:

    池老师能不写一写关于容器云相关的文章呢?Lua的L要大写,然后RESTful…跟着池老师涨姿势 c++全栈后台码农看到想哭…还有很多要学习的,还有一些思考的问题,总体来说,国内的好多蛋疼东西用起来实在是肯定跌坑娘坑全家的节奏,希望都好好做产品。

  7. 李俊杰说道:

    真的感谢微信,让我们这些一直在海外的学生也能轻易拉近和国内年迈父母的距离。但是作为Mac OS的深度用户表示,Mac微信到底何年更新…即刻能不能超越今日头条,想看到池老师的观点。池大大,您这是收割了这么一大波优质粉丝?还是假冒马总头像?我倒是特烦别人乱用头像,前段时间就有冒用我个人头像诈骗

  8. 清清说道:

    讲真 类似老年人的需求这种事我觉得不可能成为微信要解决的大问题之一 这些人……落后的属性吃药都改变不了 其体量的作用也就是社会级别的联动 继续深挖社交的形态才是关键 抓住核心用户群还不够?一直好奇微信的下一个用户载体是什么?微信的成功不可否认,但总有衰竭的时候。随着科技的日薪壮大肯定还会有其他的项目出来,或许微信还可以承载更多的用户量,但是随着时间的退去,“诺基亚”还总会退出舞台的……

  9. 张扬说道:

    有时候我们会十分纠结,既对新功能、新设计的无限期待,又对旧有的优点留连不舍,而很多时候两者是冲突的、矛盾的、难以调和的。微信确实不错,是社交网络巨无霸。给大家带来了方便。有一点我觉得很难接受,就是强行要求绑定银行卡这个事。当然了,我只是海洋里的一滴水,我的不满,不代表所有人的不满。随便找一个用户就能找一皮车的需求?也就池老师和冯老师的用户是这样罢

  10. 二两说道:

    想起了完美上市前有一个师弟义正严辞的拒绝完美的offer的情景。另外,我也是跟池老师和二爷一样的大多数人。拒绝和已经富废的人同流合污………..最近即刻在各种大号露脸,这推广成本不低吧……….痛苦是指错失富废的机会了吗。。。自从用了即刻,知乎和微博的打开率直线下降!赞美即刻!你太坏了吧,不怕微博知乎追杀你啊,,,,都是套路啊!!虽然发音是 /ˈluːə/ ,用拼音念出来(Lū a),就知道不是中国人发明的……

  11. 薛定谔的枪说道:

    我是第一个赞赏的~虽然少,心意到了玩过魔兽,玩过大话,很少有人能看到游戏背后的东西,后来才发现,愿来当时玩游戏的我们是被游戏玩~~~
    昨天公司刚让我学lua,池老师就写了,难道是缘分?对了lua英语怎么读(撸啊,撸呀…
    池老师错过了好多发大财的机会啊。。。想想太痛苦于是开始研究工具转移下注意力么

  12. 胡军说道:

    也是美服公测玩家,10级时候跟土耳其牛战,比利时刺客惊心动魄地打了一次怒焰,队里就是没一个美国人。后来也为了写插件看了下Lua,对他唯一而全能的数据结构 table 印象深刻
    池老师憋难过,这事儿我最知道了,A8 没什么好的,A8 特别酸

发表评论

邮箱地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>