本文是《快速创建网站》系列的第10篇(完结篇),如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文。访问本系列目录,请点击:http://devopshub.cn/tag/wordpress-on-azure/

1. 网站管理平台WordPress和云计算平台Azure简介 (6分钟视频 )
2.1 在Azure上创建网站及网站运行机制 (13分钟视频)
2.2 域名绑定操作和Azure负载均衡机制 (12分钟视频)
2.3 WordPress 初始化和网站管理功能 (11分钟视频)
3.1 WordPress 数据导入 (12分钟视频)
3.2 WordPress 多站点支持和Azure在线代码编辑器 (14分钟视频)
3.3 WordPress 多语言支持 Multisite Language Switcher (15分钟视频)
3.4 WordPress 主题安装和配置,美化你的网站 (15分钟视频)
4.1 为啥造软件不同于造汽车,为啥是软件就一定会有Bug - 构建开发运维一体化(DevOps)(11分钟视频)
4.2 完结篇 – 应用运营vs.发射卫星,遥测(Telemetry) 技术 (13分钟视频)

在上一节(4.1)中,我给大家介绍了开发运维一体化(DevOps)的意义所在。但我不希望大家被这个听上去高大上的词汇所迷惑,感觉这只是那么上规模的网站和团队才需要的。任何的软件产品,网站都需要连接开发团队和用户,我们不能闭门造车,我们不能让长长的渠道成为用户和开发之间的屏蔽,任何的开发人员都需要直接面对用户,任何的软件产品都需要最直接的交付给用户。这才是最高效的软件开发,才是最有效的精益创业模式。在这一节中,我讲集中介绍反馈这个环节,更确切的名称应该叫Telemetry (遥测)。

请配合视频阅读本文

发布应用就是发射卫星

又是一个高大上词汇,Telemetry(遥测)。感觉我们要发射卫星了。其实,当你发布了你的产品,特别是一个互联网产品,无论它是一个网站,一个App,或者一个微信应用,甚至仅仅是某一篇博客文章;你就已经发射了一颗卫星,它在浩瀚的互联网里面游荡,你不知道它现在在哪里,有多少人在关注它,也不知道它将要飞向哪里,或者是否已经坠落在了一片无人的沙漠;幸运的话,可能还会被其他的太空垃圾当成靶子(DoS攻击?)。

遥测技术(Telemetry)不是一门新技术,在很多的行业,如:航空航天,野生动物保护,医疗,甚至执法过程中这都是不可缺少而且应用许久的技术。我们不必把它当作一门高深的技术,可以想象一下你开车或者骑自行车的过程,你的眼睛获取周围的情况,通过大脑的处理得出最佳的行驶方案,然后指导你的手和脚做出反应,保证你可以安全的行驶在路上,并到达目的地。这就是遥测技术。

遥测与日志(Telemetry vs. Logging),你可能会想:好吧,没问题,在我的应用里面已经有了非常多的日志记录。这非常好,说明你已经开始了你的遥测实践。但日志一般更佳关注我们开发人员从技术层面对应用运行情况的跟踪,比较低层,更多的数据是关于应用本身运行情况,而不是从用户的角度如何使用你的应用。而遥测需要关注则更多是用户如何使用你的应用,你的应用又是如何做出响应的。

换句话说,日志可以帮助你证明已知(确认应用按照设计运行),而遥测可以帮助你探索未知(找到用户真正的需求,完善改进你的设计)。

遥测可以帮你回答10个问题

用户的“真”需求是一座金山,而我们需要做的是如何找到这座金山。遥测是你手中的金属探测器,它可以帮助你回答这些问题:

1. 哪些功能受到用户欢迎?我觉得有用的功能,用户是否真的觉得有用?
2. 用户把时间都花在了哪里?他们在每个应用页面(功能)上花费了多少时间,又去了哪里,在这些时间中他们都做了些什么?
3. 用户使用哪些设备访问我的应用?型号,屏幕大小,分辨率,使用键盘还是触控设备?
4. 我的应用提供了这么多的选项,用户真的用了吗?他们更喜欢怎样使用我的应用?
5. 应用出现问题的时候用户的反应如何?他们遇到问题的频率如何,遇到了哪些问题?
6. 我所发布的新功能用户是否喜欢?这个新的微信分享功能大家都用了没有?这个功能是否帮我吸引到了更多新的用户?
7. 用户是否点击了广告?在哪些应用页面上它们更喜欢点击广告?哪些广告他们更喜欢点击?
8. 哪些用户更加关注我的应用?他们是否推荐了我的应用给他们的朋友?
9. 我是否应该花时间开发新功能?还是要改进性能,改进现有功能?下一个版本要做些什么?
10. 我的应用的是否帮助我向着我的商业目标前进?方向对吗?

真需求是金山,假需求那就是陷阱,不仅仅让你浪费金钱,更加白白浪费精力;如果不能及时识别需求的真假,那就相当于坐上开往地狱的高铁一样。

如何为我的应用添加遥测能力?

方式有两种,1. 自己实现所有的监测点数据收集,传送和数据分析,展现。你当然会有最佳的灵活度,但是你花在这上面的精力好像有点太多了。2. 使用第三方服务。

看了上面10个问题,你应该会觉得应用遥测能力很重要,但是淘金的人需要穿结识的牛仔裤,但可不一定要自己造牛仔裤。下面就是市场里面可供你选择的各种牛仔裤:

deltaDNA http://www.deltadna.com/
专注于游戏类应用的数据分析

APImetrics http://apimetrics.io/
专注于各种互联网公开服务的API监控和使用分析,如:OAuth, UserProfile, Search Engine 等

Kochava https://www.kochava.com
专注于广告投放的数据分析

uTEST http://www.utest.com/
最初是一个社区化的测试服务,现在也提供一定的在线数据分析能力。

当然,在这里不能不提的2个很重要的服务,也是博主在这个博客上使用的服务。

Google Analytics
http://www.google.com/analytics/

Azure AppInsights
http://azure.microsoft.com/en-us/documentation/articles/app-insights-get-started/

使用这些第三方服务的好处是,配置简单,数据分析报表丰富。

在WordPress中,可以使用以下两个插件实现和Google Analytics 或者Azure AppInsight的集成,这也是博主的站点所使用的方式。

Google Analytics Dashborad for WP

Application Insights

(Azure Application Insight插件的代码是开源的,可以在GitHub上下载 https://github.com/Microsoft/AppInsights-WordPress )

数据分析,报表展现

当然,上面说了这么多,也不如看几张报表来的直接。所以我截取了一些这段时间运营这个博客站点过程中所得的数据报表,给大家分享一下,更重要的是,这些报表缺失帮到我改进了一些运营的方式。

Google Analytics

Azure AppInsights

首先说明一下背景,博主的文章会同时发在几个渠道上

1. ANB.IO 这是主站 http://anb.io
2. 博客园 http://www.cnblogs.com/ups216
3. CSDN http://blog.csdn.net/ups216
4. 微信订阅号 anb-io

在过去的一个月中,我根据以上这些报表数据进行了一些调整,也有一些心得

1. 在所有的文章顶部添加了系列文章的目录,并放上了链接,这样用户进入其中一篇以后就可以点击链接进入其他部分,而这些点击会被引流到主站上
2. 在文章标题上添加了(视频)字样,仅此一项改动就为每篇文章多争取20%以上的点击率
3. 把标题写的更吸引眼球,原来的这个系列的标题都是很技术化的,但你会发现从3.2开始,标题开始变长并明显出现“标题党”的迹象(我也恨标题党,但该做的还要做的)
4. 发布时间调整,开始几篇文章的发布时间不定,后来我固定在每天中午11-12点之间发送;因为我发现多数阅读我的文章的用户都使用PC阅读,那么最佳的阅读时间其实是上班的中午吃饭前后的时间;吃饭前要有些消遣, 吃饭后总要上网浏览一下;而早上/晚上的时间其实大家更多会使用手机浏览;当然,夜里11点前后几小时也有一个浏览高峰,看来程序员缺失不少夜猫子。
5. 博客园的流量最大,无论是在博客园内部的浏览还是点击进入主站的都是最多的,看来受众还是很重要的。
6. 微信订阅号的流量很小,我的分析是因为这一系列文章的内容专业性比较强,阅读微信订阅号都在手机上,消化起来比较困难;而像#一周五#这样的短平快文章则阅读和转发都不错。看来订阅号比较适合相对浅显,易于阅读消化的文章,而不适合大篇的技术类文章。

结束语

至此,《快速创建网站》系列结束。希望这些内容不仅仅可以帮助你了解一些网站背后的技术和知识,也能然给你对相关的一些内容(如:应用生命周期管理,DevOps,Telemetry)有一定的了解。写这些文章的初衷很简单,就是希望把我建立这个站点的过程记录下来,让有同样需求的朋友也能了解到其中的过程,不求高深,只求分享。

谢谢大家。

欢迎关注本博客微信订阅号 anb-io。每周推送内容,有技术也有生活,和你一起做一个有情怀的程序猿。

(视频)《快速创建网站》 4.2 完结篇 – 应用运营vs.发射卫星,遥测(Telemetry) 技术的更多相关文章

  1. (视频)《高速创建站点》 4.2 完结篇 – 应用运营vs.发射卫星,遥測(Telemetry) 技术

    本文是<高速创建站点>系列的第10篇(完结篇),假设你还没有看过之前的内容,建议你点击下面文件夹中的章节先阅读其它内容再回到本文.訪问本系列文件夹.请点击:http://anb.io/bl ...

  2. (视频)《快速创建网站》 4.1 为啥造软件不同于造汽车,为啥是软件就一定会有Bug - 构建开发运维一体化(DevOps)

    本文是<快速创建网站>系列的第9篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  3. (视频) 《快速创建网站》3.4 网站改版3分钟搞定 - WordPress主题安装和备份

    本文是<快速创建网站>系列的第8篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  4. (视频)《快速创建网站》 3.3 国际化高大上 - WordPress多语言支持

    本文是<快速创建网站>系列的第7篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  5. (视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线代码编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定

    本文是<快速创建网站>系列的第6篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  6. (视频) 《快速创建网站》 3.1 WordPress 数据导入

    本文是<快速创建网站>系列的第5篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  7. (视频) 《快速创建网站》 2.3 WordPress初始化和功能简介

    本文是<快速创建网站>系列的第4篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  8. (视频) 《快速创建网站》2.1 在Azure上创建网站及网站运行机制

    现在让我们开始一天的建站之旅. 本文是<快速创建网站>系列的第2篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http:// ...

  9. (视频) 《快速创建网站》1. 网站管理平台WordPress & 微软Azure 云计算简介

    网站并不神秘,过节了,在家闲的没事的,自己建个网站玩玩吧.每段视频不超过15分钟,地铁/公交/睡前/醒来看一段,几天之后变身建站专家,找老板加薪去! 在普通人眼里,创建网站是专业开发人员和IT工程师才 ...

随机推荐

  1. VS10x CodeMap 注册码 key VS插件CodeMap

    VS10x CodeMap 注册码(key): #$aCN/L/ra73OaqCJENXc2JIDL61IMawNWBBX+PxhBzobE9w3QlcrwoXeB3DWBC2f56y9r0Hx2XP ...

  2. 关于SilverLight

    目前工作中用到SilverLight,有必要对其作一定的了解.

  3. 富客户端 wpf, Winform 多线程更新UI控件

    前言 在富客户端的app中,如果在主线程中运行一些长时间的任务,那么应用程序的UI就不能正常相应.因为主线程要负责消息循环,相应鼠标等事件还有展现UI. 因此我们可以开启一个线程来格外处理需要长时间的 ...

  4. PHP程序员7小时学会Kotlin系列

    这是我尝试给自己一个目标去学会一门新语言的方法.正在创作中,敬请期待! 提纲 第一小时 概念 第二小时 基础 第三小时 函数 第四小时 类与对象 第五小时 类与对象二 第六小时 DSL 第七小时 工程 ...

  5. Oracle 数据库基础学习 (三) Oracle 四个表结构

    Oracle 四个表的 emp dept  salgrade  bunus 的结构,记住有利于后期SQL语句的学习 雇员表(emp) No. 字段 类型 描述 1 empno NUMBER(4) 表示 ...

  6. PostgreSQL类型转换

    1.int装string select CAST (1234 AS text) select to_char(1234,’999‘) 2.string转int select cast('999' as ...

  7. [javaEE] 反射-通过反射了解集合泛型本质

    java中的泛型是防止错误输入的,只在编译时刻起作用 package com.tsh.reflect; import java.lang.reflect.Method; import java.uti ...

  8. OGNl和ValueStack的基础和深入分析

    一.OGNL 1)什么是OGNL? 解析:OGNL是Object Graph Navigation Language(对象图导航语言)它是强大的表达式语言. 2)用途:通过简单一致的表达式语法来读取和 ...

  9. js自调用匿名函数的三种写法

    第一种: (function(){ console.log(‘hello world”) })() 第二种: (function(){ console.log(‘hello world’) }()) ...

  10. html 网页文本设计

    1.文本的排版 1.1 <body> <h2>李白</h2> <p align="center" > <font face=& ...