开启WEBSERVICE的远程调试功能

在.NET 中已经默认将WEBSERVICE的远程调试功能关闭,有的时候我们需要远程调试程序的时候,就需要打开此功能我们只需在WEBSERVICE的项目的中 添web.config的配置节下面加一下一段配置就OK了,代码如下:

system.web>
        <compilation debug=”true” />
   <webServices>
         <protocols>
            <add name=”HttpSoap”/>
            <add name=”HttpPost”/>
            <add name=”HttpGet”/>
            <add name=”Documentation”/>
         </protocols>
      </webServices>
 </system.web>

关于【嘲笑别人】

今天看见一位网络名人,老婆很兴奋不是这位有多帅,是因为这人是一位网络上的“哥”!
老婆的兴奋我想起一句话“饮一啄,莫非前定”,这个为哥算是业障现前了,其实在这样情况下应真的发起慈悲心,嘲笑并不能给他带来什么好处,也许是给他消业了,但是你的行为会给其他人带来什么影响呢?其他人也一起去嘲笑或者讥笑。
其实我想说的就是“慈悲的对待别人吧”,用你的慈悲去影响你身边的其他人!
饮一啄,莫非前定”,因果循环,报应不爽呀!

保存一段DOTNET代码

一段DOTNET代码
String the_rar;
RegistryKey the_Reg;
Object the_Obj;
String the_Info;
ProcessStartInfo the_StartInfo;
Process the_Process;
try
{
the_Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRar.exe\Shell\Open\Command");
the_Obj = the_Reg.GetValue("");
the_rar = the_Obj.ToString();
the_Reg.Close();
the_rar = the_rar.Substring(1, the_rar.Length – 7);
int lastl = the_rar.LastIndexOf(“\\”);
the_rar = the_rar.Substring(0, lastl) + “\\rar.exe”;
//rar.exe x -o+ -x@exlist.txt rardoc 不提示覆盖解压缩 exclist.txt包含去除的文件,一行一个类型

if (!_exlistPath.Equals(""))
{
the_Info = " X -o+ -x@" + _exlistPath + " " + _zipFile + " " + " " + _tagPathFile;
}
the_Info = " X -o+ " + _zipFile + " " + " " + _tagPathFile;
the_StartInfo = new ProcessStartInfo();
the_StartInfo.FileName = the_rar;
the_StartInfo.Arguments = the_Info;
the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
the_Process = new Process();
the_Process.StartInfo = the_StartInfo;
return the_Process.Start();

 

快速跳转到Google SSL 中文版的网址:ggssl.com

Google 最近提供了 SSL(HTTPS) 搜索功能(https://www.google.com),可以保护用户的搜索关键字和搜索结果不被ISP等第三方机构拦截、窃取,不被墙连接重置。

  国内用户访问 https://www.google.com 默认情况下会跳转到谷歌香港 http://www.google.com.hk,解决方法为先点击“Google.com in English“访问 http://www.google.com/ncr (仅需要点击一次),该网址会种一个Cookie,防止跳转,再设置搜索语言为中文,再输入 https://www.google.com 即可,比较麻烦。

  本人将这一复杂的流程简化为一个域名:ggssl.com,只需要访问:http://ggssl.com,即可利用脚本快速跳转到 Google SSL 加密搜索中文版。第一次访问自动设置并跳转,以后访问立即自动跳转。

  Google SSL 搜索快速跳转域名:http://ggssl.com

转载:http://blog.s135.com/google_ssl/

[ZT]招不招新人?IT经理很纠结

基本上所有的IT部门主管都会遇到这样的问题吧,那就是要不要用新人,越是小公司这种问题越明显。为什么呢?因为大公司第一人才招聘比较容易,第二公司有统一的人力资源规划,中小公司就没有这么好彩了,压缩成本再压缩成本。中小公司一般喜欢招立即能用的人,工厂里叫熟手,大家都希望呼之即来,来之能战,战之能胜之人,有这样的人吗?当然有,这种人叫雇佣军团,IT界也有雇佣军团,他们就是外包公司,但问题是雇佣军团的成本高,可持续性不强,如果是作为一场战役,雇佣有时候是较合适的办法,但如果是一种战略,使用雇佣军就不行了。

  做企业当然不是一场战役,没有谁说我做企业就做一次,做做就算了,所以很多企业都在讲,我们要有自己的人才战略,我们要有自己的人才储备,人家葛大爷都说了,二十一世纪什么最重要——人才。没错,最重要的是人才,人才不是凭空生出来的,人才是千锤百炼炼出来的。质优股价高,潜力股要有耐心等,指不定没看准还成了垃圾股。人才和水相反,人往高处走,水向低出流,所以大公司招人是高朋满坐,挥汗如雨,小公司虽是求贤若渴,但总是门可罗雀。怎么办?人家牛根生有句经典明言,叫财聚人散,财散人聚,没有钱,你就招不到合适的人才,没有人才,你就赚不到钱。怎么办啊怎么办,两难,这是一个先有鸡还是先有蛋的问题,很纠结,有经验的人工资太高,有些人还嫌你工资少不愿意来,说你公司没发展。招新人吧,好不容易培养出来一个人,事没干啥光来事了,磕磕碰碰一两年,总算能干点事了,结果因为工资太低人家跳槽了。

  如果是你,你怎么办?用还是不用,既然两难,那我们就兼顾吧,兼顾到哪呢,兼顾到合理,什么是合理?没有一个公理,根据自己公司的实际情况判断。我比较倾向于在项目或者团队中启用新人,新人肯定是存在这样那样的问题,一般一个新人在前三个月到半年不仅不能干活,还得给配备一个老人去带,所以在项目中添加新人实际上不是增强了战斗力。问题是,如果你使用新人,你公司又不愿意花大价钱请有经验的人,甚至你愿意花钱人家都不愿意来,同样的工资人家肯定选择大公司,这是人之常情。

  使用新人其实最关键是两个问题,第一是怎么快速培养新人,能让他们迅速适应岗位,第二是如何留住他们,只要解决这两个问题,新人就可以放心大胆地用。培养新人得把他们放到实践的岗位中去,到实际的项目中去,一般来说,完整经历一个周期超过六个月项目的新人,基本可以使用了。但很多项目经理或者部门主管喜欢让新人做一些简单的活,比如说一些重复的劳动老鸟不愿意做的时候,这个时候就会找新人出马。但实际上这样做很不利于新人的成长,他们也觉得很郁闷,然后这个人在公司很久也得不到成长,从长远来说,这是又输的局面。很多人怕新人犯错导致项目出问题,实际上这个问题出在监管上,新人在项目中肯定会犯错,这个时候你需要让一个负责任的老人去带他,起到这个事前提醒事后控制的作用。使用新人肯定是要付出成本的,但是舍不得孩子套不住狼,舍不得老婆抓不住流氓。你又招不到熟手又不愿意启用新人,这样就形成一个恶性循环。

  实际上许多人的离开,并非因为工资的原因,工资确实会导致一个人的离开,但很多时候不是主要原因,特别是对于一个踏入职场三年以内的人来说。他们最需要的是成长和受关注,如果他没有在公司得到成本,而工资又不高,他自然会选择离开。这个时候,我们应该在部门定期组织培训,让部门的学习环境活跃起来,形成一个部门亚文化。其实老鸟是不太愿意学习的,所以我们需要让部门中有新人去带动老人,然后让老员工一方面可以通过培训新员工实现自己的价值,增加他的自豪感,另一方面,也可以通过这种学习交流的过程中,加强团队的凝聚力和向心力。团队建设不是靠谈几话,吃几顿饭就可以的,应该是一起学习一起战斗,这样的团队大家才会有感情。只有一有感情,这事就难办了,没准你赶他走他还不走呢。

  一般来说,在项目或者团队中,可以以2:5的方式配置新人,也就是2个新人配置5个老员工,由一个人专门负责带两个新员工,当然也得根据项目的紧急程度来合理配置新人。

  来源:来自涂雅投稿,原文网址,转载请保留此链接,否则视为侵权。

基本上所有的IT部门主管都会遇到这样的问题吧,那就是要不要用新人,越是小公司这种问题越明显。为什么呢?因为大公司第一人才招聘比较容易,第二公司有统一的人力资源规划,中小公司就没有这么好彩了,压缩成本再压缩成本。中小公司一般喜欢招立即能用的人,工厂里叫熟手,大家都希望呼之即来,来之能战,战之能胜之人,有这样的人吗?当然有,这种人叫雇佣军团,IT界也有雇佣军团,他们就是外包公司,但问题是雇佣军团的成本高,可持续性不强,如果是作为一场战役,雇佣有时候是较合适的办法,但如果是一种战略,使用雇佣军就不行了。

  做企业当然不是一场战役,没有谁说我做企业就做一次,做做就算了,所以很多企业都在讲,我们要有自己的人才战略,我们要有自己的人才储备,人家葛大爷都说了,二十一世纪什么最重要——人才。没错,最重要的是人才,人才不是凭空生出来的,人才是千锤百炼炼出来的。质优股价高,潜力股要有耐心等,指不定没看准还成了垃圾股。人才和水相反,人往高处走,水向低出流,所以大公司招人是高朋满坐,挥汗如雨,小公司虽是求贤若渴,但总是门可罗雀。怎么办?人家牛根生有句经典明言,叫财聚人散,财散人聚,没有钱,你就招不到合适的人才,没有人才,你就赚不到钱。怎么办啊怎么办,两难,这是一个先有鸡还是先有蛋的问题,很纠结,有经验的人工资太高,有些人还嫌你工资少不愿意来,说你公司没发展。招新人吧,好不容易培养出来一个人,事没干啥光来事了,磕磕碰碰一两年,总算能干点事了,结果因为工资太低人家跳槽了。

  如果是你,你怎么办?用还是不用,既然两难,那我们就兼顾吧,兼顾到哪呢,兼顾到合理,什么是合理?没有一个公理,根据自己公司的实际情况判断。我比较倾向于在项目或者团队中启用新人,新人肯定是存在这样那样的问题,一般一个新人在前三个月到半年不仅不能干活,还得给配备一个老人去带,所以在项目中添加新人实际上不是增强了战斗力。问题是,如果你使用新人,你公司又不愿意花大价钱请有经验的人,甚至你愿意花钱人家都不愿意来,同样的工资人家肯定选择大公司,这是人之常情。

  使用新人其实最关键是两个问题,第一是怎么快速培养新人,能让他们迅速适应岗位,第二是如何留住他们,只要解决这两个问题,新人就可以放心大胆地用。培养新人得把他们放到实践的岗位中去,到实际的项目中去,一般来说,完整经历一个周期超过六个月项目的新人,基本可以使用了。但很多项目经理或者部门主管喜欢让新人做一些简单的活,比如说一些重复的劳动老鸟不愿意做的时候,这个时候就会找新人出马。但实际上这样做很不利于新人的成长,他们也觉得很郁闷,然后这个人在公司很久也得不到成长,从长远来说,这是又输的局面。很多人怕新人犯错导致项目出问题,实际上这个问题出在监管上,新人在项目中肯定会犯错,这个时候你需要让一个负责任的老人去带他,起到这个事前提醒事后控制的作用。使用新人肯定是要付出成本的,但是舍不得孩子套不住狼,舍不得老婆抓不住流氓。你又招不到熟手又不愿意启用新人,这样就形成一个恶性循环。

  实际上许多人的离开,并非因为工资的原因,工资确实会导致一个人的离开,但很多时候不是主要原因,特别是对于一个踏入职场三年以内的人来说。他们最需要的是成长和受关注,如果他没有在公司得到成本,而工资又不高,他自然会选择离开。这个时候,我们应该在部门定期组织培训,让部门的学习环境活跃起来,形成一个部门亚文化。其实老鸟是不太愿意学习的,所以我们需要让部门中有新人去带动老人,然后让老员工一方面可以通过培训新员工实现自己的价值,增加他的自豪感,另一方面,也可以通过这种学习交流的过程中,加强团队的凝聚力和向心力。团队建设不是靠谈几话,吃几顿饭就可以的,应该是一起学习一起战斗,这样的团队大家才会有感情。只有一有感情,这事就难办了,没准你赶他走他还不走呢。

  一般来说,在项目或者团队中,可以以2:5的方式配置新人,也就是2个新人配置5个老员工,由一个人专门负责带两个新员工,当然也得根据项目的紧急程度来合理配置新人。

  来源:来自涂雅投稿,原文网址,转载请保留此链接,否则视为侵权。

怎样才是真正的架构师

西门子中国中央研究院首席架构师、图书《架构之美——软件架构的艺术》作者李伟,从架构师的定义和内涵、能力和素质要求、成长途径等方面向您阐述成为一个真正的架构师需要经历的历程。

记者: 您认为具备哪些能力,才算是真正的架构师?

李伟:虽然业界有关什么是“软件架构”有着明确的定义及共识,但是确实没有软件架构师的定义。简单地讲,架构师是一个技术控制的角色。技术控制是从客户或市场开始,一直到交付或服务的整个链条。如果大家对一个应用研发机构或产品研制机构的主要活动熟悉的话,就知道该链条上存在很多需要架构师负责的控制点。以西门子为例,西门子的战略市场部门就会和业务部门的很多架构师进行协作。这主要是由于战略市场部门的职能之一就是对未来十到十五年的技术和创新进行预判。这样的技术预判,如果没有架构师作为技术控制,单凭MBA出身的市场人员,大家能相信这样的技术预判吗?所以架构师需要具备一定程度的技术及创新预判能力。

从一个架构师的日常工作来看,他面对的基本上有七大问题:商业问题、系统问题、子系统问题、构件问题、技术问题、流程问题、项目管理问题。其中,前五项是一个架构师主要负责解决的。这里我尝试提几个问题,让大家检验一下自己是否具备解决这些问题的能力。

如果进行企业应用开发,你知道经典的商业运营手段一般有哪些吗?例如:公司中一般有哪些典型的职能机构?最经典的公司财务部运作是什么样的?最经典的公司纯研究机构的运作是什么样的?或者,最经典的公司纯销售机构是怎样运作的?

如果你负责一个实时系统的架构,经典的架构构建步骤有几步?一个医学CT机系统应该用什么架构风格来构建?军用舰艇上的3C系统又应该使用什么架构风格?除了我们都熟悉的MVC风格的架构,你还知道哪些架构风格?再具体一些,对于系统的并发问题,你知道业界流行的经典解决手段包括哪些?

如果你负责子系统及构件设计,经典的设计步骤有几步?分别又有哪些活动?除了你熟悉的Gang of Four的23个设计模式,你还知道什么设计实践?再具体一些,设计中有关同步、事件、资源管理等,你知道哪些前人的最佳实践呢?

实践工作中,我们遇到的现实是:盲目追随业界通用框架,即对框架或中间件的严重依赖。这些框架或中间件背后实际隐藏了很多技术、设计、应用场景,也就是说为设计开发人员隐藏了很多系统设计开发的复杂性。如果架构师把各项系统级架构质量的要求,想当然统统扔给这些框架或中间件去处理,将会带来灾难性的后果。业界有这样一句话:“框架或中间件是用来帮助你的,而不是代替你去思考和工作的。”所以我们必须根据现实的系统要求,自己动脑筋去构建适合现状的软件架构!

简而言之,架构师需要具备的能力=熟知最佳实践+动脑灵活使用+技术及创新预判。

记者: 在中国,一个程序员如何才能成长为一个职业架构师?

李伟:曾经无意间读过一篇纪事报告《最后的大师》。此文作者是应钱学森先生的邀请,来记录自己的导师,清华大学物理系及清华大学创始人之一的叶企孙先生。叶先生早年在美国留学期间,在物理方面做出过杰出的贡献。虽然大多数后人并不知道叶先生,但是他的学生没有一个会忘记他,其中包括三钱、华罗庚、李政道、杨振宁等等。可以这样说,你所知道的中国大师,大多都是他的学生。阅读完此文,颇受启发:真可谓“大师培养大师”。我非常欣赏这句话。

如果身边有大师,自然是从程序员成长为架构师的捷径了。我身边没有大师,便选择这样的道路:认真反思自己这些年来的学习和实践,并将其上升为智慧。毕竟,智慧既是指导我继续工作的原始动力,也将指导自己未来的创新工作。因此,我选择了阅读、学习和思考。

记者: 您认为在中国的软件企业中,大家在普遍认识中对架构师这一职业有哪些误区?

李伟:误区一,架构师与项目经理没有区别。大家经常在谈论架构师时,混淆了项目经理的职责和架构师的职能。项目经理要对人、流程、钱等内容负责。但是架构师主要是对技术负责。所以我个人不是很喜欢在谈论系统架构时,过多的谈论流程或管理。虽然我也是流程方面和管理方面的专家。

误区二,技术好的人就能成为架构师。其实,职业架构师与职业编程人员有着同样重要的分量,只不过各自负责的工作内容及需要具备的能力各不相同。例如:架构师熟知如何将系统架构构建得适应系统后续国际化/本地化的工作;但是并不一定必须知道界面热键在.NET下调用什么来实现。

误区三,架构师必须懂得业务领域的知识。从本质上来看,软件架构本身就是在模仿人类大脑的问题思考和解决习惯。自然,专业架构师所掌握的知识就是解决那些反复出现的相似问题的最佳手段。所以,业界都知道这样一个著名的故事:一个非航天专业的软件架构人员,可以被美国国家航天局请去做航天系统的架构评审。这一点儿都不奇怪,因为他知道解决系统并发问题时,当今最经典的那么几种手段,你能说航天系统的并发问题与企业应用并发问题本质上不一样吗?由于当前国内软件研发的各种局限,很多软件从业人员的认知还停留在“懂业务+技术好”就是架构师这样的层面上。其实,懂得经典的解决方法,并能从实践中抽象出理论或最佳实践的人,才是架构人员的专业水平。

记者: 在《架构之美——软件架构的艺术》一书中,您认为最创新的理念有哪些?

李伟:一个架构从创建、进化、老化到消亡的整个过程,是此书的核心。如同宇宙万物,架构也存在一个生命周期的概念。即“架构生命周期(Architecture Lifecycle)”。

怎样才是一个真正意义上的软件架构师?

当面临构建一个软件架构时,应该采用怎样的流程去工作呢?

怎么做才能构建出满意的高品质架构及设计呢?

当我们阶段性地完成了架构的构建,如何去评估结果呢?

软件产品在演化,软件架构也会跟随演化,如何应对这种变化?

十年前开发的产品,架构文档残缺不全,设计人员已经离职,怎么把产品的架构从纷繁复杂的头绪中清理出来呢?

如果我们要研发十几个功能相似的产品,该如何高效地工作呢?

上述这些理念,基本上是一个职业架构人员所需具备的专业素养。奉献给大家,以供参考。

(本文来自《程序员》10年05期,更多精彩内容敬请关注10年05期杂志)

大型高性能网站的十项规则

作者:Steve Mushero  译者:侯伯薇

总结了国内网络和游戏公司运行后端服务器过程中所得到的实践经验和教训。这些规则适用于日访问量从一万到上百万的大型系统。

在我们公司ChinaNetCloud,见过多种不同类型的网站和系统,有好也有差。其中有些系统拥有良好的服务器/网络架构,并且进行了合理的调整和监控 ;然而一般的系统都会有安全和性能上的问题,不能良好运行,也无法变得更流行。

在中国,开源的LAMP栈是最流行的网络架构,它使用PHP开发,运行在Apache服务器上,以MySQL作为数据库,所有这些都运行在Linux上。它是个可靠的平台,运行良好,是现在全球最流行的Internet系统架构。然而,我们很难对其规模进行正确的扩展并保持安全性,因为每个应用层都有其自身的问题、缺陷和最佳实践。我们的工作就是帮助企业用最低的操作成本来创建并运行高性能的、可伸缩的、安全的系统,因此对于这类问题我们有很丰富的经验。

当前的实际情况是,很多网站都是由开发人员快速而廉价地创建,通常没有任何IT人员或者经理,只是由程序员来管理系统。造成的结果是,虽然花费很低的成本网站就可以开始运行,但是当拥有大量用户、需要扩展规模的时候,通常就会面临真正的问题。毕竟,中国拥有三亿八千万的Internet用户,如果其中的0.01%访问这个站点,就很容易引发25万~50万的页面访问量。这些问题在各个级别上都会产生,下面总结的规则是对最一般的问题进行概述,并且说明为什么这些规则如此重要,以及最好采用什么方法来修正它们。遵循这些建议的站点会提高它的可伸缩性、安全性以及操作上的稳定性。

使用合适的会话管理

第一个想到的扩展系统的方法就是添加更多硬件。例如,使用两台服务器而不是一台。这听着合理,但会产生潜在问题:会话管理。这对Java程序来说是很严重的问题,在PHP中也会产生可延展性问题,对于数据库的负载尤其如此。

会话被定义为单独的最终用户登录或者连接一段时间,其中通常会包含多个TCP/IP的HTTP连接、几个Web页面,通常还包括几十个甚至上百个页面元素,如框架、菜单、Ajax更新等。所有这些HTTP请求都需要知道用户是谁,才能满足安全的要求,并向用户传送适当的内容,因为这些都是会话的组成部分。通常每个会话都会包括相互关联的会话数据,如用户名、用户ID、历史、购物车、统计资料等等信息。

问题在于,在有两台Web服务器和多个HTTP连接的情况下,用户流量会在两台服务器之间分配和移动,服务器很难知道用户是谁,并对所有数据进行跟踪,因为每个页面或者页面的组成部分都可能来自不同的服务器。在PHP中,通常是这样解决的,在第一次连接或登录的时候就创建一个会话ID并将其放在Cookie中,然后这个Cookie会和每个HTTP请求一起发送。

这样做带来一个问题,接下来每段PHP脚本都需要基于ID来查找会话数据。由于PHP无法在执行过程之间保持状态(这与Java不同),这个会话数据需要存储在某个地方,通常是在数据库中。但是,如果复杂的页面需要在每个页面载入过程中对其进行十次查找(这是经常要做的),那就意味着每个页面都要执行10次SQL查询,这会导致数据库上很大的负载。

在前面所举的中国Internet用户0.01%的例子中,可能很容易在每秒内仅仅为了管理会话就生成上百个查询。解决方法是一直使用位于Cookie中的会话ID,并且使用像Memcached之类的服务来缓存会话数据以获得高性能。

还要注意其中存在安全性的问题,因为黑客可以伪造另一个用户的会话ID,这是很容易找到或看到的,特别是在公用的Wi-Fi中。解决方法是对会话ID进行恰当的加密或者签名,并将其与时间区间、IP地址以及其他关键信息 像浏览器或者其他细节相绑定。在Internet上有很多不错的关于良好的会话管理的例子,你可以根据需要找到最适合的。

总是要考虑安全性

尽管编写像防止SQL注入和登录安全之类的代码涉及很多安全问题,但不幸的是,几乎没有人考虑过安全性,而那些考虑到的人也没有对其进行很好地理解。而本文要关注的是操作性的系统安全。对于这类安全,我们的焦点集中在三个安全领域:防火墙、运行的用户以及文件访问权限。

除了配置专门的硬件防火墙(像Cisco的ASA)之外,所有服务器都还应该运行像Iptables之类的防火墙,它会保护服务器免受其他威胁和攻击。这些威胁和攻击可能来自公共的Internet、其他服务器或本地服务器,也包括使用VPN或者SSH通道的开发和操作人员。我们仅对指定的IP开放确实需要的端口。Iptables可能会很复杂,但是有很多不错的模板,我们通常可以使用它们来帮助客户创建Iptables。例如,默认的RedHat或者CentOS防火墙的配置说明只有10行,显然并不实用。我们最佳实践的Iptables配置大概有5页,这其中包含了Linux所能提供的最高级的安全防范。

所有公用的服务,都应该运行在专门的用户下,如Apache。切记永远都不要使用Root用户运行,因为这会让任何闯入到Apache的用户接管整个服务器。如果Apache只是运行在Apache用户下或者运行在Nobody下,那么闯入Apache就不是一件容易的事情了。

Web服务器运行或者服务的文件(像.php和.html文件)对于Web服务器的用户应该是不可写的。这意味着Apache或者Nginx用户不应该拥有Web目录的写权限。有很多方法都可以做到这一点,而最简单的就是将这些文件为其他用户所有,然后让Apache/Nginx等用户归属于能够使用640权限读取文件的组中。这会防范几乎所有的黑客和针对页面的攻击。

此外,永远不要使用Ftp来上传文件,特别是在公用的Wi-Fi环境中,因为在其中黑客很容易盗取用户名和密码。取而代之的是使用Sftp会更加安全。另外,每个雇员都应该拥有自己的用户ID和随机密码。

使用标准的路径和安装配置

一个令人讨厌的部署问题是,开发者很少考虑他们的软件会被部署到生产Web服务器的什么位置,以及如何部署。我们看到过许多大型的系统将它们的PHP代码部署在/home/xiaofeng或者/web/code路径下。事实上,这两个路径都是非常不标准的,并且会带来操作和安全性的问题。当这些系统从开发环境转移到测试环境再到生产环境中时,因为每个安装配置都是非标准的,所以经常会出现问题,这时就需要开发者调整才能够正常工作。

你应该总是使用标准的安装包和二进制文件来安装像Apache之类的服务器。不要从源代码编译或者安装Tarball,因为这会导致长期稳定性和管理上的问题,另外在服务器上安装多个不同的版本也会造成混淆。

Web 站点应该总是在指定的平台和Linux发布的标准路径下进行测试和部署 ,像 RedHat 或者CentOS下的/var/www/html路径。这有助于对系统进行有效的权限管理、备份、配置、监控以及其他操作。

Web服务器的日志应该存放在/var/logs或者/var/logs/app_name下,而不应该位于主代码区域。这样做的原因不仅仅是因为这些标准的路径很重要,更应该关注的是,恰当地配置服务器会将/var配置为分离的文件系统。如果应用程序突然写入了大量日志并占用所有磁盘空间,由于我们做了以上的配置就不会导致系统崩溃,或者其他严重的问题。如果日志位于其他位置,就可能会产生问题。

总是使用日志

在Web系统中做多少日志都不为过。所有系统都应该将重要的数据写入到日志中,不管是它们自己的日志还是系统的Syslog。Cron的Job以及其他Shell脚本或者C语言的程序,对日志都有相应标准以及简单的函数。在Shell脚本中,只需要使用 Logger命令就可以实现日志的写入。在脚本启动/停止、重要的脚本执行以及实时数据产生的情况下都要执行写入日志操作。这样出现问题的时候,查看主要的系统日志就可以很容易地看到发生了什么。

大型系统经常会使用专门的工具如Local5来记录日志,并配置Syslog或者Syslog-ng来将其存放在单独的文件中,这样会更容易使用。需要注意的是,Syslog工具和Logger(以及任何Syslog调用)默认优先使用user.notice,如有必要,你可以对其进行调整。

一个好的系统会对程序进行配置,用来打开或者关闭日志,并可以选择在每模块或者功能的级别上应用不同级别的日志。这使得我们可以记录非常详细和强大的日志,用来分析和调试在生产操作中所发生的问题。

大型网站的十项规则 大型高性能网站的十项规则 

使用良好的数据库设计和SQL

在任何系统中,数据库通常是最大的性能瓶颈。而影响数据库性能的最大两个问题是数据库设计和SQL代码质量。很多系统都拥有良好的或者至少是可用的数据库设计,但由于没有经过适当的性能测试,SQL代码质量通常都会很差。这样的SQL代码在开发环境中可能运行很快,因为其中只有小数据集和最小的负载。但是当成千上万的用户同时读取数据库中上百万条记录的时候,它就很可能会崩溃。

不幸的是,这些问题一开始并不明显,直到系统增大、突然开始崩溃的时候才会显现出来。在增大的过程中,数据库系统看起来运行得很快(因为数据都位于内存中,而且很少有并发的查询),并且对用户的响应也很快,但实际上它的内部运行效率很低。这并不重要,我们关注的是在系统增大并遇到性能问题之前找到这些问题并加以解决。

关于这个问题有很多不错的书和站点进行了解析,其中的关键工具包括慢查询日志、INNODB状态系统,以及描述当前性能的MySQL统计信息。我们见到过很多系统每秒会读取500,000条数据,这是出现SQL问题的明显预兆,但公司往往对其一无所知直到服务器开始崩溃。

MySQL系统应该对所有数据使用INNODB存储引擎,因为INNODB与之前的MyISAM相比,运行得更快、更稳定,并且管理性能和备份工作也更加容易和快捷。在主配置文件中,INNODB应该被设置为默认的数据库引擎,并且系统应该不时地进行检查,看是否意外创建了MyISAM的表。

总要拥有良好的DB配置和备份

很多公司都没有良好的备份机制,也不知道如何恰当地完成这项工作。MySQL的Dump是不够的,因为最好的备份方法是使用LVM快照和INNODB对系统进行热备份,从而得到超快的速度和超高的可靠性。

另外,在将所有备份文件从服务器上转移出来之前要进行压缩和加密。另外还要确保拥有设计合理的MySQL配置。MySQL默认安装使用说明中只有5~10行关于配置的说明,这根本不适合开发使用。而我们提供给客户的最佳实践文档足足有10页那么长。文档中大约有100种有用的关于安全、性能和稳定性问题的设定,包括防止数据败坏,其中很多设定都是非常重要的。

使用读/写数据库分离

随着系统变得越来越庞大,特别是当它们拥有很差的SQL时,一台数据库服务器通常不足以处理负载。但是多个数据库意味着重复,除非你对数据进行了分离。更一般地,这意味着建立主/从副本系统,其中程序会对主库编写所有的Update、Insert和Delete变更语句,而所有Select的数据都读取自从数据库(或者多个从数据库)。

尽管概念上很简单,但是想要合理、精确地实现并不容易,这可能需要大量的代码工作。因此,即便在开始时使用同一台数据库服务器,也要尽早计划在PHP中使用分离的DB连接来进行读写操作。如果正确地完成该项工作,那么系统就可以扩展到2台、3台甚至12台服务器,并具备高可用性和稳定性。

使用类似Memcached之类的数据库缓存

即便有了好的数据库设计、SQL和读写分离,大型的系统仍然需要更快的性能,特别是对会话状态、好友列表以及BBS文字之类的东西。为了达到这个目的,我们可以使用像MemCached之类的数据缓存,它是一个高性能的简单数据缓存,已经被所有最大型的站点使用。但是要小心的是,不要100%依赖于一台Memcache服务器来提高性能,因为如果那台服务器崩溃了,就会破坏整个系统的性能。在这种情况下,应该使用2~3台Memcache服务器形成簇集架构,并且有选择地包含一个缓存准备过程,如果缓存服务器重启,需要重新载入数据,它能够快速地载入缓存。

构建测试和开发环境

很多公司只有开发者的桌面系统和他们的生产服务器。当系统变得越来越大、越来越复杂时,测试和管理代码就会导致严重的问题。最佳的实践是拥有两个测试系统,一个用于开发者的代码和功能的整合测试,另一个要与生产环境完全一致,从而更容易向生产环境平滑地过渡。幸运的是,现在使用云计算(或者私有云)可以轻松达到这一点。一个5~10台服务器的生产环境,可以很容易地在办公室或者IDC中使用一台服务器来复制,从而用于测试,而这台服务器我们可以用于多个客户的项目。

使用版本控制

最后,要对一切使用版本控制,包括测试和生产环境的部署。很多开发者都使用SVN或者类似的方法。在理想状态下,这些方法可以被用于所有代码、脚本、HTML、图片、配置、文档和测试。版本控制应该是代码转移到测试环境的必经之路,而不是简单地复制或者使用tar文件,因为这二者都是不可靠的。开发者应该将所有一切都签入,打上标签,然后将它们签出到测试系统。如果所有都没问题,那么它们会将该版本签出到生产环境。

总结

不管是在开发还是在运营过程中,创建可靠的高性能Web系统都有很多应该注意的事项。本文试图从可操作性和可靠性的角度讨论最重要的几点。当你构建和管理站点的时候,请不要忘了这些重要的问题。遵循这些规则会有助于确保系统长久、良好地运行。

作者简介:

Steve Mushero,ChinaNetCloud公司联合创始人、CEO兼CTO,拥有全球20多年的技术管理经验。曾担任土豆网、Intermind和Advanced Management Systems等多家企业CTO

译者简介:

侯伯薇,生于凤城,学在春城,做过国内和对日项目,现在大连某保险公司工作。乐于钻研技术,同时注重业务知识,勤于思考,愿意与人交流和分享。

(本文来自《程序员》杂志2010年4月刊)

感觉不错的SaaS“百会”

朋友推荐看的东西!百会看样子真的不错!抽时间看看!
先在这里记录一下!

SaaS带给IT渠道商的机遇与挑战

随着近年来不断降低的网络费用、持续增加的带宽以及越来越安全的因特网交易,SaaS(软件作为服务)模式的发展前途更加明朗。市场上接连不断地出现了新的基于Web的产品或服务,许多知名IT企业都纷纷介入SaaS阵营。目前SaaS参与者主要有以下几类:独立的软件公司,如PeopleSoft、Great Plains、Oracle等;平台供应商,如Sun和微软;硬件供应商,如戴尔和惠普;ISP等其他网络供应商,如AT&T、Qwest和Concentric,还有国内电信、网通等。

  面对流金淌银的SaaS市场,广大中小IT渠道商怎能置身事外?而一旦介入,传统渠道商的角色又将因SaaS而发生怎样的变化?IT渠道商如何参与其中,建立自己专业服务模式与体系,从中分得一份羹?

  租用模式是全新商机

  某省电信商务领航SaaS协同OA项目曾制定了这样一个招商创富计划:某IT经销商发展一个客户(应用单位),可获得该客户使用费30%的长期分成,例如:该经销商发展了一家30用户数的企业客户,此家客户每月向电信支付的使用费为:30用户×35元/用户/月=1050元/月,该经销商每个月的分成金额为:1050×30%=315元,该经销商每年的分成总收入为:315元×12=0.378万。如果该经销商该年度总共发展了100家企业客户,那么该经销商每年的分成总收入就为37.8万元。如果这100家企业连续使用SaaS上的OA业务10年,那么其10年总收入是378万元。最为可观的是,这些收入是“一劳永逸”,用不着经销商去进行软件购置、维护、升级工作,所有这些大部分工作全由软件商、运营商去包揽,经销商只须把客户领进门就行了。

  IT厂商核心经济效益比不是靠日复一日年复一年去不断开发一个个新用户、新客户,而是不断开发、利用、维护同样一个客户最大的剩余价值,而这个客户最大的剩余价值就体现在其长期不间断、不断升级的IT服务要求。而汇集各种软件技术、网上支撑各种IT服务的SaaS平台就是渠道商大显身手、获取不间断的利益的一个源泉。

  SaaS软件租用模式会使得渠道商和各种软件开发商、供应商、平台商结合得更加紧密,并对传统的渠道模式发起强力冲击,传统IT渠道商将会从软件分销转向服务分销和服务提供,IT应用服务商将有可能逐步取代传统产品经销商和系统集成商,引起IT产业未来发展模式革命性变化。

  今后单纯依靠销售IT产品所获利润空间将越来越小,应用服务收入必将超过单纯的产品销售收入。传统IT渠道商应把眼光放在强化自己的服务能力和健全自己的服务体系上来,让服务成为企业主要利润的来源与竞争力,同时树立全新的服务品牌,向增值经销商和服务提供商转型,通过租用模式提高自竞争能力及赢利能力。

  问题与挑战

  尽管SaaS展现出它的良好前景,广阔的商机,然而目前国内SaaS市场发展还相对滞后,对IT渠道商而言,尚存在一些问题与挑战。

  其一,目前国内SaaS市场面临软件应用服务的四大软肋——安全性、可控性、个性化和稳定性——软件托管,可能存在着信息外泄和数据安全的风险;依赖太强,企业担忧将来可能存在失去对IT系统的控制而受制于人的可能;如何解决标准化与客户业务个性化多样化的矛盾;如果网络运营出问题,用户企业不间断关键业务该如何进行和索赔。能否克服这些问题,决定了SaaS能走多远,也决定了SaaS渠道商未来的成长空间。

  因此,对于传统软件开发商、运营商乃至渠道商来说,SaaS在国内时下尚没有大规模流行的土壤,并不具备很强的生命力,充满风险和挑战,需要SaaS渠道商注意把控。这是其一。

  其二,对渠道服务商而言,SaaS分期收款模式、资金回笼相对缓慢是一个重要挑战。SaaS不是一种标准化产品软件,而是厂商交付服务方式的一种改变,它一般是按季、年,甚至按月来收取服务费,比客户一次性购买软件产品支付货款要慢,这与以往渠道商大量赚取价格差、返点、马上兑现的传统收款模式相比,吸引力小,呆坏账风险也增加。这是资金规模较小、又有些急功近利的渠道商所不愿乐见的。因此渠道商首要之务,就是要大规模拓展用户群,让用户群达到一定规模来分摊成本增加利润。

  其三,在国内时下尚没有大规模流行的土壤,缺乏有能力整合各种软件资源的IT厂商,硬件商还不积极,中国SaaS最大的运营商电信、网通投入还不大。这对广大有志于SaaS的中小渠道商而言,利弊相生,利好是电信、网通尚未大规模参与,给广大中小渠道商留下市场空间,弊之处是如果电信、网通完全投入,可能形成SaaS市场的大规模垄断,留给中小渠道商的市场空间与利润将越来越小,难于作为。

  其四,SaaS市场缺少有特色的服务提供商,IT渠道商专业化不强,行业化深度也不够,影响SaaS进一步推广应用。要真正实现SaaS在中小企业市场的深入应用和普及,渠道商专业化、行业细分化是其未来发展的必然方向。因为每个应用管理软件产品有非常强烈的个性,每一家企业也都有着自己的独特的管理要求,那么以租用企业应用软件为主要业务的SaaS渠道商,也必须要具备一定的行业背景、相当的专长,才能为企业提供适用的解决方案。因此渠道商要从行业入手,总结行业管理的特色,深入行业的典型企业,总结行业共性,形成行业性的专业SaaS平台,做专做深做强,全面提升渠道商的增值能力。如果专注于特定垂直行业或细分市场,那么渠道商对该领域的精深知识和技能是别人无法替代的,因而能够建立持续庞大的客户关系与收入链。

  目前,不少IT大公司都提出了把依靠产品发展转化为依靠服务发展的“软件即服务”的战略,“服务成为企业主要利润的来源与竞争力”已成为企业转型期的经营目标。那么,作为IT渠道商,也应把服务作为企业主要利润的来源与竞争力,把从依靠销售产品转化为依靠服务发展。但是,传统渠道商还要正视自身的传统价值和优势,不一定一窝蜂都要向SaaS转型,放弃传统擅长业务。重要的是,积极探索依托互联网的新型经销模式和服务模式,丰富、增强自己作为一个增值经销商或服务供应商的提供解决方案能力。

SAAS百科名片

 

saas百科名片
SaaS(Software-as-a-service)的意思是软件即服务,SaaS的中文名称为软营或软件运营。SaaS是基于互联网提供软件服务的软件应用模式。作为一种在21世纪开始兴起的创新的软件应用模式,SaaS是软件科技发展的最新趋势。
目录

基本简介
历史
传统许可模式的区别
客户价值
服务优势
企业与SaaS1、企业如何选择和应用SaaS
2、如何解决数据在SaaS模式下的安全问题
SaaS在中国1、中国SaaS的发展现状
2、国内SaaS厂商已启航
3、中国SaaS的未来展望
新的挑战
SaaS的优缺点优点:
缺点:
基本简介
历史
传统许可模式的区别
客户价值
服务优势
企业与SaaS 1、企业如何选择和应用SaaS
2、如何解决数据在SaaS模式下的安全问题
SaaS在中国 1、中国SaaS的发展现状
2、国内SaaS厂商已启航
3、中国SaaS的未来展望
新的挑战
SaaS的优缺点 优点:
缺点:
 

基本简介
  SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。就像打开自来水龙头就能用水一样,企业根据实际需要,从SaaS提供商租赁软件服务。
  SaaS 是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入。 SaaS 应用软件的价格通常为“全包”费用,囊括了通常的应用软件许可证费、软件维护费以及技术支持费,将其统一为每个用户的月度租用费。
  对于广大中小型企业来说,SaaS是采用先进技术实施信息化的最好途径。但SaaS绝不仅仅适用于中小型企业,所有规模的企业都可以从SaaS中获利。
  2008 年前,IDC 将SaaS 分为两大组成类别:托管应用管理 (hosted AM) - 以前称作应用服务提供 (ASP),以及“按需定制软件”,即 SaaS 的同义词。从 2009 年起,托管应用管理已作为 IDC 应用外包计划的一部分,而按需定制软件以及 SaaS 被视为相同的交付模式对待。
  目前,SaaS已成为软件产业的一个重要力量。只要SaaS的品质和可信度能继续得到证实,它的魅力就不会消退。
历史
  最早的ASP厂商是Salesforce.com和Netsuite,其后还有一批跟随企业,这些厂商创业时都专注于客户关系管理(CRM)的在线化,但是ASP厂商很快遭遇互联网泡沫破裂,风险资本撤离互联网企业,大批ASP厂商破产。其实ASP的批量破产也不仅仅是风险资本的撤离,其实 ASP本身技术并不成熟,ASP CRM还都缺少定制功能、集成功能,而且网速在2000年前后也的确比较慢,因此ASP CRM只不过是CRM低价、低质的替代品。2003 年以Salesforce为首,残留下来的ASP企业开始喊出SaaS口号。公平的说,SaaS和ASP的差异一直就比较模糊,它们的区别有各种各样的说法,但现在提ASP概念的厂商已经不多了,似乎这些厂商都希望将未来的SaaS与过去失败的ASP做以切割,当然,现在还有ASP概念的厂商,提供的在线系统与SaaS并无本质差异。其实概念到还是次要的,最主要的是在线软件模式的技术已经变得成熟。
  2003年后,随着美国Salesforce、WebEx Communication、Digital Insight等企业SaaS模式的成功,国内厂商也开始了追赶模仿之路。包括用友、金算盘、金碟、阿里巴巴、OLERP、Xtools、八百客、美髯公等,Microsoft、Google、IBM、Oracle等IT界巨头们也都已悄然抢滩中国SaaS市场。同时,SaaS正在深入的细化和发展,除了CRM之外,ERP、eHR、SCM等系统也都开始SaaS化。 2010年,阿里巴巴宣布放弃SaaS 意味着,SaaS在中国的路并不平坦。也许又是一个炒作概念而已。
传统许可模式的区别
  SaaS服务模式与传统许可模式软件有很大的不同,它是未来管理软件的发展趋势。相比较传统服务方式而言SaaS具有很多独特的特征:SaaS不仅减少了或取消了传统的软件授权费用,而且厂商将应用软件部署在统一的服务器上,免除了最终用户的服务器硬件、网络安全设备和软件升级维护的支出,客户不需要除了个人电脑和互联网连接之外的其它IT投资就可以通过互联网获得所需要软件和服务。此外,大量的新技术,如Web Service,提供了更简单、更灵活、更实用SaaS。
  另外,SaaS供应商通常是按照客户所租用的软件模块来进行收费的,因此用户可以根据需求按需订购软件应用服务,而且SaaS的供应商会负责系统的部署、升级和维护。而传统管理软件通常是买家需要一次支付一笔可观的费用才能正式启动。
  ERP这样的企业应用软件,软件的部署和实施比软件本身的功能、性能更为重要,万一部署失败,那所有的投入几乎全部白费,这样的风险是每个企业用户都希望避免的。通常的ERP、CRM项目的部署周期至少需要一两年甚至更久的时间,而SaaS模式的软件项目部署最多也不会超过90天,而且用户无需在软件许可证和硬件方面进行投资。传统软件在使用方式上受空间和地点的限制,必须在固定的设备上使用,而SaaS模式的软件项目可以在任何可接入Internet的地方与时间使用。相对于传统软件而言SaaS模式在软件的升级、服务、数据安全传输等各个方面都有很大的优势。
客户价值
  SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。就像打开自来水龙头就能用水一样,企业根据实际需要,向SaaS提供商租赁软件服务。
  SaaS提供商通过有效的技术措施,可以保证每家企业数据的安全性和保密性。
  SaaS采用灵活租赁的收费方式。一方面,企业可以按需增减使用帐号;另一方面,企业按实际使用账户和实际使用时间(以月/年计)付费。由于降低了成本,SaaS的租赁费用较之传统软件许可模式更加低廉。
  企业采用SaaS模式在效果上与企业自建信息系统基本没有区别,但节省了大量资金,从而大幅度降低了企业信息化的门槛与风险。
  具体来说saas可以为客户带来如下的价值:
  a) 服务的收费方式风险小,灵活选择模块,备份,维护,安全,升级
  b) 让客户更专注核心业务
  c) 灵活启用和暂停,随时随地都可使用
  d) 按需定购,选择更加自由
  e) 产品更新速度加快
  f) 市场空间增大
  g) 实现年息式的循环收入模式
  h) 有效降低营销成本
  i) 准面对面使用指导
  j) 在全球各地,7*24全天候网络服务
  k) 不需要额外增加专业的IT人员
  l) 大大降低客户的总体拥有成本
服务优势
  SaaS服务提供商为中小企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘IT人员,只需前期支付一次性的项目实施费和定期的软件租赁服务费,即可通过互联网享用信息系统。服务提供商通过有效的技术措施,可以保证每家企业数据的安全性和保密性。企业采用SaaS服务模式在效果上与企业自建信息系统基本没有区别,但节省了大量用于购买IT产品、技术和维护运行的资金,且像打开自来水龙头就能用水一样,方便地利用信息化系统,从而大幅度降低了中小企业信息化的门槛与风险。对企业来说,SaaS的优点在于:
  ⒈ 从技术方面来看:企业无需再配备IT方面的专业技术人员,同时又能得到最新的技术应用,满足企业对信息管理的需求。
  ⒉ 从投资方面来看:企业只以相对低廉的“月费”方式投资,不用一次性投资到位,不占用过多的营运资金,从而缓解企业资金不足的压力;不用考虑成本折旧问题,并能及时获得最新硬件平台及最佳解决方案。
  ⒊ 从维护和管理方面来看:由于企业采取租用的方式来进行物流业务管理,不需要专门的维护和管理人员,也不需要为维护和管理人员支付额外费用。很大程度上缓解企业在人力、财力上的压力,使其能够集中资金对核心业务进行有效的运营。[1]
企业与SaaS
  
1、企业如何选择和应用SaaS

   SaaS模式能显著降低企业的前期投入。它可以通过互联网在任何时间、任何地点进行访问,不必再受到软件升级和补丁更新的困扰。基于对SaaS未来发展的憧憬,诸如甲骨文和微软等大型企业软件厂商都义无反顾地加入了这一阵营。
  SaaS企业管理软件分成两大阵营,平台型SaaS和傻瓜式SaaS。平台型SaaS是把传统企业管理软件的强大功能通过SaaS模式交付给客户,有强大的自定制功能。傻瓜式SAAS提供固定功能和模块,简单易懂但不能灵活定制的在线应用,用户也是按月付费。无论是平台型SaaS或傻瓜式SaaS,SAAS服务提供商都必须有自己的知识产权。
  
2、如何解决数据在SaaS模式下的安全问题

   鉴于安全问题的关键地位,故将SaaS模式下的安全问题单独作为一个话题来讨论:
  毋庸赘言,软件即服务最近成为了流行的趋势,整个SaaS的范畴涵盖了广泛的用户可以获取并利用的应用,而SaaS的普及也代表着在未来随着互联网的发展,用户不必再投资于任何服务器或是自己的设备上安装任何软件。 
  从包含了在线Office应用程序的Google Apps到Adobe的Buzzword服务,以及通过LiveOffice和Hotmail提供的电子邮件及即时消息服务都是很好的SaaS的例证。同时,你还会发现大量的在线备份和数据保护服务,无论是IronMoutain还是AmeriVault,当然,其中还包括一些规模较大的供应商,如EMC、IBM、HP,也加入到了这个市场中来,正在日益将其发展方向转向服务以扩大他们的市场。
  通过提供这些软件,企业们提供了SaaS服务或是将你的数据存放在他的服务器上,以及获取捏计算机系统,所以,引伸出一个问题:用户使用这些服务的安全性到底如何?
  ”中小型企业必须非常谨慎的挑选供应商以存储他们宝贵的数据。”分析机构IDC的分析师Laura DuBois表示,这位分析师一直关注在线存储服务以及SaaS领域的发展动向,去年在一篇文章中曾表示,由于在线存储服务来势汹汹,IDC甚至没有为其准备好一个相应的分类方法。
  很明显,可取的做法是尽可能多的了解该公司是如何提供SaaS服务的,他们为了您的信息的安全做了什么?如果你需要恢复数据,需要多久才能收到?该公司是否能够在低迷而又不稳定的市场中长久生存下去?这些都是你应该问问自己的关键问题–只有做出满意的答案才能够任何选择SaaS供应商的决定。
  SaaS能够节省用户在部署应用时捆绑的软件许可、硬件以及管理成本,但是这并不意味着SaaS就是每一个人都是使用的。当打算选择一家SaaS供应商时,你应该深入了解这家供应商到底能够提供多少实质性内容,反面的典型就是不愿意向用户提供详细的参考资料或是只有很低用户口碑度。
  ”在SaaS的世界里,留住用户的数字是一个非常重要的宣传。”LiveOffice公司的总裁Matt Smith这样认为,他的公司提供电子邮件、即时消息以及其它SaaS产品,”一个可靠的公司的客户保持率应该至少在98%。”
  如果这是一家刚刚成立的没有太多用户听说过的初创厂商,你就需要进行更加彻底的调查,以核实其原有的一些用户是否成功交付了。
  从另一个角度来看,评价一个SaaS提供商还要看用户的支持度,也许有些供应商的设备看起来是豪华的,但是却可能是华而不实的并不中用,尤其是可能会很薄弱的售后支持,虽然在某些情况下,熟练的服务人员和专业的顶尖的技术支持可能与其高昂的价格相比并不值得。
  ”这实际上取决于公司想要什么,”Iron Mountain公司Digital Record Center for Images服务的总经理Tom Meyer认为,”一些供应商并不具备高度安全的内容管理系统,所以他们提供的在线存储空间价格低廉而且简单易行,但是这确实可能会被罚款的。”
  (1)感受安全
  很清楚的一件事是,安全应该是供应商在选择SaaS标准之前就应考虑的问题并且应该一直放在核心位置,这些在线服务提供商的一个重要的工作就是如何保持其数据的安全,并且确保保护这些数据的保障系统的安全,以免使其遭受灾难。
  ”小型企业的拥有者应该问问供应商如何存储他们的数据,”Smith认为,”一个好的供应商应该有多个镜像数据中心,这也就意味着客户端的数据备份在多个地点和多个时间内总是可以用的。”
  SaaS厂商现在在利用各种方式来保障他们的数据,他们其中的一些喜欢使用提供了数据加密功能的磁盘阵列,另外一些供应商的方法更加机械化,他们将数据存放在一个大的仓库中,并给予起一个孤立但是安全的位置。
  Iron Mountain公司提供了一项名为Digital Record Center for Images的服务,这项服务为用户提供了数据加密传输、用户访问路径控制以及确保位于地下200英尺的数据中心的安全的服务。
  备份和存储SaaS提供商Elephant Drive通过将数据存储在多个基于硬盘的存储池并进行复制的方法来保证用户数据的安全,数据复制保护功能被集成到其产品系统中,所有的数据都可以让用户在位于至少两个不同地点的独立站点进行访问。
  AmeriVault也是一家在线备份服务提供商,其帮助用户在三个地点保存用户的备份数据,每个用的数据都存放在两个不同的磁盘系统中,第三份备份则放置在1000公里之外的保证业务连续性的站点中。
  在线备份提供商DS3则使用EMCClariion作为主存储设备,为了保证备份方便,他们将备份的数据保存在其他的高端磁盘系统中,在DS3的三个数据中心中,有一个数据中心专门用于保存用户的信息的备份。
  ”任何一家有个良好信誉的SaaS供应商都应该采取必要合适的措施确保他们服务器的安全,并且为每个用户都展现出所有的操作。”Smith表示。
  (2)SaaS服务的满意度
  服务级别协议是我们通常用来判断一个SaaS服务是否令用户满意的工具,SLA是一项针对提供某种程度上的稳定性的厂商的合同义务,Smith认为,目前使用SLA协议的用户达到了99%以上。
  此外,SLA协议还包括如果合同到期的话,SaaS服务提供商应该如何处理用户数据的条款,在这种情况下,用户应该确保拥有这些信息的所有权,并且确认是受到法律保护的。
  例如,Prince Street Capital Management公司采用了由Data Storage公司提供的备份服务,这项服务可以对企业的电子邮件系统实施保护,并对离线数据存储池进行保护,确保远程存储安全以及信息的快速恢复,SLA协议在其中也是一个重要的组成部分。
  该公司的首席财务官Peter McKown表示,”在你寻找一款适合的备份和恢复解决方案时,对Microsoft Exchange的快速恢复是一个重要的考查标准,在选择了Data Storage服务作为我们的备份和恢复服务管理合作伙伴之后,我们的业务获得了充分的满足,服务水平超过了我们的想象。”
  (3)从安全角度看SaaS的未来
  用户质疑SaaS是很正常的,但是从多个方面来看,在十几年前业界关于电子商务的不休争论时,这些质疑就已经存在了。过去,很多中小企业对于数据安全都有所顾虑,他们不知道是不是可以信任那些初创厂商,或是不太确定电子商务是一个稳定的业务模式,但是在10年之后,似乎每个人都多多少少和电子商务有所联系,不过,要是想让企业也接受这个全新的技术还要等一段时间。
  同样的,SaaS服务也需要经历这样的循环,赢得人们的信任是SaaS服务提供商们不得不面对的一项日产共工作,但是对于那些只有几个技术人员或是根本没有IT部门的中小企业来说,SaaS确实有很重要的作用,能够为企业提供他们必须要完成的工作。
  同时,如果你是Prince Street公司的话,或许你需要和多个厂商合作,DuBois认为,在判断究竟哪一个供应商才是可信的时候,用户需要问自己三个问题:谁是技术提供商?谁是管理他们数据的供应商?谁负责建设数据中心和他们的基本数据架构?
  她认为:”在很多情况下,这些问题的答案指向不同的三个厂商,因此每个层次都会有危险存在,在任何情况下,用户要认真的了解隐私性、加密、可用性、恢复时间、SLA协议、成本以及合同期限等细节情况。”
  总之,安全问题不容小觑,解决安全问题是SaaS模式继续存在并发展的前提,而周全的考虑各方面的安全性则是中小企业在选择SaaS服务商时必须注意的问题。
SaaS在中国
  
1、中国SaaS的发展现状

   虽然SaaS在中国的发展时间并不长,但最新数据显示,其发展已经具备了一定的规模,而且呈现上升之势。
  2008年1-7月软件行业实现收入4199.1亿元,同比增长32.4%。2008年第一季度,业务管理软件市场总量达16.31亿元,同比增长17.8%。面对成本的上升,企业选择了向信息化要效率,希望通过信息化进一步提升企业抵御风险的能力,这一需求推动业务管理软件市场新一轮的增长。从产品结构来看,业务管理软件增长点集中在CRM、HRM、SCM三类产品,增长形式以产品的升级更新为主,新的大型软件项目较少。
  2008年二季度业务管理软件市场同比增长19.6%,规模达到22.53亿元。二季度市场需求的驱动力一方面在奥运临近,大型国际活动的带动下,电信、政府等奥运紧密相关行业围绕奥运的部署进入冲刺阶段,带动整个市场活跃,另一方面,由于对三季度奥运会的影响有所担心,有些客户将大的信息化投资提前,另外,SaaS对中小企业的需求撬动效应显现,财务软件、客户关系管理软件以及人力资源管理软件在中小企业市场增长速度高于整个市场增长,尽管中小企业市场没有出现软件厂商希望的井喷形式,但中小企业市场在信息化方面的尝试仍让众多以中小企业为目标用户的软件企业看到希望。随着传统管理软件市场需求渐趋平稳,主力厂商急需寻找下一个新的增长点,SaaS是可能的一个选择。
  目前整个业务管理软件市场上,软件许可证收入在整个业务管理软件收入中所占比例逐年下滑,而咨询、集成、维护等服务费用有所上升。究其原因,除了与早期厂商卖软件送服务,而如今服务明码标价的定价策略转变有关,更深层次的原因是服务在软件市场重要性的不断提高。以集团企业、跨国企业为代表的高端客户更是如此,在高端客户中,定制开发、行业知识等在软件中的体现成为广大高端软件厂商竞争的重要领域,系统改造升级成为集团企业适应环境变化提高竞争力的有效手段。
  目前国内的主流SaaS服务提供厂商有天天进账网、中企开源、CSIP、阿里软件、友商网、伟库网、金算盘、八百客、CDP、百会创造者等 。
  除了这些早期的SaaS厂商,国内近两年来也涌现了不少后起之秀。这些厂商一般选择以下两类模式进入SaaS市场:一类为专门提供某一类型SaaS服务的厂商(爱普信科技、龙脉在线、CDP公司等),一类为提供较全面及按需整合定制的SaaS服务商(科健计算机、百会创造者等)。
2、国内SaaS厂商已启航

   2009,国内SaaS市场风生水起,中企开源作为国内的SaaS的领军企业,提出了以“随需而变、个性定制”为特点的“中国特色的SaaS服务体系”,为SaaS如何适应中国市场,提供了现实的解决方案, 同时中企开源还成立了国内首个“SaaS体验中心”,将中企开源在SaaS领域长期实践中积累的模式、方法和运营管理经验展示出来,通过现场实时生动的演示和互动引领体验者进入SaaS运营的真正核心,切身体验SaaS运营平台为软件服务带来的崭新天地。除了中企开源,国内还有以金蝶为代表的传统管理软件企业和以提供互联网服务为主的阿里巴巴、神码在线、风云在线、铭万等企业,都开始全面介入SaaS行业。各大SaaS厂商也推出了大量的产品和相关活动,八百客获巨额投资,风云在线与微软达成战略伙伴关系,阿里软件推行3年免费,Intel携手伟库,传闻金蝶并购XTOOLS…… 随着传统软件厂商陆续进军SaaS,不少新兴SaaS厂商也直接开启了SaaS之旅,这些新老软件商在SaaS领域里根据各自的优势丰富整个SaaS市场。
3、中国SaaS的未来展望

   总体来讲,SaaS在中国的发展前景是值得肯定的,但是在其发展过程中还是需要注意很多问题,要结合国内市场的特殊环境,制定特定的商业模式。
  为了更好的解释SaaS模式在中国的发展前景,我想首先引入长尾理论:
  长尾理论是在网络时代兴起的一种新理论,由美国人克里斯·安德森提出。长尾理论认为,由于成本和效益的因素,过去人们只会关注重要的人或事,如果用正态分布曲线来描绘这些人或事,人们只关注了曲线的“头部”,而处于曲线的“尾部”、需要用更多的精力和成本才能关注到的大多数人或事则被忽略了。例如,在销售产品时,厂商更多关注的是能产生80%经济效益的那20%的客户,而“无暇”顾及在人数上居于大多数的普通消费者。
  在管理软件市场,数目众多的中小企业就是市场的“长尾”,而且这个“长尾”一直都未能得到很好的开发。
  目前,软件产业面临着产品同质化、客户需求多样化的激烈竞争,软件产业的发展也出现了产业链停滞徘徊的局面。在这种情况下, SaaS由于其应用于中小企业的独特优势几乎得到了所有软件厂商的一致认可。SaaS通过互联网提供了低成本的服务交付和低成本的服务应用方式,这大大地降低了以前需要花费大量精力才能关注到的市场的成本。因此,SaaS使得抓住市场潜力巨大的“长尾”成为了可能。
  当然,虽然SaaS提供了抓住“长尾”市场的可能,但在中国继续深入开展软件运营服务需要特殊的商业模式,尤其是针对中小企业的软件租赁服务。否则,有可能不仅抓不住“长尾”市场,还会导致投资风险,主要原因有以下三点。
  第一,SaaS需要有完整的生态系统。“长尾理论”的典型代表之一百度依靠互联网运作取得了成功,其主要收入来自具有在线营销需求的中小企业。在完成技术平台搭建后,服务的展示、交付等所有的环节都几乎是无成本的。当满足需求的产品可以通过互联网等新技术与新方法将各个环节的成本降为零或者趋于零时,就是“长尾理论”发挥得最为充分的时候。但与百度的模式相比,SaaS虽然通过互联网降低了交付环节的成本,但仍然需要上下游厂商的支持,包括SaaS应用厂商、实施咨询服务的厂商和平台服务商等。相对复杂的生态系统对覆盖中小企业的“长尾”市场会产生难度。
  第二,客户的需求层次不同。与采购百度的营销广告不同,中小企业在采购软件租赁服务时,更多地直接涉及到了企业的业务管理。而业务管理的需求就存在很多的差异性,不同的行业、不同的企业和不同的业务都存在差异。相比,营销广告的需求具有很多共性的方面,只要满足宣传推广的需求,能吸引客户即可。因此,具有共性营销需求的“长尾”市场要大于有业务管理需求的“长尾”市场。
  第三,市场环境不同。Salesforce在国外取得了成功,其面向的客户是所有存在需求的企业,在其现有客户中,既有全球500强的企业,也有中小企业。但就其企业规模的平均水平来看,都是具有一定规模和购买能力的中小企业。在整体市场环境方面,美国的市场环境更加规范,包括信用环境和网络环境等,企业的IT应用也更加成熟。而中国企业的传统习惯和市场环境使大型企业在采购软件服务时更加倾向于自己实施,真正的“长尾”市场可能是数目巨大的小型企业,甚至是微型企业,而这些企业的购买能力和IT应用的成熟度还处于起步阶段。
  看来,在国内继续深入开展SaaS需要结合国内市场的特殊环境,制定特定的商业模式,才能抓住“长尾”市场。如果仅仅只是照搬国外企业的模式,将很难取得实质性的突破。
  用“前途是光明的,道路是曲折的”来形容SaaS是最贴切不过的了。软件产业从单机过渡到互联网,SaaS也许会带来不可限量的机会,让现有的市场扩大几倍甚至可能到达十几倍,这个趋势不可逆转。
  四、总而言之
  SaaS 最大特色是虽是软件在线使用,数据却能本地存储,保证数据安全.
新的挑战

   [2]SaaS通过租赁的方式提供软件服务,免却了软件安装实施过程中一系列专业并复杂的环节,让软件的实施使用变得简单易掌握。SaaS模式软件的开发基于“能完全替代传统管理软件功能”这样的要求,并提供在线服务和先进的管理思想,实现销售、生产、采购、财务等多部门多角色在同一个平台上开展工作,实现信息可管控的高度共享和协同。正是由于这些优势,SaaS发展迅速。SaaS应用在给企业和供应商带来收益的同时也带来了挑战:数据的安全性成为人们最关心的话题。特别是那些大型上市公司,将数据寄存在公司防火墙之外的构想让中高管阶层感到无所适从,他们对数据安全性能否得到有力保证深感怀疑。
  如何保障这些数据存放在SaaS供应商处不被盗用或出卖?有人将这个问题比作“将钱放在家里安全还是放在银行安全?”对SaaS服务提供商而言,安全泄露绝对会严重影响到企业的声誉与发展前景,还会影响到众多客户公司的日常运作,造成一种行业性的危机。这不仅是客户公司不愿看到的,更是这些SaaS服务提供商不愿意的。因此SaaS服务提供商对安全等级的要求变得愈加严格起来,例如针对外贸企业的SaaS服务提供商——欧乐软件就拥有金融级别的安全措施:以用户数据高安全、可用为目的,采用完善、成熟的网络架构,严格的安全设计,对网络、关键应用采取了多级容灾、冗余方案;采用AA级电信IDC机房,配备完整的制冷、防尘、双路供电、消防系统,保证服务可用性达到99.99%;该机房与国内顶级信息安全咨询公司合作,定期对网站进行安全加固、咨询、培训服务,确保数据安全。但是,要想让企业找到将数据放在SaaS 供应商那里就像将钱存在银行一样安全的感觉,还有待观念的转变、应用的深入及相关规则的进一步规范。首先应该解决对软件商、服务商的信任问题。由于SaaS服务提供商负责所有前期的实施、后期的维护等一系列服务,因此唯有信任服务提供商,企业才能放心使用SaaS产品。
  对SaaS服务提供商而言,数据泄露不但会使自己的声誉受损,而且会影响到更多客户公司的日常运作,因此他们对安全等级的要求更加严格。其次是解决内部信息系统维护人员的管理和信任问题。内网需要专门的人员和设备来解决信息化的问题,因此存在系统维护和设备维护,一般来说,内网系统由于人员上的安排和水平是否能做到很好的数据备份或异地数据备份呢?SaaS厂商不仅选择有能力的人员负责相关项目,并辅助以相关的技术,防止数据丢失。SaaS具有复杂全面的备份系统,例如:实时多盘备份、每天增量备份、每周全部备份、物理异地备份,强大的病毒防御系统,专业的IT精英技术人员24小时的不间断监控下,确保万无一失。而储存在自己电脑里的数据,却有可能因为电脑失窃、感染病毒、硬件损坏等原因而丢失数据。从以上这些情况可以说明SaaS的安全性远超过企业自身的安全系统。 可以说,SaaS提供商的安全保障“大金库”是银行级别的,与企业内部小型的信息“保险柜”不一样,因为由于专门从事安全环节的工作,SaaS提供商具有的量产优势是任何企业都无法比拟的。相信时间可以证明, SaaS的安全性完全值得用户信赖。
SaaS的优缺点
  从2000家最大的公司中选出的150家英国和150家美国IT公司的经理们的报告中发现,英国和美国公司的大多数企业并没有利用SaaS模式,以提升他们的ERP系统的价值。研究数据还表明,只有百分之七的英国公司和百分之十五个的美国公司的受访者认为,目前的ERP系统将在短期内被新的技术所取代。但是,也有与调查数据持不同看法的,认为大公司没有实施SaaS是因为没有看到它的价值。SaaS的计划被搁置,大部分(百分之75)已使用SOA和SaaS的公司在一定程度上,已经计划扩大其在未来的使用范围。可以看到所给的数据是有争议的并且还不足以作出任何预测或结论。
优点:

   1. 简单。SaaS是简单的部署,从技术角度来看,不需要购买任何硬件,刚开始只需要简单注册即可。
  2.初始成本低。传统的ERP具有较高的初始购买成本,对硬件和软件的配置要求较高。SaaS可以不需要较高的硬件配置,减低成本。
  3.访问。SaaS能使用户在世界上都是一个完全独立的系统。如果您连接到网络,就可以访问系统。
  4.免费试用。几乎所有的SaaS供应商都提供免费试用。
缺点:

   1.安全性。企业,尤其是大型企业,很不情愿使用SaaS正是因为安全问题,他们要保护他们的核心数据,不希望这些核心数据由第三方来负责。
  2.标准化。目前的SaaS解决方案缺乏标准化。这个行业刚刚起步,没有明确的解决办法,一家公司可以设计建立一个解决方案。鉴于复杂和高度可定制的ERP产品,这是一个冒险的建议。

http://baike.baidu.com/view/369107.htm