企业网站建设

建站知识

今日已发布信息: 425320
累计注册用户: 82592802

做好网络优化

网站优化 关键词和描述这

概述: 另外网站上应该多使用文字,这样更容易被搜索引擎抓取!只有这样才能够成为一个基本合格的企业网站!     二:企业网站三要素的选择     做好网站标题,关键词和描述这三个要素,主要分成两个方面来做,一个是首页,一个是栏目页,对于首页而言,通常使用企业名称作为网站的标题,看起来没有什么问题,可是这样无疑会缩小了企业网站的搜索范围,所以更好的方法就是将网站的关键词,长尾关键词和企业名称放在一起,作为网站的标题,这样就能够增加搜索范围的同时,还能够让用户更为精准的找到网站,当然对于关键词和描述这两个方面,基本上和标题类似,一定要抓住主要方面,发挥长尾关键词优势!     而对于网站栏目页的标题,关键词和描述的设定,当然也需要遵循一定的原则,比如一个栏目就是一个关键词,相关的内容就是围绕这个关键词来做,最好是栏目标题是首页标题的拓展,千万不能够是一样,对于描述和关键词也是一样!     三:关键词的分布和密度     对于企业网站而言,其实关键词的密度是很容易就能够控制在合理的范围内,比如2%到8%之间,因为在涉及到公司业务介绍的时候,很容易就能够控制关键词,可是如果不注意控制,那是很难实现合理的关键词密度的!通常关键词密度严重稀薄,或者关键词密度严重堆砌都是不利于网站优化的!     四:企业网站终极优化攻略     其实上面三个方面是给接下来的SEO优化工作进行的铺垫,做好上面三个方面也是企业网站优化的基础,接下来就要分析一下企业网站的优化技巧!其实对于企业网站优化技巧而言,实际上是重剑无锋,大巧若拙!

  一:网站布局兼顾SEO优化和美观     很多公司网站特别喜爱把网站打扮的花枝招展,大量运用flash,java小程序等等,这些技术,现在已经成为边缘的网站技术,看起来能够增强网站的美观性,但实际上却成为网站SEO优化的瓶颈,实际上网站美观主要就是简约,干净整洁,绚丽的画面是帮不了什么忙的,为了提升网站SEO优化效果,应该做好网站关键词的分布,布局要合理规范,另外网站上应该多使用文字,这样更容易被搜索引擎抓取!只有这样才能够成为一个基本合格的企业网站!     二:企业网站三要素的选择     做好网站标题,关键词和描述这三个要素,主要分成两个方面来做,一个是首页,一个是栏目页,对于首页而言,通常使用企业名称作为网站的标题,看起来没有什么问题,可是这样无疑会缩小了企业网站的搜索范围,所以更好的方法就是将网站的关键词,长尾关键词和企业名称放在一起,作为网站的标题,这样就能够增加搜索范围的同时,还能够让用户更为精准的找到网站,当然对于关键词和描述这两个方面,基本上和标题类似,一定要抓住主要方面,发挥长尾关键词优势!     而对于网站栏目页的标题,关键词和描述的设定,当然也需要遵循一定的原则,比如一个栏目就是一个关键词,相关的内容就是围绕这个关键词来做,最好是栏目标题是首页标题的拓展,千万不能够是一样,对于描述和关键词也是一样!     三:关键词的分布和密度     对于企业网站而言,其实关键词的密度是很容易就能够控制在合理的范围内,比如2%到8%之间,因为在涉及到公司业务介绍的时候,很容易就能够控制关键词,可是如果不注意控制,那是很难实现合理的关键词密度的!通常关键词密度严重稀薄

 

  瑞金网站建设制作  化妆品   今日推荐免费建站   分类信息   秦皇岛网站建设公司

 

蛘吖丶拭芏妊现囟哑龆际遣焕谕居呕!     四:企业网站终极优化攻略     其实上面三个方面是给接下来的SEO优化工作进行的铺垫,做好上面三个方面也是企业网站优化的基础,接下来就要分析一下企业网站的优化技巧!其实对于企业网站优化技巧而言,实际上是重剑无锋,大巧若拙!

 

 

wordpress各个目录的功能实现

********* 

根目录 

**********

1.index.php:wordpress核心索引文件,即博客输出文件。 

2.license.txt:WordPress GPL许可证文件。 

3.my-hacks.php:定义了博客输出之前处理的追加程序。默认安装中并没有这个文件,但如果存在,它就会被管理页面引用。

4.readme.html:WordPress安装导言。 

5.wp-atom.php:输出Atom信息聚合内容。 

6.wp-blog-header.php:根据博客参数定义博客页面显示内容。 

7.wp-cron.php 

8.wp-comments-post.php:接收评论,并把其添加到数据库。 

9.wp-commentsrss2.php:用来生成日志评论的RSS2信息聚合内容。 

10.wp-config-sample.php:把WordPress连接到MySQL数据库的示例配置文件。 

11.wp-config.php:这是真正把WordPress连接到MySQL数据库的配置文件。默认安装中虽不包括它,但由于WordPress运行需要这一文件,因此,用户需要编辑这个文件以更改相关设置。 

12.wp-feed.php:根据请求定义feed类型并其返回feed请求文件。 

13.wp-links-opml.php:生成OPML格式的链接(通过WordPress管理菜单添加)列表。 

14.wp-login.php:定义注册用户的登陆页面。 

15.wp-mail.php:用来获取通过邮件提交的博文。这个文件的URL通常被添加到cron任务中,这样cron就会定期检索文件并接收邮件日志。 

16.wp-pass.php:审核受密码保护文章的密码并显示被保护文章。 

17.wp-rdf.php:生成RDF信息聚合内容。 

18.wp-register.php:允许新用户通过联机表单注册用户名。 

19.wp-rss.php:生成RSS信息聚合内容。 

20.wp-rss2.php:生成RSS2信息聚合内容。 

21.wp-settings.php:运行执行前的例行程序,包括检查安装是否正确,使用辅助函数,应用用户插件,初始化执行计时器等等。 

22.wp-trackback.php:处理trackback请求。 

23.wp.php:显示博客日志的简单模板。并没有什么神奇之处,但包括了部分index.php内容。 

24.xmlrpc.php:处理xmlrpc请求。用户无需通过内置的网络管理界面就可发布文章。

********** 

wp-admin 

********** 

1.wp-admin/admin.php:管理文件的核心文件。用来连接数据库,整合动态菜单数据,显示非核心控制页面等。 

2.wp-admin/admin-db.php 

3.wp-admin/admin-footer.php:定义所有管理控制台的页脚。 

4.wp-admin/admin-functions.php:定义了管理控制台使用的多种函数。5.wp-admin/admin- header.php:定义了管理控制台的上半部分内容,包括菜单逻辑 (menu logic)的 menu-header.php文件。 

6.wp-admin/bookmarklet.php:使用书签功能时,定义弹出页面。撰写日志时使用默认的edit-form.php文件。 

7.wp-admin/categories.php:定义管理页面的类别管理。参考: Manage – Categories 

8.wp-admin/cat-js.php 

9.wp-admin/edit.php:定义管理页面的日志管理。参考: Manage – Posts 

10.wp-admin/edit-comments.php:定义管理页面的评论管理。参考: Manage – Comments 

11.wp-admin/edit-form-advanced.php:定义管理页面的日志高级编辑形式管理,包括post.php。参考: Write – Write Post – Advanced 

12.wp-admin/edit-form.php:定义管理页面的日志简单编辑形式管理,包括post.php。参考: Write – Write Post 

13.wp-admin/edit-form-comment.php:编辑特定日志评论。 

14.wp-admin/edit-form-ajax-cat.php 

15.wp-admin/edit-link-form.php 

16.wp-admin/edit-page-form.php:定义管理模块页面的页面编辑,包括post.php和page-new.php。参考: Write – Write Page 

17.wp-admin/edit-pages.php:定义管理模块页面的页面管理。参考: Manage – Pages 

18.wp-admin/execute-pings.php 

19.wp-admin/import.php 

20.wp-admin/index.php:默认管理页面。根据用户请求显示相应的页面。 

21.wp-admin/inline-uploading.php 

22.wp-admin/install-helper.php:定义数据库维护函数,包括popular-in-plugins maybe_create_table() 和maybe_add_column()。 

23.wp-admin/install.php:安装WordPress。 

24.wp-admin/link-add.php:链接添加。参考: Links – Add Link 

25.wp-admin/link-categories.php:链接分类管理。参考: Links – Link Categories 

26.wp-admin/link-import.php:导入链接。参考: Links – Import Links 

27.wp-admin/link-manager.php:链接管理。参考: Links – Manage Links 

28.wp-admin/link-parse-opml.ph:导入链接时,用来解析OPML文件。 

29.wp-admin/list-manipulation.js 

30.wp-admin/list-manipulation.php 

31.wp-admin/menu-header.php:用于在管理界面显示菜单。 

32.wp-admin/menu.php:定义了默认管理菜单结构。 

33.wp-admin/moderation.php:定义了评论审核函数。 

34.wp-admin/options.php:升级后,用来更改所有设置。 

35.wp-admin/options-discussion.php:管理评论和trackback相关选项。参考: Options – Discussion 

36.wp-admin/options-general.php:管理基本配置选项。参考: Options – General 

37.wp-admin/options-head.php 

38.wp-admin/options-misc.php:设置文件上传,链接跟踪,自定义”hacks”等相关选项。参考:Options – Miscellaneous 

39.wp-admin/options-permalink.php:管理永久链接选项。参考: Options – Permalinks 

40.wp-admin/options-reading.php:设置如何把网站信息发送到读者浏览器或其它应用程序。参考: Options – Reading 

41.wp-admin/options-writing.php:管理日志撰写界面。参考:Options – Writing 

42.wp-admin/page-new.php:创建新页面。 

43.wp-admin/plugin-editor.php:编辑插件文件。 

44.wp-admin/plugins.php:管理插件。 

45.wp-admin/post.php:创建新日志。 

46.wp-admin/profile-update.php 

47.wp-admin/profile.php:管理个人资料或配置。 

48.wp-admin/setup-config.php:安装时,用来创建wp-config.php文件。 

49.wp-admin/sidebar.php 

50.wp-admin/templates.php:编辑服务器可写文件。 

51.wp-admin/theme-editor.php:编辑特定主题中的文件。 

52.wp-admin/themes.php:管理主题。 

53.wp-admin/update-links.php 

54.wp-admin/upgrade-functions.php:定义了版本升级函数。 

55.wp-admin/upgrade-schema.php:定义了升级中使用的默认表格结构和选项。 

56.wp-admin/upgrade.php:版本升级。 

57.wp-admin/user-edit.php:编辑用户。 

58.wp-admin/users.php:管理用户。 

59.wp-admin/wp-admin.css:定义了管理控制台的默认样式表。 

60.wp-admin/xfn.js

********** 

wp-includes 

**********

wp-includes目录 

1.wp-includes/cache.php 

2.wp-includes/capabilities.php 

3.wp-includes/class-IXR.php:Incutio XML-RPC库。包括了 XML RPC支持函数。 

4.wp-includes/classes.php:包括了基本的类,如核心文章提取机制WP_Query和改写管理WP_Rewrite。 

5.wp-includes/class-pop3.php:包括了支持使用POP邮箱的类。可供wp-mail.php 使用。 

6.wp-includes/class-snoopy.php:Snoopy是一个PHP类,用来模仿Web浏览器的功能,它能自动完成检索网页和发送表单的任务。 

7.wp-includes/comment-functions.php 

8.wp-includes/default-filters.php 

9.wp-includes/feed-functions.php 

10.wp-includes/functions-compat.php:即新版本PHP中用来支持老版本PHP的函数文件。 

11.wp-includes/functions-formatting.php:用于清理XHTML和用特定字符集正确格式化文本。 

12.wp-includes/                         :定义了在数据库中管理日志,查询用户权限,提取和撰写评论等函数。 

13.wp-includes/functions.php:包含许多重要的支持函数,它是WordPress中最大的文件,函数数量几乎是第二大文件的两倍。 

14.wp-includes/gettext.php:PHP-gettext GPL 翻译库组成部分。 

15.wp-includes/kses.php:用来渲染和过滤日志或评论中的HTML。 

16.wp-includes/links.php:用来管理和使用WordPress的链接功能。 

17.wp-includes/locale.php:用来替代默认的星期和月份值。 

18.wp-includes/pluggable-functions.php 

19.wp-includes/registration-functions.php 

20.wp-includes/rss-functions.php 

21.wp-includes/streams.php:定义了包装文件流和字符流的类。 

22.wp-includes/template-functions-author.php:包含了与日志作者或评论人相关的主题函数。 

23.wp-includes/template-functions-category.php:包含了与类别相关的主题函数。 

24.wp-includes/template-functions-comment.php:包含了与评论相关的主题函数。 

25.wp-includes/template-functions-general.php:包含了常规主题函数。 

26.wp-includes/template-functions-links.php:包含了与链接相关的主题函数。 

27.wp-includes/template-functions-post.php:包含了与日志相关的主题函数。 

28.wp-includes/template-functions.php:包含了以上所有”template-“文件。 

29.wp-includes/template-loader.php 

30.wp-includes/vars.php:用来设置杂项变量。 

31.wp-includes/version.php:用来设置当前使用的WordPress版本。 

32.wp-includes/wp-db.php:包含了用来连接MySQL数据库的函数。 

33.wp-includes/wp-l10n.php:提供支持多语言版本的函数。


驳Baidu关键词排名优化之外部链接无用论

  百度优化算法一直令广大搜索引擎优化爱好者神秘而头痛。每次百度算法波动,直接的表现就是百度关键词排名下降,网站收录量下降,网站降权等多种反映。所以各网站优化网站上关于百度优化方法的猜测也是林林种种,其中一条——外部链接对百度优化无用,个人觉得是真正的谬论!下面说说我的论点。

  互联网存在的基础——超级链接

  这个应该是很有力的论据了。稍微学点网站建设基础知识的都知道,第一章肯定讲的是这个。没有了超级链接就不存在网站,不存在信息交流,也更不会存在百度,谷歌等搜索引擎。所以,网上所盛传的外部链接对百度优化无用论根本站不住脚。

  百度关键词排名的到底在依据什么?

  在百度优化研究方面,每个人的看法和言论各不相同。有的说是高质量原创,有的说是外部链接,有的说是点击率...,好像都很有道理。我汇总并经过实践后觉得确实有效的经验如下:

  1、网站必须标准化

  提到这个,就必须说到垃圾站。由于建站门槛低,目前国内建站公司多了去了,每家都在进行着建站业务。每家都有每家的标准,但唯一忘记的就是目前每家搜索引擎都遵循的国际标准(W3C)。有人经常问:搜索引擎怎么判断我的站是垃圾站?虽说百度搜索引擎是机器,但制定了严格的标准之后,什么是垃圾站它一眼能认得出的,百度没理由把一个代码结构复杂的垃圾站排到前列的。所以,建站是有学问的,能做些就做些,努力向网站标准化(W3C)靠近吧。没什么坏处。

  2、网站的外部链接必须有,但注意度的把握

  有了外部链接,网站才有了宣传,才有了流量,有了访客,才有了知名度,才会被誉为名站,大站,才会引来神秘访客——搜索引擎蜘蛛,才会在百度上排名跻身前列。

  这里我是在说外部链接很重要,但并没有说外部链接越多越好。从长期观察百度算法的经验来看,一段时间内百度对外部链接很重视,算法权重的分配也很高,这时通过外部链接达到网站优化的目的也就很轻松。但有时,尤其是在短时间大量外部链接充斥的时候反而起到反作用,往往不小心被百度降权或K站也很正常。外部链接贵在坚持长久,等有收获的时候你就会体会到。

  外部链接是把双刃剑,怎么学会使用是在不断的总结中摸索出来的。任何单一的说法都是不正确的。切忌!

  3、网站关键词和标题的点击率

  通过监控百度算法,发现每次搜索,点击网站都会向百度数据服务器返回数据。任何有点程序开发经验的人都知道,搜集这些数据是百度关键词排名的基础,没有数据不可能进行排名的。返回的数据里就包含有监控每个访客搜索了那些关键词,点击了那些网站title和链接。这些是必须的,没有了数据的收集,百度不可能做什么网站关键词排名的,也就不存在数据优化的说法了。

  以上几点只是本人愚见,配合内容原创,服务器稳定这两点就足够了。无需太多了,再多只能是看花了眼无所适从。

网络推广怎样提升企业的实际销售量

  企业做网络推广,追求的是一个效果,但是效果具体的衡量,可能需要数据,这个无可厚非。但是推广和销售的关系,就像品牌与销售的关系,是长期利益和短期利益的关系。在此,小马识途营销机构的首席顾问马山分享下网络推广如何提升实际销售量这个话题。

  品牌和销售短期对立长期统一

  品牌有优势利于销售,而销售也可以提升品牌的知名度,但当一个新的企业或新的项目推广时,品牌和销售的关系是短期对立长期统一的。销售总监往往心急于业绩,不会从品牌的建立与成长的角度去推广;而市场总监不会一味追求短期销售,而会看中品牌的长远利益。

  负责销售的领导做推广,往往会看业绩表现,但是网络推广的业绩表现并不是当时见效,市场宣传网络推广其实更侧重实现长期效益,短期效益当然也有,但是直接的统计数据是很难实现的,但是其中的效果也是显而易见的,说白了就是知道有,但不好量化。

  网络推广提升销售需提前策划

  在默认状态下,企业宣传的是品牌,如果是想导向销售,需要提前策划。例如,策划一次促销活动的网络推广,某一款或一系列产品的推广,有特定的销售需求的推广,可以通过提前策划来促进实际的销售。但是网络推广本身并不能决定实际销售量,实际销售量跟产品的质量,品牌知名度,促销的力度息息相关。网络推广的作用是做到一个信息传递,把产品的促销信息传递给潜在的用户,其他的还是要靠企业的品牌和口碑。这也就是我们企业平时做的推广,及产品方面的设计、改良,企业销售提升需要循序渐进,一般不会在短时间内迅速爆发。

  网络推广“软”“硬”结合销售增长快

  网络推广有很多种,但是归根结底可以分为两大类,就是公关推广和广告推广,也就是作为的“软”推广和“硬”推广。硬推广是广告,直接推销企业的产品;软推广是第三方信息,侧面烘托企业的产品或品牌。从整体上靠网络推广提升企业销量,那需要“软”“硬”结合,硬推广可以直接吸引客户的眼球,但是最终决定购买还是软推广的催化。

  如果对上段的分析不是很明白,建议去小马识途官网或是在百度上搜索《网络消费者成交过程分析网络营销策略》这篇文章,文章也是笔者马山所写,其中有较详尽的描述。总之,网络推广可以提升销售量,但是网络推广不是销售量的决定因素,没有网络推广当然销售不好,但是做了网络推广就一定销售好,也不是那么回事。企业的品牌和产品,始终是企业销售好的基础。

一星期打造2000IP 另类站长流量筹划

  一星期2000IP 可能吗? 不花钱?不推广? 我不相信,真的 我当时 很不相信 直接亲眼看到了 我相信了

  说实话 和 各位站长比 我没有经验 也许写这个大家不相信 我写这个 只是写给有眼光 对待事物 比较会观察的人看的 我想这也是最站长最需要的。我帮别人做过站 但是自己从来没有经营过站 我的站长年龄只有半个月

  我想接下来 还是谈谈 关于 一星期 是怎么样打造 2000IP的问题吧

  首先介绍下 2000 IP的站 www.kvov.com

  这个站 不是我的 说实话 我做网站 不会做 这样没水准的网站 (我朋友的 不批评他的技术不行 - -!)

  首先大家可以去百度查查 他被收录了多少

  如果我没说错的话 只有9篇文章 我要说这点是想申请 他的流量绝对不是从百度来的

  大家进入网站可以看到 他的建站时间是多少 我记得没错的话 应该是4月15日

  那么他是怎么做到 在这段的时间 没有任何推广却达到了要好几个月 才能达到的数字呢?

  人力的宣传? 不可能把 至少没人 会这样白痴把 也没有做广告啊

  靠的是什么?

  答案是 :QQ书签!

  大家明白了么? 对QQ书签还不了解的 接着听我说

  我朋友当时说 他开站第一天统计流量时候发现 他的站100多IP 中有10多点流量是来自QQ书签

  于是他马上点到QQ书签的网站里,发现这里收录了N 多网站,特别是关于QQ空间的N多,基本上站了一半了

  于是他就选了他的站里,感觉很吸引人的一个地方,在线非主流个性字体转换,马上就收藏到自己的QQ书签里

  然后就发到群里3个小时后,他惊奇的发现居然有2000个人收录了他刚才收藏的书签!

  到了第2 天,收藏的人数已经超过了2W了!

  不清楚QQ书签的也许不会相信 不过我想比较了解QQ书签的 应该很清楚把

  他就类似百度 都是收录网站的 区别就是 我们收录的东西 可以有很短的时间 在最新收录里看到

  当然这个时间是非常短的 但是如果 我们在同一时间 有大量的人 同时收藏他

  那么 在这个时间段 就会大量同时的出现 我们收藏的站 那么 在网站上 被更多的人看到的几率 就非常大

  加上 他所收藏的内容 是别人所需要的 所以 当时在流量QQ书签的人 马上也就收藏了他的站

  我们可以想象 按这样的比例来收藏 几个小时后是一个多么大的数字

  1 2 4 8 16 32 64 128 。

  我想 认真看了的朋友 应该已经明白了

  这个方法 我是听我朋友说的 里面的内容 则是我自己分析的 他其实也是误打误撞搞的

  没有想到 却得到了这么好的回报 不过 我想说 如果当时他不去试的话 那么就根本不会有 一星期2000IP

  的结果 所以站长我认为一定要善于观察周围的事物,对一切机会不要放过

  这个方法我觉得把更加适合于做QQ空间相关的东西,因为从收藏的情况来看的话,大部分是有关QQ空间的。但是我不否决 对其他类型的也有帮助,这就看各位怎么做了!

  第一个是收藏的方法

  第2 个就是收藏的题目和内容了

  方法和我的分析都写好了 花了我一个小时 打字还真累

  欢迎访问偶的小站:www.kvov.com

  有什么不明白的 QQ:449832289

  欢迎咨询 以及友情连接哦

云服务真的靠谱吗?靠谱的云服务至少要具有这些

  云服务真的靠谱吗?

  相信对这个问题每个人心里都有不同的答案。我今天想讲的是如何客观的去回答这个问题, 其中结合了 Coding 的一些实践和思考。

  

 

  广义范围的“靠谱” 有几个比较重要的点。

  第一个点就是 Availability (可用性),24x7随时可用。一个靠谱的云服务一定是可用性非常高的。

  第二点是 Access Control,可控性一定要好,非云服务你可以上个锁,云服务如何能做到可控性很好,很难。

  第三点是 灾难恢复,是软件就会有问题。怎么样积极的面对这个问题,这是任何一个云厂商都要诚实面对的问题。

  可用性

  首先第一点我们看来讲一下可用性,可用性只有一个评判标准,就是 SLA,Service Level Agreement,更多的时候是 SLO, 只是 Objective。 一个东西是不是高可用,那么就问他几个九,敢不敢拿出来说一下。

  

 

  实实在在的看着这个图说话,3个9基本上是国内云服务的基础线。也就是说**云服务至少要做到3个9才称为基本上可用**,是合格性产品。如果是做不到这个,你的东西就只是玩具,快回去好好把技术内功修炼修炼再出来刷脸。从3个9迈向4个9,也就是99.99%的可用性,每年只有52.6分钟的时间是不可用的。

  以前的谷歌搜索可用度大概是全球5个9到6个9之间,每一个小节点都是5个9不到6个9之间。想想吧,这其实是很可怕的一个概念。**因为这里包含了可能发生的一切事故**,不管什么不可抗力,都是扯淡。地震、洪水、台风、大楼震塌了,也是5分钟内恢复服务。

  相比之下,大部分国内的IDC机房都是按照99%设计的,一年至少3天是不可用,这3天给你花在元旦一天,春节一天,国庆一天,省点时间给你机动(笑)。这里不可用就是不可用,求爷爷告奶奶也照样不能用。

  所以说 SLO 直接反映一个云服务的靠谱程度:

  从99%到3个9,是基本可以靠堆人和运气解决的;

  从3个9到4个9,考验的是运维自动化的能力,灾备的能力;

  从4个9往上基本考验的是服务基础架构、业务设计的能力。

  我们也在3个9到4个9之间努力, 这个还是很有难度的。如果一个云服务厂商在注释里加了句“不可抗力排除在外”,这是非常不合适的。

  那么如何提升可用性:

  Design For Redundancy, 第一是一定要做到所谓的**“无状态微服务”**,去掉单点故障。 首先是“微服务”, 一个服务分解的越简单,出错的面就越小,失败模式就越固定。然后是“无状态”,这样才可以做到无限扩展。 这个很难的, 很多时候最后拆来拆去都发现有一个数据库在最后,这个数据库就做不到无状态,永远只能有一个数据库,一个数据库实例在那摆着,可用性永远上不去。

  有了无状态的微服务这种架构,还要做到 N+2。很多时候很多厂商连N都不知道(因为从没有做过压力测试,性能分析),何谈N+2?

  Design For Gradual Deployment, 第二就是要**支持灰度发布**。一个服务要前进,任何软件组件都要改,都会改。更新操作会直接提高你系统出问题的可能性。想要提高可用性,**必须将发布的代价降低**。只有能够做到说我上线一个新功能,只给某几个用户用,其他的用户不受这个影响。这样才能提高你整个系统作为一个整体的可用性,

  Design for Clustering: 第三点是要**区分 Cluster management 和 App Managment 的概念, 把资源的调配和服务调配分开。**

  

 

  Design for Automation ,最后一点是**自动化**。一个靠谱的云服务,从设计之初就把人的因素排除在运行之外。整个系统应该是全自动化运行的,不需要你人来干预。云服务初期买了二三台个服务器,服务器放在那,有人天天盯着它才正常运行,这还有可能,上了规模之后显然是不可能的。这是最关键的一点。任何一个云服务到现在内部都是非常复杂的,他就像这个漫画里边这样,每一个人操作它的时候,面前有无数的按钮,无数的可能性。除了问题之后,如果让一个人马上搞清楚弄明白立刻解决,这是不可能的,只能自动化。

  而且其实更多的时候都是人的操作带来的问题,更新一个软件,更新一个服务器都不可避免的有人要参与。如果不做自动化,早晚会出问题。

  

 

  任何的靠谱的云服务厂商至少要做到以下几点:

  第一个SLA一定要达到4个9,你达不到这个4个9基本上相当于你这个服务就是一个玩具,根本没有办法依赖你。

  第二个是一个数量级,甚至两个数量级以上的预研。

  第三就是 Automation 自动化。这就是实践中的一个经验。

  可控性

  接下来我们看一下可控性。 一提 Access Control 最关键的一点是要 Defense in Depth。就好比你想一下从自己家到公司办公室要经过多少层门,每个门的存在就是一层防御,每个门有不同的开锁方式能挡住不同的人。

  云服务也是一样的,Access Control 做得越好,这个云服务越安全。首先从**最基础的 Physical Security 开始**。 有一句话说的好,任何软件上的花招都抵不过一个螺丝刀。评判一个云服务是否靠谱,先看他们是否做好了 Physical Security,如果没做, 这个服务就是瞎扯。

  如果一个云服务想过这个问题,说明他真正的认识到安全的重要性了。 什么机柜上锁,指纹识别,声纹识别,脸型识别,虹膜识别,姿态识别什么什么的,怎样也不嫌多。(笑)

  

 

  那么接下来, 我们看一下逻辑上的Access Control机制。

  第一点:秘密的管理。

  任何云服务都有一堆秘密,这个秘密可能是服务器Root密码,也可能是交换机的密码什么的,这些东西怎么去保管,怎么去分发,直接体现了一个云服务厂商的靠谱程度。

  任何一个云服务厂商正常运转不可能把秘密都寄托在单个人身上,也不可能让全公司人全都知道。 秘密管理怎么来做,这是一个很关键一点。Coding 使用的是 GPG Multi-recipent 加密,如果另外一个厂商能把这个事情跟你讲清楚,这个云服务才靠谱。

  第二点:审核记录.

  任何云服务要看他的靠谱程度, 就问他有没有, 如何实现的审核记录系统。 审核记录应该是独立于其他所有业务组件之外一个关键组件,他应该记录了你这个系统里面发生的所有的事情。

  第三点:运营系统的权限分级。

  任何一个云服务厂商都有这个运营后台,这个运营后台肯定做一个权限分析,哪些人可以看到统计分析,我们网站有多少新用户,趋势是什么样的。有些东西是敏感数据,除了我们运维有限几个人,没有人能够访问用户的数据,再细节的东西,都是**严格把控**的,公司大部分人都绝对没有任何的 Code Access。

  Access Control 做到这里就行了么?还差得远,想要做的好, 还有以下几点:

  第一点:Fine-grained/Rolebased Access Control.

  很多云服务,从外面看起来碉堡了,但是只要接入公司网络上就可以随便改数据库(笑)。

  如果一个公司认为他内网绝对安全,那么他的服务就是绝对不靠谱。Accesss Control 首先要做到角色为基础,**每个角色给固定的 ACCESS 权限**,第二点,必须**更细粒度**,具体到每一个 HTTP handler, 每一个 RPC 都要权限校验,否则就是正在瞎扯。

  第二点:Identity Delegation。

  大部分的云服务的设计都是一堆超级管理员进程,这些超级管理员进程可以改一切数据,做一切事。每个bug都会影响到整个服务的数据安全。 Identity Delegation就是改变了这个事情,在入口处(和用户直接接触处)发了一个令牌,**以后所有的操作都带着这个令牌去操作用户数据**,没有令牌就改不了。 这样大大降低了某个bug影响所有用户数据的可能性。

  第三点: Application Level Encryption

  其实大家都知道,加密很损耗性能,但是如果哪个云服务厂商没有做数据加密,就说明你对这个数据真的是关心不够,基本属于耍流氓。

  

 

  第四点:对应用层漏洞的关注度

  我在这里介绍一下,OWASP,是一个开源网站,里面有所有市面上一些常见的网络应用的安全漏洞列表,如何去处理,如何去防范它。这里列出了十大关键问题,如果你不知道这个列表, 那就说明你对安全的关注还不够,赶紧上这个网站去看看。Coding 跟乌云,FreeBuf 都有合作,体系化,系统化的去解决这个问题。如果哪个厂商不关注这个事情,这个云服务就是不合格的。

  灾难恢复

  最后讲一讲 Disaster Recovery

  一个云服务, 你问他你这个东西好用吗,好用,安全吗?安全。出问题怎么办,不知道,没人跟你说的明白。这是典型的不靠谱。

  0 - 15 min:

  如果一个云服务挂了,从故障开始到十五分钟结束还没有恢复,排除大型灾难的可能性 ,基本可以认为他们不靠谱。

  零到十五分钟这个时间,是一个很大的关键时间点,他基本上是人力的极限,从出问题收到自动化报警,然后赶紧电脑打开,连上VPN,发现问题,处理问题,做到最快15分钟基本上可以说是极限了。

  就算你的运维团队都是24小时不合眼电脑不离身,15分钟内恢复服务也需要两个关键点:**第一常驻,第二热备。**

  常驻热备灾难恢复系统,也就是说你必须有一套一模一样的系统随时跑着,生产系统挂了,自动切换到备用系统上。常驻热备,是**随时随地可以切换,随时随地可以开始服务,能完全接管不受影响。**

  你一台机器的电被拔了,硬盘挂了,宇宙射线击中了你的CPU,你也可以自动无缝切换。

  大家还记得前一段雷击、挖光缆的事情吗,很多人说被雷击了我就挂了这很正常。其实用户管你什么原因, 你挂了就是挂了,为什么没有常驻热备系统?为什么会挂?小服务更应该有这个能力,双系统跨云部署,有了这个才有能力做 Master Slave Automated Failover。靠谱的云服务厂商才会给你讲到这一点。

  15 min - 3 hour:

  这里的3个小时是个虚数,根据你的业务重要程度你可以自行定义。 3个小时是什么的意思呢,不管你什么样的问题,如果你三个小时之内修不好,你的网站就消失了。大家对你这个云服务的厂商的能力的信任程度就基本归0 了。 想想如果 Coding 突然挂了,突然不能访问了,再回来的时候基本就告别互联网了,对大家的打击、损失是无法承受的。

  十五分钟到三个小时,这是我们目前定的一个标准,不管什么灾难,三个小时之内如果恢复不了服务,说明我们工作做得不到位。达到这一点没有捷径,唯一的一点就是要有**应急备案,要随时演练**。

  我们随时假定一个场景,外星人入侵了,搞坏了XXX(笑), 你们给我模拟恢复一下 Coding 的系统。这是比较高级大的演练。平时也有小的演练,三五个人聚在一起。如果有一台机器重启不起来怎么办?所有的都是 Operational Readiness Drill 平时不断的练,不断的有准备。

  要做到这一点:Immutable Infrastruture。**可重现部署**。

  很多云,包括 Coding 以前也是这样,我开一个新机器以后,一些人装了一些软件。之后辞职了,突然有一天这个机器挂了就没招了。除了把这台机器修好了,什么也做不了。想要灾难恢复,你就要把这个东西做到可重现。**要清晰的知道这个机器上,装了什么东西,为什么装这个东西。**

  做不到这一点的云服务厂商,没有资格说我们是一个靠谱的云服务。

  最后再说一下**备份系统**。备份系统好像是个挺简单的东西,跑起来,平时也不怎么用管,然后他就解决问题了吗?!说的好像备份系统一定备份了你想要的数据, 就算他备份了全部数据,好象就是百分之百不会丢东西的一样。

  每一个备份系统都有一个叫 Durability 指标。也就是备份系统的靠谱程度。不管什么媒介,都有可能挂掉,写到硬盘上,硬盘可能坏,写到磁带上,磁带也会坏, 写到纸上,纸都可能烂掉。就算这些都不坏,你也可能宇宙射线来了,打了一下这个硬盘。硬盘受什么强磁场某一个位置就变了,你整个东西还是访问不了。这些东西不考虑,硬说一个备份系统百分之百可靠,这都是自欺欺人。

  Coding 原来也没有好的备份系统,我们最近在搞 AWS Glacier,它有一个大的磁带库,你把东西存进去的话,自动转存到磁盘、磁带上,定期维护。 AWS Glacier 有一个算法,每个硬盘大概多长时间坏一次,每个磁带多长时间坏一次。最后得出来他们的Durability 可以做到11个9。

  如果一个云厂商连这样一个系统都不舍得去关注的话,你对用户的数据太不在乎了。

  有了备份,最最重要的还是恢复。 如果一个备份系统不能随时演习细粒度的恢复,那他就是没用的,关键时刻他一定掉链子,想都不用想。

  最后的最后, 很多人说这么多云服务哪家靠谱,哪家安全。我觉得只能和大家共勉啦,Coding 做得还不够多,很多东西都是在探索中,希望跟大家一起多交流,把云服务搞得更靠谱。

  注:本文依据孙宇聪在 SegmentFault D-Day 北京场的演讲内容整理,并授权首发于“高效运维”公众号。10月11日,SegmentFault 将在上海举办D-Day,围绕 Docker 主题。

http://rj.kvov.com.cn/jzxx22622.html