网站遭遇 XSS 攻击

昨天晚上 11 点半,正在为网站更新内容,刚发布好的文章页面突然跳转到了国外的广告网站,这是怎么回事?赶紧排查解决,直到凌晨 1点半才算完全搞定。

这是一次典型权限问题导致的 XSS(跨站脚本)攻击,非常有必要记录下来。我希望我能写的通俗易懂,让不懂技术的产品经理、运营也能理解过程和原理,这样看的人在「知识广度」上就能有所扩充。

先打个比方。你平时总坐 365 路公交车去公司,今天你像往常一样上了 365 路,但是意外的情况发生了,一种情况是 365 路到了你公司那一站,它居然没停,直接把你带到了其它地方,或者,它根本就没走正常的路线;另一种情况是,公交车上的显示屏,不是正常放新闻广告,而是播起了爱情动作片!

XSS 攻击就像上面这个例子一样,被攻击的网站页面中,嵌入了恶意的代码,这些代码会干各种坏事。

现象描述

打开网站首页或任意一篇文章,加载完成后,浏览器状态栏显示请求一个跨站地址(非本域名的地址),先跳转到了一个空白页,此时浏览器地址栏的 URL 也已变化,紧接着又是一次重定向,最终落地页面是一个国外的广告页面。

截断重定向,在网页将要跳转前,快速按下 ESC 键,让网页停止加载,看网页源代码,在 head 区发现有这样一段代码:

这是一段编码后的 JavaScript 代码,不用解码,凭经验能判断它就是罪魁祸首!

打开浏览器开发者工具查看请求过程(macOS 下 Chrome 的开发者工具快捷键是 ⌘ + Option + i),在 Network 标签下刷新网页,看到过程中会请求几个第三方地址,首先是 hellofromhony.org/counter,接着有 thebiggestfavoritemake.com,还有nnatrevaleur.tk。

排查过程:

网站用的是开源的 WordPress,赶紧去看模板文件。发现模板文件最近都没有修改过,修改时间没有接近现在的。打开 header.php 模板头文件查看,也没有发现恶意代码。

这时候有点慌了,如果是别的文件被注入恶意代码,那就不太容易找了,WordPress 的文件那么多。

无论如何,先确定下是不是模板文件的问题。新安装并启用默认的模板,仍然会跳转——不是模板文件的问题。

这时候在 Google 上搜索那段恶意代码,隐约有人提到是插件引起的。我的网站安装了很少的插件,1 个官方的 Akismet Anti-Spam 和 4 个其它的,把其中 2 个我认为有风险的关掉,果然好了!网页不会再跳转了。

分析与解决:

接下来就好办了,也能有时间看问题是怎么产生的了。

根据插件名称和相关关键词搜索,定位到了是 yuzo-related-post 这个插件引起的。这个插件的用途是生成「相关文章」,大约在一周前,作者把这个插件停用了。

在 Stack Overflow (国外的一个程序员问答网站)上,已经对这个问题有了详细的讨论。地址是:https://stackoverflow.com/questions/55610548/vulnerability-in-closed-plugin-yuzo-related-posts

有位程序员已经搞清楚问题的原因,是这个插件保存配置的文件没有严格判断管理员权限,即使没有登录,也可以向/wp-admin/options-general.php?page=yuzo-related-post发送形如yuzo_related_post_css_and_style=</style><script+language=javascript>alert('hacked');</script> 的 POST 请求,这个数据会被成功地保存在数据库里。

上面那段编码后的恶意脚本就是通过这种方式注入到数据库中的。具体是在wp_options表中,名称为yuzo_related_post_options的行记录中,在option_value列中保存了这段恶意代码。

这个插件使用了is_admin()函数来判断是否是管理页面,但在 WordPress 官方文档中,明确提到了is_admin()不能代替安全认证检查。只要当前 URL 被用于 WordPress 管理页面,它就会返回 true。它不会检查用户是否已登录,也无法检查用户是否有权访问所请求的页面。它并不适用于验证安全请求。如果要判断用户权限,应该用current_user_can()函数。

进一步查询得知,Yuzo Related Posts 插件有超过 60,000 个网站安装,安全研究人员在 2019 年 3 月 30 日发现了一个未修补的漏洞,同一天进行了公开披露,4 月10 日开始被黑客正式利用。插件作者在 16 个小时前发布紧急通知让用户移除插件。

我的运气非常好,第一天就赶上了。

产品经理成长系列(3):业务和市场

业务

说起业务这个词,我们耳熟能详的有经营业务范围、传统业务、核心业务、创新业务、异业合作等。

那么业务到底是什么?业务就是完成产品和服务提供,收回现金流和利润或形成规模化垄断的一系列操作。

大白话就是我们是做什么赚钱的。

通常对业务是从客户价值角度描述的:「我们为客户提供『高大上形容词』的『概念性名词』……基于(利用)『某先进技术』,实现了『优化/创新/颠覆』」。

实际上,说的和做的可能是两码事。

这里推荐阅读曹政的《面目之下的真相》,他举了几个例子,说做大数据广告营销的,宣称机器学习的算法带来转化价值的提升,实际上业务重心是流量劫持;做教育平台的,如何如何有效提升了学生的学习兴趣和自学能力,获得了广泛好评,但业务基础来自于抄作业这个刚需;还比如说做电商平台的,业绩、流水、数据指标各种激增。但实际就是和羊毛党相互利用;还有做金融服务的,讲核心竞争力是大数据征信,实际稳定业务的是具有黑社会背景的催收团队。

受益于互联网不断推陈出新的概念和风口热词,互联网业务比传统实业在说法上有很多可以操作的空间,所以打算做产品经理,需要区分宣传语言和实际业务,快速识别公司的核心业务是什么,生存逻辑是什么,避免掉坑。

前面说了,我们开公司做业务,赚钱是最终目的,根据掌握的资源和所处的阶段不同,关注的目标不同,靠自己的本钱创业的,初期会关注现金流,保证存活的过程中求发展;获得竞争优势后,逐渐会考虑运营效率,降低单位成本、提高周转率,获取更高的纯利润;在资源充足的情况下,利如有资本注入,互联网业务为了获得垄断优势,往往会加大获客力度,快速形成规模。

所以,业务会有这样几种类型。起初是资源型业务,手里有什么蔬菜,我们就炒什么菜。这也是一般人创业的思路。互联网还有一种典型是机会型业务,就是突然出现的新模式,一般是国外首先出现,在技术上没有壁垒,马上投入资源进行跟随和本土化运作,像王兴几次创业都是这种模式。

资源型业务在资源枯竭,或者变现效率低的情况下,会发展为放弃型业务。它和机会型业务在窗口期发展良好的话,会形成公司的核心业务,吃一定时期的市场红利,随着衰退期的到来,公司将产生变革型业务和替补型业务,业务的变革,又有提前性变革、反应性变革和危机性变革,其实就是主动革命和被动革命的区别。

对于老板或创业者来说,在业务这个层面,最重要的是明白核心优势是什么,哪些是要做的,哪些是不做的。

哪些可以算作是优势?战略层面,最大的优势是管理优势,即刘邦所说的:「夫运筹策帷帐之中,决胜于千里之外,吾不如子房。镇国家,抚百姓,给餽饟,不绝粮道,吾不如萧何。连百万之军,战必胜,攻必取,吾不如韩信。三者皆人杰,吾能用之,此吾所以取天下者也。」其次是技术优势和资本优势。

战术层面,就是真正弄清楚自己能形成局部优势的是什么,能干得比别人好的那个点在哪里,不用自己的劣势拼别人的长处。

我呆过的一家公司,市场资源和产品包装能力不错,但产品和技术很弱,所以尽管接了不少项目,但交付的效果却很差,客户不满意,一直处于恶性循环,产品技术疲于应付项目交付,几年时间都没有沉淀出自有的成熟产品,也没办法从各种项目中构建起产品技术的方法体系,销售方面却不分性质、类型甚至不计成本,什么项目都接,连呼叫中心这种业务也接,公司也不考虑这种业务是不是自己所擅长的而进行推进,本来是想与客户建立良好的关系,等到交付完成,效果只能适得其反。

如果是我,我会把公司切成两半,一半专门就对接项目,能自己做的项目自己做,自己做成本高、风险高但也还有利润的项目就把自己作为一个集成商,找外包公司来做,发挥组织协调和项目管理的优势;另一半调集公司最强的产品和技术成员,以互联网公司的方式,打造真正的商用产品。

有所为有所不为,不论对于个人还是组织,都是智慧所在。《孙子兵法》说:「途有所不由,军有所不击,城有所不攻,地有所不争」。

对于打工的产品经理来说,要认清业务的地位和所处的阶段,了解自己领导或参与的产品对于核心业务或变革业务的贡献点在哪里,评估需要投入的成本和精力。也要从需求的角度,去了解业务的结构和目标,以及业务人员的习惯和痛点,以便能掌握比较全面的资料,从而系统性地优化业务本身,和提升产品对业务人员的友好性。

业务做得好坏,各行各业或各种模式的产品通常都有惯用的指标,通过数据分析,进行监督反馈,这个在系列的运营增长篇再详细说。

市场

下面来说说市场。

对于市场来说,有很多理论,尤其是在营销方面,如熟悉的4P、4C,还有后来扩展的4R、4V、4I 等,都是从不同角度对关键要素的阐述。类似这些也都不多说。我们也是关注几个核心点。

首先是市场规模,大家都知道,我国的人口规模持续对互联网行业产生了利好作用,手机网民高龄化和低龄化更是丰富了用户层次,产品类型的空间弹性加大。

到现在,上网人数基本趋于稳定,也就是说基本达到了顶峰,增量将只能从一个固定数量中挖掘。

因为基数庞大,一款小众的产品投入市场中,可能都会有很大的用户群体,用户基数展示出了中国长尾市场的威力。从年龄结构上来看,老龄化市场的规模将加大。

用户低频小额的付费习惯也逐渐培养起来,从这一点来说,从用户口袋里掏钱比以前变得更容易了,这也是今年苹果发布会是资讯影音等内容服务类产品订阅的基本逻辑。

从个人创业角度来讲,我们找到一个小痛点,用简单极致的方式解决了,每个用户一年只收取一个盒饭钱,那也会是很了不起的收入。

比如说 iPhone 的来电识别,至今都没有一个简单的产品去实现。有这个功能的 APP,功能又太多了,不够纯粹。我愿意为这项服务,每年付 30 块,你呢?

其次是市场阶段,教材上分为导入期、成长期、成熟期、衰退期。这里重点是和业务类型或者说产品矩阵结合起来,同时也关注产品的生命周期。

业务类型就是上面所说的变革型业务、替补型业务。互联网的行业,建立自我革新的机制非常重要,否则就会呈现雅虎、TOM 那种败局。BAT 这几家公司,腾讯的自我革新依靠内部的赛马机制,微信的补位直接让腾讯获得了移动互联网的船票。阿里的革新来自战略思维,百度缺乏自我革新,也没有典型的变革型业务和替补型业务,是被动地跟随者。

产品矩阵,一个是指波士顿矩阵,另一个是安索夫矩阵。

波士顿矩阵,是以相对市场份额和预计市场增长率组合形成的四个业务产品类型,就是大家熟悉的金牛(高份额、低增长)、瘦狗(低份额、低增长)、明星(高份额、高增长)、问题(低份额、高增长)产品。

它的目的是帮助公司发现业务和产品的表现,协助公司更妥善地分配资源,于是对应的策略有维持、撤资(不进行投资,将其出售或清算)、建立(增加投资)和收割(减少投资),通俗地理解为捧明星、榨金牛和杀瘦狗。

安索夫矩阵,是以新旧市场和产品进行组合,来定位采取什么经营策略。

  1. 市场渗透:目的是使现有产品的占据更多的市场份额。这也是一般公司常规市场策略,通过促销、提升服务品质等来与同类产品竞争,提高市场占有率。
  2. 新市场开拓:为现有的产品找到新的市场,通常要稍稍调整产品的定位和销售的方法,但核心技术基本不变,诺基亚手机的换壳改型号策略基本属于这一类。
  3. 新产品开发:为现有的市场研发新的产品,这要求有差异化竞争的能力。像手机市场出现 iPhone,属于颠覆性的产品延伸。
  4. 多元化经营:为新市场开发新产品,本意是要求创新,失败几率较大,互联网行业需要多在这个领域发力。那我们通常所说的和看到的多元化经营,是多干一样别人也在干的业务,比如做手机的同时又去做电子烟,或者做娱乐的又去做汽车一样。
  5. 市场维持:当市场渗透能力不足时,就剩努力维持这条路,维持不了的时候,只能缩减成本。

第三是市场格局,分为完全竞争、垄断竞争、寡头垄断、完全垄断。新市场的早期一般是完全竞争,进出都很容易,产品差异性比较小,如早期的团购和共享单车;随着竞争加剧,就出现了垄断竞争,资源不足的被清退出去,最后剩下几家,形成了寡头垄断,基本是老大吃肉,老二喝点汤,这种情况我们作为消费者也见得很多,疯狂补贴过后,市场上一半剩下两家,聪明的厂家不会格杀老二,像滴滴这种就是属于不聪明的。完全垄断不必多说。

最后是市场竞争,想从同类型产品中脱颖而出,就要让客户觉得你比别人好,这个和你真的比别人好不是一回事,不过最好是一回事。

竞争就是要做到领先,那么就有机会领先、规模领先、资源领先、成本领先、渠道领先、推广领先等。主要是考验策略和手段,每个阶段都有竞争要点和竞争壁垒,没有一成不变的竞争优势。所以「守业」比「创业」更为艰难,守着守着就守不住了。

你需要什么样的协作工具?

无码科技公司的 Fenng 昨天发了一条招聘信息。其中一个岗位是「业务多面手」(我理解就是行政人员),要求「擅用工具……而不是发送离线 Excel 与 Word 解决协作问题。」

我很喜欢这种招聘写法,直接 PO 图上来。

自己创办公司或者在公司里做管理,要在制定制度、锻造氛围、提炼方法论、引入效率工具方面费一些心思。前两者因为重要容易受到重视,后两者则在有空余时间才能被关注。

如果比作军队,这四项可以等同于军法军纪、意识形态、作战兵法和武器装备,实际上,战术层面的兵法和兵器同样至关重要,这两项具备条件了,能打胜仗,给士兵信心,对于前两项的建设将更为顺利。

四项并重,将领要时常关注并引入最新式的协作工具。

用离线文档协作,包括用邮件发送附件,对互联网公司追求极简和高效的基因不符。不过也有一些人,把用邮件确认责任看得极重要,作为职场自保或甩锅的常规手段。

好了,闲话不多说了,推荐几款协作工具。


首先,基础的办公协作环境建立,建议有条件的公司用 G Suite(Google 智能办公套件)。用了就会上瘾,不多说。

字节跳动公司今年初也上线了一款企业办公套件,名字叫 Lark Suite,整合了沟通、共享日历和文档在线协作。对,你没有看错,就是开发出今日头条、抖音、多闪、懂车帝应用的那家公司。Lark Suite 不仅是面向企业市场,更是直接面向海外,基于什么战略考虑,不好揣测。

测试用美国手机号注册,还需要联系字节跳动公司,获得邀请码才能完成注册,没有看到内部的界面。


项目敏捷管理,推荐三款:禅道、iCafe(百度互联网研发管理平台)、TAPD(腾讯敏捷产品研发平台)。禅道我在6年前的创业公司引入使用,TAPD 我在上家公司推广普及,都算是重度用户。

借用 TAPD 和 iCafe 的图片简单说明一下敏捷迭代。敏捷的目的是快速交付以验证市场,实施敏捷我的经验是需要有两个条件:一是团队成员产品、开发、测试水平要均等,且高于一般水平,二是团队成员都得是自驱型。不满足这两点,发布效率和产品质量都会出大问题。所以要求还是比较高的。

敏捷并不代表开发成本低,事实上往往开发成本更高,它也不代表比瀑布流更先进,我更愿意理解它是求快的被动之举。总之来说,敏捷其实会有很多坑。另外有个弊端是有些公司都按公式化套用敏捷方法,过程中的早会、回顾会、需求规模估点都流于形式,似乎不这样就不规范,实际敏捷更主要的是精神、意识,方法要和自身实际情况相结合,才能产生敏捷的效果。硬性套用西方的方法,就是削足适履。

关于敏捷管理,以后会在《产品经理成长系列》中专门写一篇。


这是禅道的界面。禅道的优点是可以私有部署,担心泄露数据的公司比较看重这一点。

TAPD 是腾讯的产品,在功能和形式基本和禅道类似,但是操作体验更胜一筹,这也是腾讯产品一贯的致胜绝招,TAPD 一些高级功能只有在用满半年后联系客服才能开启。它的帮助信息很友好,另外还运营了一个社区,这些都是腾讯特色。腾讯系牛的产品也都在用这个工具,如微信、王者荣耀、美团点评、富途证券等。

iCafe 是百度的产品,相对更为简洁,也有自己的特点。百度旗下的产品也在使用,如手机百度、百度云、百度糯米和百度理财等。

这三款工具,都够用,关键的还在于自己敏捷的标准的确立上。有时候,需求分类标准建不好,用着用着就会变得尴尬。


敏捷是为了持续交付,那集成了 DevOps 工具的重量级产品非「阿里云效」莫属。

DevOps 的理念是连接开发和运维两段工作,使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

阿里云效不仅包含了上述三个产品项目管理这一段,还包括了研发、测试、运维的阶段管理。

研发域的管理有分布式代码托管服务、SCM配置管理、应用全生命周期管理、多人协作开发流管理;测试域提供测试环境管理,单测、UI、接口、性能、集成等自动化测试服务,以及用例、缺陷管理和测试数据及Mock服务。运维域能进行一站式资源管理、发布部署等完整运维体系环境提供以及掌上运维和智能一站式监控服务。

为了日后公司壮大产品需要全流程的开发管理,建议直接上阿里云效,它是淘宝成长过程中内部孵化出来的,也会持续进化。

如果项目管理和 DevOps 分开,阿里云还有一套 CodePipeline 平台可供选择,它主要用于从代码到应用的持续集成和交付。

上面几款工具,哪款更适合你的团队或公司?

微信关注公众号「关耳爷」

创业、产品、技术、运营分享

三星 Note 3 刷 Android 9 Pie 返老还童

最近新办了两张 SIM 卡,一张是联通英国卡,另一张是 WeSim 腾讯全球王卡,手机就不够用了。翻以前的旧手机,找到了一台三星 Note 3,充电还能正常开机,开机查看系统是 Android 5.0,太老了,还预装了很多三星应用,比较臃肿,就想着看能不能刷个新系统。

很久没有刷安卓系统了,莫名地有点小兴奋。

马上就去搜 ROM,发现了LineageOS,它前身是深受刷机圈欢迎的定制 ROM CyanogenMod(简称 CM)。CM 非常流行,刷机的人几乎没有不知道,国内很多手机厂商也都是基于它作为二次订制新系统的基础。

LineageOS 团队上个月推出了最新的LineageOS 16 版本,它是基于 Android 9 Pie 做的适配,在支持的手机型号列表里,幸运地找到了三星 Galaxy NOTE 3 这款老手机。

经过一番周折,成功地刷到了最新的 Android 9 Pie 系统,体验非常地流畅,用了几天系统也很稳定,耗电也比较低,十分满意。下面是刷机方法:

刷机步骤:

  1. 电脑安装 Samsung USB 驱动;
  2. 在电脑上使用三星 ODIN 软件为手机刷入第三方 Recovery,这里使用的是著名的 TWRP;
  3. 手机恢复模式下卡刷 LineageOS 16 ROM;
  4. 可选安装 GApps,如果不会翻墙,建议不装。

下面重点说一下第2步和第3步。

第2步:

使用 ODIN 为手机刷入 TWRP 遇到了坑,按官方教程怎么都刷入不了。后来是取消了 Auto Reboot 选项,一直等到 ODIN 再手动重启才成功刷入了 TWRP。

(1)手机进入挖煤模式:手机关机后,同时按下 音量下键 + 电源键 + Home 键,出现提示界面后,再按音量上键,确认进入挖煤模式。

(2)电脑上打开 ODIN,与手机通过 USB 连接,ODIN 会 提示 Added 信息。

(3)点击 ODIN 上的 AP 按钮,选择下载好的 TWRP 文件:twrp-x.x.x-x-codename.img.tar。

(4)在 Options 标签页中,仅保留「F. Reset Time」选中,其它全部不要勾选。

(5)然后点「start」按钮,一直要等待绿色的「PASS!」信息出现后,断开 USB 线,卸下电池,再装上。

第3步:

卡刷 ROM 比较简单。在手机恢复模式下,先五清,再选择 SD 卡上的 LineageOS 16 ROM 文件进行安装,安装成功后首次启动需要耐心等待一段时间。

(1)将下载好的 lineage-16.0-20181009-UNOFFICIAL-hlte.zip 文件复制到 SD 卡上。将 SD 卡插入手机。

(2)手机进入恢复模式:关机状态下,同时按下 音量上键 + 电源键 + Home 键,出现恢复提示界面后,松开按键。

(3)五清:点击 Wipe 按钮,选中前五项,格式化手机存储。

(4)安装:五清完成后,返回 TWRP 主界面,点击 Install 按钮,选择 SD 卡,选择下载好的 ROM 文件,等待系统安装完成。

至此,最新的 LineageOS 16(基于 Android 9 Pie )系统就刷好了。

参考地址:https://www.cyanogenmods.org/forums/topic/download-lineage-os-16-for-galaxy-note-3/

只有一个身份够吗?

我的手机号是移动的,用了13年,最早是从学校办的动感地带,发短信比较多,后来工作后转了一段时间全球通,有了微信后短信、电话都少了,就改成了神州行的18元套餐,含100分钟电话、100M 流量,这点流量当然不够用,只能另外再买流量加油包。

除此之外,我还用着几个号码,一个是联通英国手机卡,另一个是 WeSim 腾讯全球王卡,还利用 Google Voice 开通了微信的 WeChat Out 功能,下面分别介绍给大家,方便有需求的朋友去办理。

CUniq 联通英国电话卡:支持大陆漫游

这张卡是中国联通(欧洲)运营有限公司在英国运营的 SIM 卡,活动期间可以免费领取(截止2019年12月31日),只需要支付2英镑运费,可以快递到大陆(从深圳发出)。

申请方法(2种):

基本说明:

  • 一卡双号,英国号码(必选,44开头) + 中国大陆/香港号码(二选一或都不要)。
  • 英国号可在大陆漫游,访问国际网站和应用无压力(这张卡最大的价值)
  • 加选大陆号码(免月租),需要填写实名信息,但不校验。
  • 加选香港号码月租为3英镑/月。

资费说明:

  • 预付费卡,月租为0,支持用微信、支付宝充值。
  • 有30分钟英国本地通话和300MB漫游流量,若激活香港或者大陆号码,赠送30分钟香港大陆通话,300MB中港数据流量。

  • 可以添加流量包:支持中国大陆、香港、亚太、英美欧洲等国家地区漫游。

使用说明:

  • 收到实体卡后,插到手机里自动激活,会收到激活提示短信,内含6位数密码,使用手机号(不含44国际区号) + 密码可登录官网。
  • 充值和查询,可以登录官网,也可以在微信公众号中绑定号码后操作。
  • 可以直接拨打电话,来电显示44开头的英国号码。
  • 在手机设置中开启数据漫游,就能访问 Google、Facebook、Twitter、YouTube 等,速度还可以。

腾讯王卡 WeSim 全球版

WeSim 腾讯全球王卡也是由联通运营。选择这张卡是因为移动手机号流量不够用,价格太高;另外这张卡支持境外按天购买流量,价格也还算实惠。

申请方法:

  • 关注微信公众号 WeSim 小助手,点菜单[立即购买]。
  • 选境内外通用卡,填写实名信息,选号,免费领取,EMS 送货上门。
  • 接下来会有 10010 客服来电告知接收短信,在短信的链接里上传身份证照片和本人免冠照。

基本说明:

  • 月租19月,打电话0.1元/分钟,短信0.1元/条。
  • 每月赠送1GB全国流量(需要自行领取)。
  • 腾讯系应用全国免流量,意味着微信、王者荣耀等随便用。超过流量,1元/800MB/日国内流量(当日有效,自动续订)。
  • 可通过公众号加购国际、港澳台地区流量日包。

优惠说明:

  • 首月赠送20元话费,可抵扣首月月费。
  • 首次充值50元及以上,可领取50元话费。

注意事项:

  • 签收卡片后10日内需激活,否则号码失效。

可以看出,如果把这张卡用作流量卡,基本相当于每月20块钱管饱用,这是也是腾讯王卡的优势。

恶心的是,激活后在王卡助手公众号领取1GB 流量接连几天都失败,咨询在线客服,只是说可能系统异常,建议稍后再试,车轱辘话来回说,完全不解决问题。

微信国际版 WeChat Out 功能

微信国际版有 WeChat Out 功能,能以超低费率拨打全球的座机或手机,只有用国外手机号注册的微信才能开启这个功能,但我用前面的联通英国号注册,并没有 WeChat Out 功能,就打算把现在用的微信绑定的手机号改为美国号码。

网上都推荐用 Google Voice 号码来绑定,Google Voice 刚推出的时候,我注册过一个号码,当时还比较好注册,很长时间没用,被 Google 收回了,重新注册 ,发现没有真实的美国号码基本不可能注册成功,折腾了很多方法都不行,最后放弃,从淘宝上花10多块钱买了一个,转移到我的 Google 账户上。

然后修改微信绑定手机号为 Google Voice 号码,WeChat Out 功能就显示出来了。

我们可以看到它的资费还是很便宜的。

用 WeChat Out 拨打电话,来电显示的是绑定的 Google Voice 号码。

最后付上我的邀请链接,各得6元。https://wechat.com/invite?type=smsinput&args=eK%2FDcAHoMCnJVPX%2F7urXaA%3D%3D&rt=8

产品经理成长系列(2):用户和需求

(01)

选了产品范围的10个主题,作为产品经理成长系列的提纲,刚写完第一篇互联网历史和产品经理历史,接下来写用户和需求。

发现不太好找切入点,是写宏观的理论,方法论,还是执行面?

回想这个系列的定位,我想让什么水平的人获得什么样的内容,以完成他的什么目标?我能提供给他哪些差异化的内容(难以从别的阅读渠道获得的)?

(02)

以上其实就是分析用户和需求的点火过程。我确定了这个系列是写给想转为产品经理的人看的——就是你,假设有与你相同的一类目标用户。你的愿望是从其它岗位成为一个真正的产品经理,让有决策权的人相信没有经验的你能干得了产品经理的事。你的基础在于了解完成一个产品需要哪些岗位(你可能属于其中的某个岗位)协作,也了解产品经理日常需要做些什么,觉得这些工作不是特别难,但如果你去接这些事,又会心生恐惧,觉得不能胜任。你可能看过一两本产品经理的书,经常浏览些相关文章,也关注了「伟君子说」,期待哪一天抓住机会,成为一个比现在岗位工资高的产品经理。

以上都是我的脑补,假设了用户的目标、痛点、心理、行为,我可以继续更具体地脑补,比如你的生理特点和社会特征:年龄、性别、大学、专业、压力来源、成本投入意愿、学习时间和方式。更进一步地思考你转型的动机和背景,是热爱创造产品,还是不喜欢目前的岗位,因为有危机感,或是要追求更高的收入。

(03)

当完成上面的假设后,马上该做的,就是找到你们,对你进行观察、和你们交流(访谈)、给你们发放问卷、组织你们吃饭😁(座谈)。确定你的阅读学习习惯(也许是爱坐在马桶上刷公众号),哪些内容对你们帮助是最大的(价值最大化),你们所喜好的文章形式,我要尽可能在阅读体验(排版格式、发送频率和时间等)、内容质量方面对你们友好。

实际调研完,需要修正之前的一些假设。然后我再确定内容定位,你轻易能接触到的书本知识,就不能再重复写了。千辛万苦我终于找到了几个对你有用的,别的地方又不太容易看到的选题,开始原创。

(04)

文章发布后,我仔细地观察你看了哪些(用户行为)、听你说了什么(用户反馈),去看后台的统计(数据分析),根据这些不断迭代内容的方向细节,终于带大家成功入了门,你们自豪地说:「我现在做产品没问题了!」(实现了用户价值),你们热情地喊我郑老师,给我打赏(实现了商业价值)。

看明白了吗?上面,就是一个完整地、系统地用户分析和需求挖掘满足的过程。举了内容类产品的例子来说明用户研究(简称用研),给用户圈层(划分目标用户、潜在用户、核心用户、种子用户),对用户进行画像,挖掘用户痛点和需求。

(05)

通过理解这个例子,再去系统地看书本中的方法论,就能事半功倍。

对于功能型的产品,也是同样的道理。你需要举一反三,遍历各种类型的产品和用户(比如电商和供应商用户),通过这样的强化训练,完成建立用户导向的系统思维。

闭上眼睛,仔细想你在学习、生活、工作场景中的不同角色,你的决策和行为——你自己就是各种产品的用户,用这种同理心,你就能理解你产品的用户。

(06)

如果是一个既定的产品目标,用上面的方法很容易套的。但如果你是一个创新者,该怎么发现和挖掘用户需求呢?

关注「如果能……该有多好」这个句式,发现商机和产品创新大多来源于这句话背后隐含的痛点,更高阶的是通过你的设计,会让用户觉得「原来还能这样!」

人性永远在追求更快(效率)、更多(规模)、更好(更方便、更先进、品质更高)、更便宜(性价比),结合马斯洛需求层次的理论,可以组成一个矩阵结构,从中发现痛点。

比如,基本需求「衣食住行」中的「行」,即交通或旅行,在不值得(不方便)打车,步行又不算近的地方,「如果能有一辆随骑随停的自行车,该有多好。」考虑和「我」有一样想法的人有多少,再去思考「随骑随停」的解决方案。

那企业用户的需求又该怎么发现,如果你本人不具备某个行业长期的从业经验,没有认识到这个行业、产业在利润、效率方面的强烈痛点,那最好能和一个懂业务的人一起合作,外行很难通过资料数据调研出结果来。

(07)

我们职场产品经理拿到一个产品或功能任务通常是怎么做的,首先去找竞品,看竞品是怎么做的,然后选自己认为最好的地方开始抄、拼凑。

我希望新入行的产品经理可以建立另外一种惯性行为。

拿到一个产品命题后,先思考它的使命、目标,它的用户,了解它的历史演变,再去看现存的竞品。

先用户需求分析,再竞品分析。可能你能做出有创新的东西。

(08)

举个实战例子。我曾接手过一个政务数据的产品,上面的要求是做共享交换和开放增值两个平台,我一开始就拿到了几个竞品的用户手册、详细方案等资料,有的还有演示地址。我浏览了一遍这些资料,公司的要求比较简单,实现同样的功能就能交差,这对一个12年的产品经理肯定不是难事。

事实上我是这样做的,第一步先对共享、交换、开放、增值四个词做了定义,确定它们的内涵。抛开「高大上」的宣传概念,先让这几个词回归它的本质。

  • 我们计算机和系统上常见的共享、交换、开放的做法是什么。
  • 这几个动词的对象是数据,数据存在的方式决定了动作的方式。
  • 政务数据有什么独特的属性,和一般数据有什么区别。

这几个问题弄明白后,脑子里产品设计思路呼之欲出。但还不着急。

第二步了解为什么要做这个产品,市场上为什么会有这个产品。不了解不要紧,一了解才知道这是政策产物,市场从2007年就启动了,你2018年才开始做,还有机会吗?机会在哪里?

不知道,那就第三步就去了解用户吧。最大的用户是国家,国务院年年出文责令地方委办局上报数据,对各个层级的执行单位都有规定。我们分析用户一直要从大组织、小组织到执行的个人,套用文章一开始的思路,组织有什么目标、任务,群体有什么心理和行为习惯,具体决策的领导和执行的个人分别是什么认知、诉求和心理行为,他们的实际需求是什么。恕不展开,这时候你有些经验的话,已经能得出很关键的「产品价值」结论了。

这一步里还能发现大量的「约束条件」,如政策层面,为了指导目标达成,政府出台了一些方法,产品要符合这些方法(才能被客户接受),而提出这些方法的研究机构,所采用的方法(对它而言是一项政治任务,而非商业解决方案),和当时的技术环境等,都会对它的研究结果产生影响。等你在设计产品细节的时候,以「信息资源目录」为例,会发现大量的问题。还有政务外网、政务专网这些网络环境的技术性约束条件,也要推翻第一步的部分结论。

第四步再做竞品分析,经过对能掌握到的资料「客观」地分析,竞品有两个比较大的特征,一是基本是一步到位,后期没有再进行过迭代;二是子系统、模块异常复杂。就拿交换来讲,发布和订阅两个动作即可解决交换,但竞品里各种技术术语,各种中间件和配置,这其实是和商业价值(产品报价)有关。

(09)

产品经理经常会切换思维模式,在用户体验方面,得把用户当小白,在规则设计方面,又要防范那些聪明的用户。

这句话是想说用户具有多样性,群体和个人都是。人性有多复杂,用户就有多复杂。

用同理心来培养对用户的洞察力。做产品经理最大的一个收获是对别人的心理很敏感,但这并不等同于会察言观色。

最后按照惯例,留两道思考题:

  1. 乔布斯说过:「人们不知道想要什么,直到你把它摆在他们面前。」张小龙也说过:「需求只来自你对用户的了解,不来自调研,不来自于分析,也不来自于讨论。」你怎么理解这两句话?
  2. 为什么产品经理经常会觉得设想的目标用户和实际用户不同,想让用户做什么,和用户实际做什么,也有差别?

扩展阅读:

  • 《中国社会各阶级的分析》(1926年3月)毛泽东
  • 《增广贤文》佚名
  • 《赢在用户》[美] Steve Mulder / [美] Zivv Yarr

机器人替代我们还需要多久?

开了一个微信公众号,原计划每周二、四、日更新(和双色球开奖周期一样),但第二周就打乱了计划。和同学一起去厦门调研了智能财务产业的发展情况,频繁跑各家公司,就没来得及更新《产品经理成长系列》,解决的办法恐怕只能是提前多写几篇出来。

这次出去调研,收获了两点感想和一个创业想法,给大家汇报一下。

一、机器人代替人类工作会比想象的来得更快

这次出去就是调研智能财务,之前说过我本人就是学财务的,但一直在做互联网,对财会业务自动化发展成了什么样几乎没有了解,这次一看,大吃一惊。

具有大规模财务业务的公司,都有财务共享中心,就拿费用报销这一部分业务来说,员工报销可以在移动端填报,这个不足为奇。现在报账机器人(报销柜员机)也被发明出来了,员工自助凭指纹、面部识别登录,送入原始凭证后,机器第一步会自动扫描成电子版,第二步利用 OCR 技术识别票面内容,第三步进行稽核凭证,非常快就能完成预设的80多项规则校验,包括真实性、有效性、是否符合内部财务管理规定等,期间会与国税、航旅系统联合校验,也会与历史记录比对票据连号情况等,非常细致,要是人工去干完这些事,需要很多时间,还没有程序准确率高。

还有日常的财务记账业务,系统获得电子凭证或银行回单后,会定时启动 RPA 工具(机器人流程自动化,对这方面感兴趣的同学可以了解下 UiPath)自动在财务系统中记账,一般是在财务上班之前,分录已经自动填报在系统中了。

简单一句话:许多机械重复的财务工作已经不需要人来做了,未来机器人可以做的更多。

亲眼见过,才能体会到上面这句简单话的震撼。在财会同学群里,大家讨论,感觉离失业不远了。

不止是财务这个领域,其它领域的自动化和人工智能发展也非常快。

未来,帮你处理纠纷的法官可能是机器人,「机器人法官」会通过深度学习分析法律文件和其他相关信息作出判决。

下一次找工作,你的面试官可能不是人了,tengai 是 furhat robotics 与瑞典最大的招聘公司之一 TNG 联手打造的招聘机器人,旨在消除面试官在招聘过程中的潜意识偏见。机器人在准确筛选简历方面也胜人一筹,只用 3.2 秒就从 5500 份简历中筛选出合适的候选人,而最快的人类猎头用了 25 小时。

微软开源Sketch2Code,是一个基于 Web 的解决方案,使用 AI 将手绘的用户界面草图转换为可用的 HTML 代码。虽然现在还不能完全替代前端工程师,但要知道,AI 的学习速度一日千里,AlphaGo Zero 在 3 天内,曾进行过 490 万次自我对弈练习,3 天走完人类千年棋史

阮一峰出版了一本《未来世界的幸存者》,讲得正是个人如何提早准备,以应对这种被替代的压力,大家从这本书里找答案吧,这里可以直接看电子版

二、未来一段时间国企会比民企更具竞争优势

大家会说,国企本身就比民企具有竞争优势,国家撑腰,行业垄断。但我说的竞争优势,是从另外的角度说的。

这次出去,吃住行都是和同学在一起。通过他我观察到了国企的一种精神面貌。

国企给员工提供了稳定的工作环境,使员工不为失业和生存焦虑。他们工作中思考和行动,更具有长远的目标和计划,不为短期利益急功近利。这种情况下,他们做事更为实事求是和符合规律,不像民企那样,对利润操之过急,缺乏对正常商业过程的耐心。

国企员工到了一个新的地方开疆辟土,他们愿意把新工作环境整理的赏心悦目,硬化室外场地,在室内专门开辟健身区域,装修茶歇室,改善伙食和办公条件,因为他们知道未来的几年、十几年、数十年,他们是这里的主人。反观民企的员工,他们并不能知道能不能顺利通过试用期,成为正式工了也说不定哪天就会离开,他们不会对一个小小的工位产生多大的热情,除了水杯和文件夹,带盆绿植就算奢侈的点缀了。

有些互联网民企去年底在年会上恬不知耻地强制推行996工作制(每天早9点到岗,一直工作到晚上9点,每周工作6天),强制员工每周工作最低60小时,置法律于不顾,置员工身体于不顾,无异于杀鸡取卵。互联网产品狗、程序猿们做不完工作都还是很自觉地加班完成的,但谁愿意被强制加班?作为对抗,网上出现了996.ICU项目,意思是「工作 996,生病 ICU 」。再近距离观察国企员工,温饱不用发愁,想做事的年轻人,脑子里想着怎么优化现有的业务,有哪些方面可以创新,能使自己的工作出彩,能让领导看在眼里,也能让自己更有成就感,特别专注和热情,半夜12点了,还在一起脑暴讨论。

国企的斗争很激烈,但限于关键的岗位,这种斗争是长期的,有策略的,一定程度上是非技术性的,也会很早观察和培养接班人,提拔晋升有步骤方法和节奏。岁数到了没有上去的员工也会认清形势安于现状。大家会长久地打交道,可能后半辈子都要打交道,说话办事就比较讲究,一般岗位员工氛围非常好。而相比较,民企的员工协作关系非常糟,大家都是铁打的营地,流水的兵,每家公司都是暂留之地,日后可能再不相见。造成的结果就是上下左右全要博弈,竞争关系大于合作关系,竞争手段粗暴,各个层级都存在山头主义,员工饱受压力。

有人统计2002年的中国500大企业,三分之二以上已经消失或没落了。这里边民企占绝大多数。原因就在于员工对于长久稳定和短期动荡的理解,随着去年底大大小小的公司不同程度地裁人,员工将会更加现实,对打工更为理智,对公司更少投入感情,民企的生存发展更为艰难。

三、大屏展示的需求很广泛

最后说个创业项目。很多公司都很想拥有这种大屏,买了大屏,但没有技术能力设计界面,他们并不想要真正地和后端数据结合起来,对业务起到指导和决策作用。只是想要这种科技感,来装点门面,用虚拟数据去填充,只要需要解释的时候能圆的过去。

还没有调研市场上有多少人在做这个业务,但现在初步了解到这里面还存在信息差,我们从业者知道这种假页面其实还算好做,但有需求的公司自己没有头绪。所以专门去接设计大屏的活儿,或者做一个大屏模板的生产工厂,应该是可行的。有行动力的同学可以借助阿里 DataV,或者联合 UI、前端小伙伴尝试这个创业项目。

产品经理成长系列(1):互联网历史和产品经理历史

前言提到同事问我怎么转型成为产品经理,让我有了写这个系列的想法。当时我给他们的回复是,把这20多年互联网各个时期出现的经典产品都梳理一遍,包括成功和失败的,整理它们生存发展过程中的关键事件,把成败的原因尽可能找出来;再给这些产品分门别类,把每个分类的盈利模式搞清楚。这样就能在宏观层面建立起产品的思维架构和脉络,形成全局的视野和敏锐的产品感觉。然后才是需求、业务和具体的产品设计、实现细节。至于产品经理常用的脑图、原型工具更容易掌握,也有速成的方法,用两周的时间就可以熟练掌握。

但几乎没有人这么做。有的人说不知道怎么下手,有的人觉得不是现在马上能用得上的东西。现在我可以帮大家把这项工作开个头。

(01)

首先明确下这么做的意义和价值。古人云:「知史以明鉴,查古以至今」。在大学的任何一门专业里,都有该专业的史学课程,比如我在北科大上的财务会计专业,有《会计史》这门课程;在北大学的新闻学,有《中国新闻传播史》、《外国新闻传播史》两门课程。了解历史非常有必要,这样的课程设置也是科学的。

历史有其延续性,能让你了解在特定的历史背景下,所诞生事物的合理性,明白它适应环境的能力所在,也能让你知道它使命结束后的形态转换,新的事物又怎么延续和进化,从而你就能预见一些变化,深刻理解新事物的本质和发展规律,提早做出判断。

了解互联网历史,一是要分门别类,二是要断代。两者间又有相关性,我们能发现,每个时期都会有一类代表性的产品在主导着。在梳理这些产品的时候,需要同时关注生产者(服务提供方)和消费者(服务使用方)。

互联网拓荒时期(1997——2002)

中国互联网刚刚起步,上网的场所主要在网吧,后期公司、学校和家庭也逐步开始触网,处于窄带时代。56 K 的调制解调器拨号上网吱拉吱拉的声音我至今记忆犹新。回忆一下当时人们上网做什么?

看新闻、看资讯。导航、门户最先诞生,搜索引擎紧随其后,集大成者是雅虎,这里先下个心锚,思考一下雅虎消亡的主要原因,以事后诸葛亮的观察者角度很容易分析。国内逐渐几大媒体门户鼎立,确定了以内容和广告盈利的模式,打破了以往「瀛海威」明知道互联网有金子,但不知道从哪儿挖出来的困境。

那时候我们会拿着小本子上网,里面记着喜欢的网址,家里拨号上网按时长收取高额网费,很多时候都是点开几个网页后再断网「脱机浏览」以节省网费,但并不能点很多个页面,因为电脑会很卡,或者直接蓝屏死机。

请注意,如果你是产品经理,这个时期你能看到哪些机会,会做哪些产品,做的时候会关注哪些约束条件。

(02)

收发邮件、聊 OICQ(后版权原因改名为 QQ)。免费的邮箱,奠定了中华网、21世纪网这些网站的基础,也为网易很长一段时间的辉煌埋了伏笔。QQ 这个产品最适合做纵向分析,资料也容易收集,看一下它各个版本的主要功能特性,和各个阶段的运营策略,每个 关键的功能点为什么那样设计,比如它曾推出过网吧版,限制过每台电脑上登录的客户端数量,也执行过收费(1元)申请 QQ 号。限于篇幅,这里不细致地讲述这些小举措的前因后果,产生的价值和影响,亲自去做这些功课对于构建产品思维非常有用。

垂直细分的行业门户也开始起步, IT 网站领先出现,诞生了电脑之家、小熊在线等网站,早期都是以个人网站在运营。这些网站在下一个时期如日中天,但若干年后,也经历了收购、整合、淘汰的严酷过程。

(03)

再看安全领域,这个时期病毒之多令人咂舌,但病毒的「产品经理」往往只是秀技术,开些无伤大雅的玩笑。杀毒产品已经开始从硬件卡转向研发杀毒软件,江民公司为了防盗版,在杀毒软件中埋了硬盘逻辑锁,以惩罚那些使用盗版江民的用户。

这也是很有意思的一件事,产品经理和用户一直会在各个层面博弈,小到文案和交互,大到获取用户隐私,以「引导」之名行一些另外之事,这也是产品经理常要面对的难题之一:「公司价值」和「用户价值」的选择。「平凡」的产品经理,大多数情况下会执行老板的决策,优先满足公司价值。

随着 QQ 用户增长,腾讯曾有段时期限制了 QQ 号的发放,盗 QQ 号的木马就繁荣了,同时远程控制类的木马也很猖狂,如冰河、灰鸽子等,这些木马的作者技术相当厉害,但商业意识并不十分浓厚,比3721的产品经理周鸿祎要差一大截。

商业意识对产品经理而言是第一位的,决定了最后能成长为一个执行型的产品经理,还是产品总裁。

针对 QQ ,民间第三方还出了一系列补丁程序,功能有去广告、显示 IP 地理位置、探测是否隐身等。这几个小「创新」都很有意思,广受用户喜欢,很多人安装完 QQ 紧接着就会安装补丁,有的网吧还以 QQ 能显示对方地理位置作为揽客的招数。

有志于成为产品经理的你,可以想一想这个时期陌生人社交的用户心理和行为。

用户经常会莫名其妙地闯入一些黄色网站入口,但点来点去看不到干货,贡献了不少国外广告联盟的流量。这也是「产品经理」所为。

(04)

工具类的产品,以输入法较为有趣,建议大家了解下王码五笔这种极具创造力的产品的诞生和推广过程,从86版到93版(应该是93版,记忆有点模糊)的改版失败案例至为经典,从这个案例中能深刻体会到「用户习惯」的威力。

输入法还有万能五笔,开创了选词和联想方面很多的「微创新」,首创五笔、拼音混合输入,在减少用户击键方面下了很多功夫。五笔输入法早就没人学习了,拼音输入法也被搜狗输入法一统天下,在这种漫长的产品演化过程中,每家公司产品经理的眼界和思路的博弈,是最值得思考的。

软盘还是这个时代的存储介质。以下也会提到各个时期主要的存储介质,以此说明,互联网完全是技术驱动型的产业,新的机会蕴含在新技术里,好的产品经理会密切关注技术发展,积极了解和尝试新技术,甚至本身熟练掌握着几种技术,实现了早期的产品。如马化腾、雷军、李彦宏、张小龙、周鸿祎,都能写代码,有的还是专家级别的,连马云也能写 HTML 代码。

好产品经理都是试用各种软硬件的小白鼠,以折腾为乐,如果没有这份爱好和兴趣,可能很难成为一个优秀的产品经理。

我对游戏关注的不多,有志于设计游戏的产品经理也可以用同样的思路,梳理一下当时的单机游戏。游戏这类产品从诞生起就有了明显的分类特征。

以上,在互联网拓荒时期,我们已经对出现的产品大致分了类:内容类、通讯类(后与社交类合并)、工具类、安全类(后文会收进工具类)、游戏类。这个时期除了内容类的广告盈利和安全类的销售盈利模式较为清晰外,其它的仍在探索。

PC 宽带时期(2002——2007 )

2002年我上大一,同年也被称为电商元年。其实国内早在上个时期就有人开始探索电商模式,千禧年就在网上卖手机,这就是知名的先驱易趣网,因为2002年 eBay 扩张到国内收购易趣,才吸引了人们的广泛注意,媒体把这一年称为电商元年。

这一年马云也购买了国外的电商源码,把技术团队关小黑屋里紧锣密鼓地做二次开发。次年淘宝网上线。大家都知道淘宝网的成功离不开支付宝的担保交易模式,用技术和规则解决了陌生人交易的信任问题。

支付宝本身也是模仿了国外的 PayPal(特斯拉老板是它的创始人),但担保交易却是独创的,把现实里的担保模式,完美地套进了产品场景里,并且天然地把自身平台化,这个策略使阿里的产品更加强化了平台基因,完成了后续一系列的平台进化。

这里要提一下模仿(或者直接说抄袭),抛开道德来讲,本质就是生物和社群进化的机制。我们所能见到的成功的产品,无论是硬件还是软件,都有学习前辈的痕迹,国内所能见到的任何一款火爆的应用,在国外都能找到鼻祖。不光是设计,连商业模式、运营都在学习。淘宝网早期引导一个用户注册会给广告联盟10元钱,和 PayPal 引导新用户注册奖励10美元如出一辙。后来的团购网有个「行规」,默认会给每个用户开通专用邀请链接,用户邀请好友首次下单,就能获得10元奖励。我们后来所能看到各种疯狂烧钱补贴,PayPal 早在90年代就已经做出了表率。

最重要的是,抄着抄着就能变成自己。产品经理对于抄不用有心理负担,关键是想明白为什么而抄,哪儿要抄,哪儿要改。在这方面,腾讯赢得了抄袭王的称号,但有点不公平,这个称号更应该归百度所有。

易趣的两位上海创始人,都有美国哈佛商学院的背景,和 eBay 合作后,更在洋路线上越走越远。而淘宝的员工自己上架商品,自己买下来,遇到真有用户下单,自己又去做客服,对卖家和买家的需求、心理有了一手的资料,也对自身系统不断地提出要求。

(05)

易趣最后委身于 TOM,作为四大门户之一的 TOM,在这个时期,较早地吃到了 SP (电信增值业务,短信、彩信、彩铃、图片等订阅服务)的红利。上个时期结束之前,互联网遭遇了一次泡沫破灭,门户们艰难地残喘到现在,终于等来了手机可以 GPRS 上网,纷纷发力 SP 订阅业务,伙同电信运营商们赚得盆满钵满。

做互联网,不能不了解这段历史,很多人的第一桶金都来自于 SP,这段历史也为后来互联网教父们总结产品方法论提供了很多依据:做 C 端产品尤其要深刻掌握人性。

(06)

随着宽带走进家庭,网络上「有趣」的东西越来越多,下载成为了上网的主流动作。对象主要是 Flash 动画、MP3 音乐、rm 电影。工具类的产品中,下载软件开始突出,比如网络蚂蚁、网际快车等,软件下载站的相对流量也比其它网站要高,像华军软件园、天空下载站等。而这些下载站,后期又被各种电脑管家捆绑的软件管理功能所替代,革了他们命的,并不是他们当时紧盯的那些同行网站。

软件生态圈里诞生了「共享软件作者」,靠做工具软件卖版权或使用权的程序员们,集产品设计与开发为一身,里面有很多牛人,并且很多很有性格,比如网络蚂蚁的作者,据说是因为狂打游戏,荒废了这个排名第一的下载软件的更新,否则后来可能就没迅雷什么事了。把断点续传和多线程下载可视化,是这个产品在国内首创的亮点。

百度收购的天空下载站和Hao 123,都是这个时期辉煌的产品。Hao 123尤其是产品经理抓用户需求的典型案例,Hao 123每个月平均获利80万元(注意这是在2003、2004年,每月盈利大约可以在北京五环外买两套房),利润大部分来自于百度,Hao 123网站顶部嵌入的百度搜索框,用户从这里每一次的搜索,百度都要付给 Hao 123费用。Hao 123一度成为了中国互联网的「入口」,全国很多网吧和个人都把浏览器首页设为 Hao 123,它的流量直逼 TOM。这个产品完美注释了互联网产品流量为王、入口为王的思维。

这个阶段 IT 门户逐渐走向顶峰。人们攒机、买硬件、买笔记本的需求非常广泛,相关网站也有近二十家,如李想的 IT 泡泡网、太平洋在线、中关村在线、天极网、IT 168等,我毕业前先在电脑之家实习了4个月,后2006年在 eNet 硅谷动力工作一年多。国外的媒体集团看中了一些头部流量,进行了多项收购,门户的科技频道也是重点运营的流量抓手。

(07)

这个时期还有一个重要的概念,就是 WEB 2.0。这个概念刚兴起的时候,各种解读,就如同今天对区块链的解读一样。实际上 WEB 2.0最核心的一点就是 UGC(用户创造内容),区别于以往门户编辑拥有发布权,WEB 2.0 则由用户生产和消费内容,并且用户间具有互动行为。传统的论坛 BBS 和更早的留言本就是雏形。

WEB 2.0 提出之后,反过来促进了维基百科(国内有百度百科、互动百科)、博客、点评等产品形态的发展。这些产品极大地解放了内容生产力,使互联网的信息量爆炸式地增长,今天这种功能已司空见惯,但在当时,绝对是里程碑,否则也不会称为2.0。这种产品的出现,从大的方面来说,和西方自由、民主、平等的文化有密切地关系,所以很多产品经理的书中,也会提到产品经理应该对多元文化、人性、审美等有所关注。

(08)

社区论坛早先是兴趣内容的分享阵地,站长靠兴趣和热情运营。壮大了的有西祠胡同、猫扑、天涯。后来出现了商业目标明确的地方社区门户,做得好的有厦门小鱼网,杭州19楼等,有些靠这个热点来融资。内容聚合门户短暂地火过一段时间,连奇虎360公司最早也是想走这条路,后来被证明是伪需求。

国内外的开源程序在这个时期繁荣起来,首先是 CMS(内容管理系统)这一类,之前提到的那些 IT 网站和门户,自己研发了后台发布系统,一些中小型的网站和个人站点都是用 CMS 搭建的。早期收费的有动易,免费的有风讯等。论坛的程序有动网论坛、Discuz!、PHPWind等(Discuz!后被腾讯收购、PHPWind被阿里收购,动网没有熬到被收购的那一天),博客、点评和电商也有相关优秀的开源程序出现,技术大多以 ASP、.net、和 PHP 为主。

国内外主流的开源程序大部分我都亲自架设过,有的拿来运营网站,有的是观摩和学习前后台功能的设计。我觉得就开源程序来说,一方面它足够优秀和灵活,经过了很多网站的验证;另一方面它要满足站长通过很多的设置完成自由化的定制,就导致了功能相对地复杂,这影响我在一段时间里产品的过度设计,给开发带来了成本,是个不小的教训。职场的产品经理有时候会以复杂设计显示能力,而有智慧有勇气做减法的,并且能说服得了老板的,才是更高阶的。

(09)

光盘成为了这个阶段重要的存储介质。容易忽视的是封装盗版操作系统的那群人。可以说中国的计算机有多少,盗版 Windows 系统就有多大的装机量,你应该对番茄花园、雨林木风这些系统有印象。这个产业的盈利相当可观,并不是说卖光盘的钱,而是指系统预设的浏览器主页、预装的软件,用户的每一次搜索、每一次购物,都会给封装者贡献一笔利润。

从技术上说,这几乎是成本最小的生意,从法律上说,风险极高,从模式上说,只有真正认清了生意的本质、极其熟悉互联网盈利模式的产品经理才会懂得这种玩法。安卓 ROM 系统定制也是同样的套路。

这一部分,除了重点提到的电商,又提到了满足视听娱乐和使用电脑需求的产品分类,现在这一类文学、漫画、音乐、视频、软件的网站客户端已经成熟了。也提到了内容类的单向传播到双向传播的形态变化,以及处于服务者地位的开源类产品。

其实从这里开始,To B、To C、To G 面向不同用户群体的设计和运营思路、方法也越来越清晰了。

移动互联网崛起(2008——2012 )

2008年我一边在北大续成人本科,学新闻学专业,一边在瑞星杀毒公司工作。这一年,被称为移动互联网元年。我是最早一批 iPhone 手机用户之一,当时 iPhone 在整个北京并不多见。想要正常用 iPhone,先得解锁激活再越狱,很考验动手能力。通讯录也不好用,彩信也不能收发,后来国外好不容易出了一个彩信 App,为此我还付了费——大概是我为软件这种虚拟商品第一次付费,但后来一次大的升级老用户就被抛弃了,新版本还要再付一次费。

尽管应用市场还没有各式各样丰富的应用,手机使用还有种种不便,但毫无疑问,iPhone 是个好产品,乔布斯是个伟大的产品经理。关于 iPhone 和乔布斯,有很多的资料,建议每个想做产品经理的人,都看看《乔布斯传》。

(10)

对于移动互联网,距离现在较近,大家都比较熟悉,有的年龄小的还是移动互联网的「原住民」。就不再像前文那样详细展开来说,我只挑其中两点。

LBS(基于地理位置服务),当智能手机具有定位功能之后,这个概念随后就被提出。很多公司都想不清究竟有什么场景能用到这项功能,好像只有导航是最成熟的应用。国外公司率先摸索出了「签到」的模式,但玩法有限,也没有太好的办法把整个盈利闭环走通。后来又经过了很久(用互联网的发展节奏来衡量),人们才想出更多的场景,那就是现在熟悉的摇一摇附近的人、寻找附近商家和优惠、外卖、打车等。

二维码,发祥于日本,壮大在中国。刚开始,除了能理解可以像条形码可以用到商品标记上(这也正是二维码发明的本意,改良条形码),人们普遍不了解它还能用来做什么,但很多文章都已经提示这是一项重要的发明,但重要在哪里,又语焉不详。也出版了许多专门写二维码的书,但内容良莠不齐,我记得看过一本,把二维码生硬写成了一个平台,编了很多瞎话。我当时还是比较透彻地理解了二维码的本质,它能承载有限容量的信息,绝对是入口,而非平台。但我对于它能干什么,还是没有方向。到现在,大家都知道二维码的用途了。

二维码怎么用,取决于它编码了什么信息,这个信息可以直接展示出来,也可以通过协议调起本地的一个应用来,或者由该应用继续向后端(云端)请求某种服务。

(11)

山寨机曾在这个时期短暂地行使过它的使命,靠着大屏、智能系统、响亮的喇叭赢得了享受不到高端智能机用户的喜欢。小米们做了一件事——把山寨机品牌化,革了山寨机的命,迅速占领了市场,占据了资本估值的高点。

能想到做山寨机生意,并把山寨机成功地做出来的,是懂得了高端产品一定会平民化的市场规律,并具有实现能力的那群「产品经理」。

而能以山寨机的成本控制住品质和质量,迭代优化供应链,又能系统全方位地营销,加进去各种情怀,则是产品经理中的高手。

懂得了这段历史,我们就会下意识地观察现在还有什么是相对高端的产品,不那么平易近人,思考怎么才能把它从高位拉下来,让更多的人去使用。

(12)

这个时期,再补充一点社交游戏的内容。九城早在2000年后就陆续有钓鱼、做面这些 Flash 页游,虽然社交元素很弱,好像只有好友分数排行,吸引了部分用户,没有形成较大的规模。直到将近10年后开心网在白领圈流行起来,才点燃了社交游戏的一把火。这也是时机的重要性,产品经理要审时度势,冲得太早,刚刚好给后来者提供教学案例,冲得太晚,热饭都赶不上。做产品经理还是很难的。

我做 PC Web 产品居多,移动端经验不多,但可以给想做移动端的产品经理一个可能比较重要的建议:买一台 Google 的原生手机,体验一下纯粹的安卓系统,看看和国内厂商定制的安卓系统有哪些区别。现在最新款是Google Pixel 3,我过去用过一款 Nexus 5x。

近9亿网民(2012——2019)

2012年虽然世界末日没有来临,但属于个人站长的时代肯定是结束了,以往凭一己之力,或两三个人的小型团队选择方向,白手起家拼杀一个创业项目的机会几乎没有了。最根本的原因是互联网技术的分化,以往一个人可能把产品做出来。现在多终端类型,前后端技术分离,必须是多种技术人才通力协作,才能完成一个可用的产品,运营也需要规模化地运作,很难靠几个人就撑起巨大的运营工作量,这些都要有资本实力才行。有时候你不是没有眼光,也许你也看到了做手机的机会,但你没有雷军的资源。

互联网 BAT 三巨头的市场格局已形成,互联网基础设施和常规服务、应用也都有寡头垄断,产品经理只能从新领域里创造和发现机会。移动互联网船票、粉丝经济、知识付费、共享浪潮、大数据都是这个时期的热词,相关杰出代表也理所当然地成为了第二梯队:TMD(头条、美团、滴滴)。

(13)

智能手机最大的威力,是把网民下沉到了最底层的行政区域。很难想象2000年左右,尽管克制着上网,一个月到头也要交五六百电话费的「高端」产品,现在人人都可以随时随地低价享受。

「旧时王谢堂前燕,飞入寻常百姓家」。

以前的互联网用户画像相对较为简单,现在除了性别还和以前一样,年龄层次、教育程度、职业、收入都有了非常大的不同。寻找不同定位提供多层次、个性化的商品和服务,是方向更是难点。农村电商搞了那么多年,真正做强做大的却是拼多多。

内容类的产品,鸡汤养生加谣言的低质内容又一次回归。所以推荐算法备受推崇,但对比 YouTube 和抖音的推荐,Google 客户端推荐的文章和今日头条的推荐,前者能让你关联地发现未知的精彩,后者机械地让你固定只看一类,这就是算法差别。

(14)

关于知识付费和会员、订阅付费,将会大行其道。原因是80、90、00后的用户结构和观念发生了比较大的变化。这种情况下不见得一定要做一个具有功能的应用或服务,把个人的技能和经验输出,做成内容产品,也能算是产品经理的行为,只要是对别人有价值,不管是「有用」还是「有趣」,持之以恒,接下来的环境,肯定越来越有利于变现。很多平台也在鼓励这一点,如极客时间、知识星球等。

(15)

从资本层面看,据企鹅数钱不完全的统计,现在国内每周平均有60亿~80亿的投资金额,投融资事件60~80起,资本热衷的领域前三为企业服务、医疗健康和智能硬件。

对于想做产品经理的人来说,尤其要关注企业服务这类产品,这也是没有背景没有人脉的产品经理还可能通过准确把握需求,迭代优化产品和精细运营从而获得投资的创业方向。

为什么我最看好这个领域?企业 SaaS 产品降低了企业的建设和运维成本,每年只需付几千或上万块钱的平台使用费,就能把相关业务的效率提升,用上一套系统,就能少雇几个人。对于数据安全,越来越多的管理人员的敏感性也在降低,系统的销售工作也比以前好做。

从企业管理、研发、生产、市场、销售各个日常经营活动中找出还未满足的需求,或可改进优化的业务,研发一个企业业务中后台产品,降低企业成本,提升企业运营效率,无论是会员订阅收费,还是寻找投资,都还有机会。

例如2号人事部、订货宝、法大大这些产品,都是资本追捧的对象。

(16)

大数据,尽管落地了不少应用,但想进入这个领域的产品经理需要认清,真正的大数据公司,还是那些自有业务能产生海量数据的企业,基本就是 BAT、TMD 这些。想要利用海量实时的数据,倒逼着他们升级系统架构、算法和框架,直到成熟了再对外商用。没有数据,而称自己为大数据公司,都是伪大数据公司。

大数据产品经理,需要很强的技术背景,或者是对技术感兴趣的。适合从技术岗转型过来。对于大数据领域,以后会专门再写一篇文章。

最后的总结

内容类(媒体)产品,从门户到博客、微博、Vlog,形式从长文、到140字短文到图片、视频、短视频。碎片化更加严重,形式更加丰富,可以预见短视频威力还没有完全释放,在演示的场景应用会越来越广泛,如教学、导购等,同等时长会比文字信息量更大。

工具类产品,应该继续划分细类,如搜索引擎、输入法、地图、浏览器、图片视频编辑等,找出头部应用,看它们是如何一步步打败对手的。这里面有很多场精彩战役。既然选择在互联网行业拼杀,就要熟知历史上每一次战役,这样胜率才能变高。

通讯社交类产品,主要考察它们的平台生态战略,注册开发者中心的账号,看看它们怎么构建起整个生态圈,做到生态共赢的目标。

电商类产品,关注产业链环节各类角色诉求,看看有些公司是怎么巧妙地满足这些诉求的,尤其是为电商盈利提供服务的公司。比如「什么值得买」。

游戏类产品略。

当你能对所有类型的主流产品历史如数家珍的时候,你也应该会对现在及未来的产品持续地关注和思考。你也能找到你所感兴趣的领域,在这个领域继续深入了解产业、行业、产品方面的知识。

(17)

文章主要讨论了互联网历史,产品经理的历史是一条暗线,现在回过头再读一遍,你会发现对产品经理的定义是广义的,个人站长、软件作者、病毒作者、公司老板都被当做了产品经理看待。确实如此,你看张小龙,一个人单枪匹马开发出了 FoxMail,不断优化用户体验,做到了邮箱客户端用户量第一。产品经理的历史,就是建站、SEO、编辑、运营、开发综合技能的演化,从前到现在,以至未来,都是那些关注商业模式成立、用户体验优化、运营增长,为产品注入不断进化能力的一类人。

这篇1万字的长文没有就某个具体产品展开分析。我正是希望你花一个月的时间去做这件事,每周确定一个分类,找出典型产品,分析其商业和盈利模式,结合当时的背景,判断外部、内部环境,了解它每个关键点的决策和设计运营行为,为它最终胜出或被淘汰找出最接近本质的原因,从官方、用户和利益相关方(资本方、生态受益者、竞争对手、被颠覆的损失方等)多个角色代入去看待同一事件,理解他们之间相斥的观念。

以史为镜,可以知兴衰。产品经理的高度能做到多高,基本取决于对今天这个主题的认知。

最后留几道练习题:

  1. 向一个普通人讲清楚 Google 搜索引擎 + AdSense + AdWord 组合而成的盈利模式。这个模式能深刻理解了,互联网很多的模式就懂了;

  2. Apple 的封闭生态模式和 Google 的开放生态模式最终只会剩一家吗?如果是,谁生存下来的可能性大?

  3. 总结出雅虎、诺基亚、校内网「死亡」的原因;

  4. 浏览器为什么还是有这么多款,不像别的工具产品趋近于大统一,只有一到两个产品占据大部分市场?

  5. 云计算的鼻祖是谁,为什么是它?

推荐阅读:

  • 《浪潮之巅》(第2版)吴军

  • 《腾讯传 : 中国互联网公司进化论》吴晓波

产品经理成长系列(0):前言

前言

我大概从2007年开始做互联网产品经理,已经做了10多年以上,至今仍是一名「平凡」的产品经理。既没有自己拿得出手的产品,也没有用户数量庞大的产品,也没有客户付费意愿强烈的产品。

有资格说一些产品经理领域的话吗?大概还是有的。经历了太多的从0到1,阵亡了很多从1到 n,过程中遇到了无数的坑,爬了无数的坡,就失败的教训来讲,还是有很多的。

但我想写的产品经理系列,不是想总结这些教训,主要还是想普及一些产品经理的知识,让有志于走产品经理这条路的同学,少走一些弯路,尽快驰骋于康庄大道。

在上家公司,除了其他产品经理和我讨论一些产品思路和逻辑,也常有别的岗位的同事问我一些有关产品经理的问题。小的像 Axure 某个交互方式怎么实现——说明这位同事在自学 Axure 原型设计工具。大的问题会问怎么从现在的岗位转成产品经理,在项目经理、测试工程师、UI 设计师,甚至是一些前后端开发工程师眼里,产品经理挣得多,技术含量低,是一份人人都可以做的工作。我在和他们讲述怎么成为产品经理的过程中,不成系统地说了很多,今天就是想把这些内容整理出来,奉献给有缘读了这个系列的朋友。

正好职场生涯又一次中断,也给了我充分的写作时间。年前公司没有完成全年的销售计划,投资没有到位,资金链绷紧,让员工降薪和离职二选一。全公司1千多人,大概有2/3选择了离职,我也是其中之一。离职当然有法定补偿。我36岁的年龄,属于大龄的产品经理,陷入了迷茫,思前想后,还是决定利用休息的时间先做一些输出,也权当这么多年产品方法论的总结。

初步整理了下产品经理成长的提纲,暂定以下几个主题,不排除写的过程还会再更改。

  1. 互联网历史/产品经理历史
  2. 用户/需求
  3. 业务/市场
  4. 商业/盈利
  5. 产品/价值
  6. 场景/行为
  7. 功能/交互
  8. 界面/内容
  9. 迭代/交付
  10. 运营/增长

关于我

我自高中时代(如果没记错的话应该是1997年)见过一台386电脑后,就疯狂地喜欢上了计算机。能上网后,就开始做个人主页。大学时候做过「北京大学生在线」的网站,下面还有一个「首都大学生联盟」的论坛,人气还算可以,也有主办方找过来投 Flash 动画大赛的活动。

这里就初步涉及到网站的技术实现和网站运营两大块内容,我也是从那时候起就持续关注开源程序,开源程序本身和其设计思路,为我在做产品经理的过程中提供了极其大的帮助,我对各种类型产品的开源程序可以说是了如指掌,并且很短时间内就能部署好一套开源程序,观察前后台的设计思路,现在用 Docker 容器化的方式就更为容易了。

2005年从北京科技大学毕业后,我入职了 eNet 硅谷动力这家 IT 垂直门户做网站编辑,当时做小编除了发厂商的软文,主要是转载和原创,还要周期性地制作专题。确定选题后要进行版面规划,用 Office Word 画好线框图,交给美工去设计,美工除了完成设计,还要在效果图确认之后,切成静态 HTML 页面,我们小编自己完成内容填充。如果赶上年度的频道改版,工作就更为复杂一些。那时候我们用的工具就是 Adobe Photoshop、Dreamweaver 等,能自己设计一些头图,手写一些 HTML 代码。

后来我于2007年去了瑞星杀毒公司,负责官网以及客户端内嵌的页面的运营维护。当时正是瑞星的鼎盛时期,年盈利9个亿,就是靠卖光盘。但不久就遭到了360公司的阻击,历时大概9个月,瑞星全面败溃。期间公司为了应对竞争,新成立了互联网部,提出「互联网化」战略,与360对标浏览器、网址导航、安全问答(类似百度知道)、文件诊所、恶意网址监测等产品,这些产品我几乎全程参与,也就是从那时候起,正式成为产品经理。

在瑞星公司的后期,私下以产品和运营的角色参与了前某领导组织的一个「O2O」项目的创业,当时 O2O 这个概念刚刚兴起,我们网站的定位就是「买商品去淘宝,买服务来 xx 网」,五个创业伙伴每周都会在上岛咖啡工作一天,定战略、定产品思路、设计和开发产品,后来不出意外地失败了。

因为有这段「O2O」的经验,我在2010年第一时间瞄准了团购市场,做了「顶团网」,赶在美团上线后的第二个月上了线(美团2010年3月份上线,顶团网次月4月上线)。网站上线运营后迅速有了现金流和利润,短短几个月就比我前5年上班攒的钱多。由于团购门槛低,市场很快就成红海,最多的时候大概有6千多个团购网站,我本人手里就有4个团购网站,有的网站(好像是拉手网?)还在央视黄金时段投放广告,加上淘宝聚划算,腾讯高朋、后期被百度收购了的糯米加入,决战一打响,遍地哀鸿,我网站的流量和订单急剧下降,尚不能维持成本,也就被迫退出了市场。这个项目也算给我赢的了第一桶金,否则我也没有能力在北京买房。

再后来,我在一个创业公司呆了近4年,负责产品。随后又去了一家大数据公司,看着业务没有增长的情况下疯狂地扩张规模,遭遇了上文提到的被裁事件。

我会尽量把这些年做产品,尤其是做产品涉及到职场岗位协作方面的一些思考和总结,以案例的方式穿插进文章中。

以上,算作前言,下一章开始进行互联网历史和产品经理历史。

郑国维

2019.3.20 北京

微软云反向解析阿里云实现高可用

背景

我是一个产品经理,自己手里也有几个网站,包括你现在看到无不为,另外还有经方派等。之前因为觉得不重要,就放在了国外的 VPS 上,很长一段时间用的都是 Linode VPS,选择了延迟最小的日本的机房,但依然很慢,最大的问题是线路抖动,经常会打不开网站。后来观察到经方派每天都会有人通过搜索引擎访问,尤其是国内用户占大多数,就想避免再这样频繁宕机,对搜索引擎不友好,用户体验也不好。

把网站搬回国内,面临的第一个问题就是备·鞍,新的政策要求备·鞍负责人和域名注册人信息一致(要求实名认证),这就需要把域名转移回国内,准备接受。但又发现不允许 org、me 的顶级域名备·鞍。这条路就不通了。

购买了阿里云的香港主机,能访问的时候速度很快,但比 Linode VPS 更不稳定,每天都会不定时抽风。

需要解决的问题

问题很简单,就是在不备·鞍的前提下,实现高可用,这里的高可用,指的就是访问稳定、速度快。

整体思路

之前给朋友建得站都部署在了阿里云大陆机房内,监测非常稳定。所以首先确定使用阿里云 ECS 主机。

绕过备·鞍的思路是在微软云(Microsoft Azure)虚拟机上安装 Nginx 进行反向代理。选择了微软云东亚香港区的机房。延迟比较低。

方案

整体思路有了,核心就是从国外把网站迁移到阿里云,再在微软云上配置好 Nginx 反向代理。

阿里云

正好赶上阿里云「开年Hi购季」活动,看到阿里云数据库等产品都在搞活动。既然要放到国内,不妨吃个阿里云小份全家桶:SLB+ECS+RDS+OSS。

ECS 主机花了 ¥1,469.00 (代金券抵扣了 ¥50.00,实际花费 ¥1419.00),时长三年,配置为:1 vCPU、2 GB 内存、1 Mbps 固定宽带。

数据库 RDS,花 ¥10.00 购买了半年,配置为1 vCPU、1 GB 内存、SSD 20G 硬盘,我的网站是基于 WordPress,所以 RDS 的类型是 MySQL 5.7。

为什么要买负载均衡 SLB ?因为阿里云 ECS 选的是 1Mbps 固定宽带,这样下载速度只有 100 Kb/s,非常慢,负载均衡是按流量付费,几乎不限带宽值(实际是5120 Mbps ),而负载均衡和 ECS 之间是内网 VPC 连接,几乎也不限速,这样就突破了 ECS 本身 1 Mbps 固定宽带的限制。而现在网站的流量还比较低,几个网站加起来每小时的负载均衡费用只有2分钱。这里非常巧妙的是用负载均衡突破了宽带限制,而没有使用它原始的作用:主备冗余实现高可用。

因为个人博客上也会有一些图片,也计划接下来多分享一些文章,少不了截图,就干脆把阿里云对象存储 OSS 也用上了。非常便宜,¥9.00买了40G 一年的空间。另外还有一点点后付费几乎忽略不记。

在阿里云上总的花费见下图:

微软云

微软云的虚拟主机还是非常贵的。选择了东亚香港区最低的配置,1 vCPU、0.75 GB 内存、30 GB 硬盘、100 Mbps 固定宽带,预算费用在 US$14.88。但好在微软云有200美金1年的免费体验,1年到头后再另想办法。

这里会有人问:0.75 GB 的内存会不会太小了?答案是不会。因为在微软云上,我们会只用一个 Nginx 做反向代理,不需要太高的内存。

在微软云虚拟机上,我使用了 Ubuntu Server 18.04 LTS 操作系统。之所以选择 Ubuntu,是因为最新的 Ubuntu 系统开启 BBR 网络拥塞控制算法非常容易。开启 BBR 对反向代理速度有多少提升,这一点我并没有做测试。

在微软云上操作的相关命令:

1、升级系统:

sudo -i
apt-get update -y apt-get upgrade -y

2、开启 BBR:

(1)修改系统变量:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

(2)保存生效:

sysctl -p

(3)查看内核是否已开启BBR:

sysctl net.ipv4.tcp_available_congestion_control

显示以下即已开启:

net.ipv4.tcp_available_congestion_control = reno bbr cubic

(4)查看BBR是否启动:

lsmod | grep bbr

显示以下即启动成功:

tcp_bbr 20480 1

3、安装 Nginx :

apt-get install nginx -y

4、配置 Nginx 反向代理:

vi /etc/nginx/conf.d/jingfang.org.conf

配置文件示意:

server
    {
        listen 80;
        #listen [::]:80;
        server_name jingfang.org www.jingfang.org;
        rewrite ^(.*) https://jingfang.org$1 permanent;
    }

server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name jingfang.org ;
        ssl on;
        ssl_certificate /etc/nginx/conf.d/ssl/jingfang.org/fullchain.cer;
        ssl_certificate_key /etc/nginx/conf.d/ssl/jingfang.org/jingfang.org.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
        ssl_dhparam /etc/nginx/conf.d/ssl/dhparam.pem;

        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        location / {
            proxy_pass http://xxx.xxx.xxx.xxx:端口号;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_cache_bypass $http_upgrade;
        }
        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /var/log/nginx/jingfang.org.log;
    }

这里关键是proxy\_pass的地址,指向的是阿里云负载均衡 SLB 的 IP 地址和前端端口。

【域名解析】 ——A 记录——> 【微软云虚拟机 IP 】 ——Nginx 反向代理——> 【阿里云 SLB 】——TCP 负载协议——> 【阿里云 ECS 】

下面再返过头来看阿里云相关服务的设置。

虚拟主机 ECS

操作系统同样选择 Ubuntu Server 18.04 LTS。升级系统,开启 BBR。

以前网站的环境都是用军哥的 LNMPA 一键安装脚本搭建。这次在阿里云上选择使用 Docker 技术。

1、安装 Docker 及 Docker-compose 方法:

apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io

安装完成后,查看是否安装成功,如果安装成功,以下命令将输出 Docker 的版本号:

docker --version

继续安装 Docker-compose:

curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

同样查看 Docker-compose 是否安装成功:

docker-compose --version

2、WordPress 的 docker-compose.yml 配置文件:

在网站的目录下,新建 docker-compose.yml 文件,内容如下:

version: '2'
services:
  web:
    image: wordpress:latest
    restart: always
    ports:
      - 9999:80
    environment:
      WORDPRESS_DB_HOST: rds 的内网地址.mysql.rds.aliyuncs.com:3306
      WORDPRESS_DB_USER: rds 新建的用户名
      WORDPRESS_DB_PASSWORD: rds 相关用户的密码
      WORDPRESS_DB_NAME: rds 新建的数据库名
    volumes:
      - ./www/wp-content:/var/www/html/wp-content
      - ./config/php/conf.d/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini

这里因为购买了阿里云 RDS MySQL 5.7,所以就没有用 Docker 实例化 MySQL 容器,而是直接通过内网地址,连接到了阿里云 RDS。

另外映射了数据卷,wp-content 是网站数据集中的目录,包含了上传的文件、插件、主题等,需要持久化在 ECS 中;uploads.ini 是修改了 WordPress 容器中 PHP 的文件上传大小限制(原始仅允许上传为 2 MB)的配置文件,内容如下:

file_uploads = On
upload_max_filesize = 64M
post_max_size = 64M

启动 WordPress Docker 容器:

docker-compose up -d

在 ECS 安全组中配置好 TCP 9999 端口的入站允许安全规则后,在浏览器中打开 http://xxx.xxx.xxx.xxx:9999,应可以看到WordPress 的安装界面,此时只是测试 Docker 容器是否运行正常,不需要继续安装。另外在负载均衡 SLB 配置好后,也不需要在 ECS 安全组中开启 Docker 容器的端口。

负载均衡 SLB

SLB 设置非常简单。

第一步,选择 TCP 协议,输入监听的端口,此处的端口号,即为微软云 Nginx 反向代理proxy\_pass处设置的端口号。

第二步,选默认服务器组,端口号是 Docker-compose 文件里配置的宿主机端口号,如上面的例子配置的是9999。

下一步确认提交即可。

当域名解析到微软云虚拟机 IP 生效后,我们就可以通过域名安装 WordPress 了。

数据库 RDS

阿里云数据库 RDS 的管理界面非常简单,可以很方便地创建数据库、用户,注意要把数据库的权限赋予用户。这里就不详细说了。

对象存储 OSS

分为两步,首先要在 OSS 管理后台中创建 Bucket,其次在 WordPress 中安装 OSS 插件。

1、创建 Bucket

输入 Bucket 名称后即可创建。注意要把读写权限设置为「公共读」。

2、设置 Access Key

为了稍后让插件管理此 Bucket,我们还要设置一个 Access Key。点右侧的 Access Key,在弹出的对话框中选择「子Access Key」。

在新建用户的界面中输入用户名,并选择「编程访问」,即可获得 AccessKeyID 和 AccessKeySecret,稍后在 WordPress 插件中 要填入这两项值。

3、使用 WordPress OSS 插件

我使用的是 aliyun-oss-support下载后通过 WordPress 后台上传安装。此插件的使用说明,请参见作者 Github 说明。

设置如上图,主要是填对 AccessKeyID 和 AccessKeySecret,如果 ECS 和 OSS 在一个区域,可以选中内网。另外就是选中「图片服务」。

至此,微软云香港区反向代理阿里云 SLB+ECS+RDS+OSS 就全部设置完成了,通过近两周的观察,网站的速度很快,稳定性也很好,偶尔会有延迟较高的时候,瓶颈就在于微软云香港机房的线路。但总体上要比原来好很多。