本文是《快速创建网站》系列的第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. .net获取本机公网IP代码

    类的代码如下: using System; using System.Net; using System.Text.RegularExpressions; namespace Keleyi.Com { ...

  2. SignalR入门之小试身手

    建立好持久性连接类TestConnection之后,现在为我们的SignalR程序配置持久性连接类以及访问路径. 进入刚刚建立的Startup类,进入Configuration这个方法里来配置: us ...

  3. CodeSnippet.info整体技术构架

    CodeSnippet.info整体架构 服务器端 Asp.NET MVC5 考察过MVC6,但是现在MVC6还不成熟,技术上不稳定,很多资料也比较少. 所以网站暂时使用MVC5.当然网站的大部分业务 ...

  4. MVC-自定义过滤器

    APS.NET MVC中的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再加一些额外的逻辑处理.这时候就用到了过滤器. 自定义过滤器: 若要自定义一个过滤器,则 ...

  5. Java经典实例:把字符串解析为日期时间

    Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; /** * Created by Frank */ p ...

  6. log4j2配置详解

    1.    log4j2需要两个jar   log4j-api-2.x.x.jar    log4j-core-2.x.x.jar  .log4j和log4j2有很大的区别,jar包不要应错. 2. ...

  7. mvc和iis工作原理

    学习IIS & MVC的运行原理 我一直疑惑于以下问题,从客户端发出一个请求,请求到达服务器端是怎样跟iis衔接起来的,而iis又是怎样读取我发布的代码的,并返回服务器上的文件.这其中是怎样的 ...

  8. Dense.js - 响应式的视网膜(Rtina)图像支持

    Dense 是一款 jQuery 插件,它提供一个简单的方法为设备提供精密像素比的图像,为你的网站带来视网膜支持,清除模糊,图像更清晰.通过简单地包括 jQuery 插件的页面上,就能实现响应式的视网 ...

  9. FingerprintJS - 在浏览器端实现指纹识别

    FingerprintJS 是一个快速的浏览器指纹库,纯 JavaScript 实现,没有依赖关系.默认情况下,使用 Murmur Hash 算法返回一个32位整数.Hash 函数可以很容易地更换. ...

  10. 使用 JavaScript 实现灵活的固定导航功能

    如果你想在网页中实现灵活的固定导航功能,那么 Smart Fixed Navigation 这个 JavaScript 小脚本可以帮助轻松实现一个固定的导航,让用户在访问你的网站的时候可以随时使用菜单 ...