AIOPS是什么,它与AI有什么关系?

  现如今,AI 这个词已经被玩坏了。很多公司都声称自己在做 AI,但其实并没有。不过有另外一种新兴的 AI,各种类型的 IT 企业倒是可以尝试,而且完全不需要人工参与。 AIOps,也就是基于算法的 IT 运维(Algorithmic IT Operati...
继续阅读 »
 
现如今,AI 这个词已经被玩坏了。很多公司都声称自己在做 AI,但其实并没有。不过有另外一种新兴的 AI,各种类型的 IT 企业倒是可以尝试,而且完全不需要人工参与。

AIOps,也就是基于算法的 IT 运维(Algorithmic IT Operations),是由 Gartner 定义的新类别,源自业界之前所说的 ITOA(IT Operations and Analytics)。我们已经到达了这样的一个时代,数据科学和算法正在被用于自动化传统的 IT 运维任务和流程。算法被集成到工具里,帮助企业进一步简化运维工作,把人类从耗时又容易出错的流程中解放出来。人们不再需要在遗留的管理系统中定义和管理无穷无尽的规则和过滤器。

在过去的几年间,一些新技术不断涌现,利用数据科学和机器学习来推进日益复杂的企业数字化进程,“AIOps”(Algorithmic IT Operations)因此应运而生。Gartner 的报告宣称,到 2020 年,将近 50% 的企业将会在他们的业务和 IT 运维方面采用 AIOps,远远高于今天的 10%。

为了更好地理解 AIOps 和 AI 的区别,我们需要从头说起。

 


AI 简史


AI 一词用于描述机器(或软件)模拟人类认知的过程。也就说,机器学习像人类一样思考。40 年代,Alan Turing 掀起了 AI 热潮,但受限于计算机的计算能力,也只发展到今天的这个阶段。

问题是,我们为什么要让机器模仿人类?而为什么有些 AI 应用程序会比其他的更成功?发展 AI 的目的在于解决人类的问题,所以我们会看到像自动驾驶汽车、行为分析这类复杂的解决方案。

话说回来,IT 运维环境有一些不一样的地方。我们不会直接管理人类,我们与应用程序和基础设施打交道。而且它们可能更加复杂和不可预测,因为它们不是人类。

 


人类思维与机器思维


AIOps 的不同之处在这里体现出来。AIOps 的解决方案专注于解决问题,而且是通过使用基于算法的技术来高度模仿人类(而且以更快的速度和更大的规模)。算法的效率提升了 AIOps 的价值,而相对于人类的智慧——虽然是无限的,但不如机器来得高效。

当然,人类也能进行高效的 IT 运维。AIOps 的目的是为了让我们的生活变得更美好,但是当人类与 AIOps 参合在一起,它们之间的界限就会变得模糊。高级的 AIOps 会使用神经网络技术,它会向运维人员学习,然后尝试消除无聊的重复性劳动。

 


未来的公司


 
为什么公司需要 AIOps?现代的 IT 环境已经无比的复杂,而且千变万化,需要我们花费大量的时间和资源去监控、去诊断问题、去解决问题。很多公司处于被动的地位。但是如果他们使用了 AIOps,他们就可以利用先进的算法,花更多时间在其他更有意义的工作上,而不是重复地解决相同的问题,或者花时间管理规则和过滤器。

我们所说的规则,可以把它们简单地描述为“如果是这样那么就这么做”,它们能够应付简单的场景,但是很难扩展。相反,算法和机器学习提供了更加灵活的表达方式,不仅强大,而且健壮,能够应付不断变化的需求。这将带来更高的效率和更低的成本。对于厂商来说,他们面临的挑战在于将整个技术方案打包,避免把用户暴露于底层的复杂性当中。光是提供工具是不够的,企业需要招聘数据科学家而不仅仅是工程师。

 


前行之路


借助智能算法的技术优势,原先人工需要几个小时完成的任务现在通过自动化可以在几秒钟内完成,而且能够得到更好的结果。传统的 IT 运维需要管理大量的告警,极大地分散了企业的注意力,他们需要花很多时间解决无聊的问题,没有时间用于创新。使用 AIOps 可以解决这些问题,把运维人员从纷繁复杂的告警和噪音中解脱出来。各个行业的企业正在采用 AIOps,他们使用这项技术来改进客户的数字体验——银行、娱乐、交通、零售,甚至政府。

尽管 AIOps 还是一个新名词,但并不代表它只是未来的一种趋势而已。在这个数字的年代,任何使用传统技术来管理机器数据的组织要么忽略了信息的价值,要么已经让他们的运维团队不堪重负。随着数据的暴涨,CIO 们应该快速拥抱 AIOps。传统 AI 仍然会在某些领域发挥它的作用,而 AIOps 将为企业带来最直接最深远的价值。
 
文章来自微信公众号:高效开发运维
收起阅读 »

情商管理「转」

一、时间管理的能力时间对于学习非常宝贵,这点毋庸多言。清华大学副校长、杰出的生物学家施一公曾说过:无论什么科学,智商都不是最重要的,第一重要的是时间的付出。 著名人大校友和投资人张磊说要做时间的朋友懂得“滞后满足”。你的时间在哪里,你的成就在哪里。 不能因为自...
继续阅读 »
一、时间管理的能力

时间对于学习非常宝贵,这点毋庸多言。清华大学副校长、杰出的生物学家施一公曾说过:无论什么科学,智商都不是最重要的,第一重要的是时间的付出。 著名人大校友和投资人张磊说要做时间的朋友懂得“滞后满足”。你的时间在哪里,你的成就在哪里。 不能因为自己还年轻,就放任自己,放松对时间的管理。人越长大,觉得时间会过得越快,尤其是进入30岁之后,这个感觉就会越来越明显。因为人对年龄的感知是按照对数级增长的,你现在活了8年,相当于小时候活的3(log28)年。我们对时间的感知同样是这样:2~3岁经历了一年,和我已有生命的总长度一样;到了80岁,再经历一年,只是我经历岁月的1/80。“比例感知”让我们对时间的概念,对数级增加。如果要抵消我们的”对数感知“,我们需要让我们的”生命精彩程度“指数级增长---我们要不停的创造”激动人心“的回忆----精彩的、奇怪的、酷的。在人生中树立无数的里程碑:小到读一本新的小说,尝试新的音乐,养一种难以成活的植物;大到下决心去读一个博士学位,在陌生的城市工作3年,写一本书。
 

关于人们对时间对数感知详情请参考知乎的一个讨论: 知乎讨论 。对时间的管理能力,是一个人是否能走向阶段性成功一个很重要的影响因素。那么,如何管理好我们的时间提高我们的工作和学习效率呢? 

 1、优先级原则
用好时间的第一条原则就是优先级原则,把任务计划里一天中,一周中,一个月中,一个季度中,一年中重要的任务放在优先级高的位置,然后花时间优先完成。大家在日常工作,学习和生活中,总会遇到各种任务,有的是重要任务,有的是次要任务,有的是琐事。对这些任务的处理,不能不分先后,不分重点,不能平均用力,要有所为有所不为。

有这样一个生活例子:如果先将一个大的容器里放入土豆,那么这个容器里放满土豆后,还可以再放入大米,当放满大米后,还可以再放入水。但是,如果反过来,先将这个容器里放满了水,就无法再放大米和土豆了,先放满了大米,也就无法再放入土豆了。

这里的土豆,大米和水,分别代表的就是我们的重要任务,次要任务和琐事。只有提前优先处理好重要任务,才能接着处理次要任务和琐事,如果每天都去处理次要任务和琐事了,那么一些重要的任务就无法完成。
 

2、最后期限原则
在采取了优先级原则来处理每个时段的各种任务之后,还得为自己完成这个任务设置一个最后期限(deadline)。人都有懒惰的基因,除非要完成的任务特别有意思你对它特别感兴趣,否则这些自己要着手完成的任务很有可能会被拖延。所以为了防止拖延,必须明确告诉自己,这个任务最迟必须在什么时候完成,如果预计可能延期,那么就需要分配更多时间或者加班来保证合格任务按时完成。最后期限原则能够很好的督促你完成优先级高的任务。 

3、利用夜晚4个小时
平时大家白天8个小时可能会上班或者上课,每个人花的时间都差不多。但为什么几年后,当时水平差不多的人,有的人就已经步步高升,而有的人还在原地踏步呢?那就是因为有这样一句话:“8小时决定现在,4小时决定未来”。人白天8个小时用于工作,回到家的时间大约为20点,然后24点上床睡觉(8点起床,符合8个小时睡眠要求)。因此这期间有4个小时可以用来学习。但有的人却白白浪费了这个时间,而有的人很好利用了这4个小时不断提高自己,为自己充电。所谓机会总是给有准备的人,越努力越幸运,厚积薄发就是在这里体现出来的。


4、大量阅读,看电视,灌水聊天,争论都是浪费生命
无意义的阅读等于浪费生命。很多成功说或者鸡汤告诉大家,一定要多阅读,阅读可以改变人生。实际上,大量无意义的阅读,比如看各种新闻,看微博,看微信,看BBS,看毒鸡汤,在QQ、微信群聊天灌水都会花费大量的时间和精力,影响自己的任务完成。所以,这种阅读是有害的,是一种慢性自杀。

看电视也是慢性自杀。

如果一个在人生起步阶段的人一天花费超过3个小时看无聊的电视节目,他一定会一事无成。

再就是与人无意义的争吵和争论。经常有一些学员在麦洛克菲的技术群里发生各种争吵,甚至开始人身攻击。这个时候,我都会出面制止,并告诫他们可以理性讨论,但千万不要做这些无意义的争吵和争论,更不要想着把自己的观点强加于人,没有意义,对你也没有任何好处,反而浪费了你的大量时间,影响了你的好心情。 有一句话说得好,世界上有两件事最难,一是把自己的思想装进别人的脑袋里;二是把别人的钱装进自己的口袋里。 人观点和思想的改变不是靠争论,主要是靠亲身经历,吃过亏上过当了,才会痛彻心扉,更何况有时候我们自己的观点未必就是对的。 随着时间的增长,我们也会不断修正自己的观点和看法。所以,请从现在开始,在与人相处的时候,用友好的态度去探讨问题,拒绝争论或者争吵,谁也别想说服谁,即使说服了谁也是口服心不服,即使心服了也没有任何意义, 少说多做多思考,管住自己这张嘴。

二、不断学习能力

有一句话说得好,只有两件事,是一个人一辈子都需要去完成的,一个是学习,一个是锻炼。学习能力的培养,也是一个人能够成功很重要的制约因素。 

1、快速学习
现代科学技术日新月异,尤其是在IT领域,新的理论,技术和架构更是层出不穷,因此,必须快速的去学习这些新的技术,保持自己的知识与技能与时俱进。
 

人一旦成年之后,无论是在学校,还是在企业,都不会留给我们太多的学习时间,都需要在规定的时间完成任务。比如在大家求学过程中,花了9年时间学习小学(含幼儿园,学前班)课程,花6年学习中学课程,花4年学习大学课程,花3年学习硕士课程,却只能花2年完成博士课程(硕博连读按5年算的话)。这个学习过程中,随着年龄的增加,要学的知识越来越多,越来越深,给我们学习的时间越来越少。所以,需不断培养自己的快速学习能力,适应新的时代要求。当一个互联网企业把一个任务交到你手头,给你的学习时间是非常短的,也许你用在学习的时间,不会超过3天,一般几个星期或者1个月就会要求做出成果。

有一个大牛曾经说过一句话非常对:我不是懂得多,我只是学得快。
 

2、自学能力
人不可能在学校或者培训机构学一辈子,也不可能一直都有老师教授你知识和技术。因此,自学能力的养成非常重要。在学习IT方面,IT培训的目的是让你少走弯路,带你入门,但培训绝对不会是你学习的终点,而是你学习更多知识的起点。结束培训之后,遇到新的知识,就要善于自学,善于通过使用书籍,视频,技术文档,论坛,搜索引擎等来获取和学习各种知识。
 

首先我们要有一个意识就是,无论干哪行,学哪个方面的技术,在我们下决心学习它的时候,第一个需要解决的问题就是:学习它可以分为哪几个阶段?每个阶段都有哪几本经典的好书供学习?有什么网络资源或者论坛可供参考?只有在每个阶段都找到了一两本相关的经典的好书,才为我们学习这个方面的技术找准了方向,学习起来也会事半功倍。所以,在我学习程序设计的时候,我对书的要求很高,不是随便拿一本来看,看一本差书,既浪费时间,又毫无收获,而是要找口碑最好,写得非常经典的书籍来看。

3、学习方法
在快速学习和自学过程中,需要讲究一些学习方法,而且学习不同的技术,方法也不完全一样。学习任何东西,都是很简单的,起码是有规律的或者可以深入浅出的。如果你学得很吃力,那么肯定是方法或者方向不对。
  
课前预习,课中跟上老师的思路,积极思考,积极回答问题,课后复习和练习以及答疑,阶段性总结,这些都是学习任何知识的通用方法。
 

对于学IT编程来说,它的学习路径一般为:认准方向(比如安全方向)==》快速打下基础(C|C++,Java等面向对象|数据结构|Win/Linux/Android平台开发入门|sql,网络协议,多线程)这个阶段侧重于理解动手小练习模仿记忆==》找几个好的开源的项目修改和二次开发学以致用做几个体现自己想法的东西==》进公司锻炼和学习不断提高==》成为有经验的大牛。 

学习计算机编程,一定要动手。基础练习不是照着抄一遍,而是按照思路背着写,写不出来再看代码。在看书学习的时候,要习惯性的打开VC等开发工具,经常实践书中的理论和例子。一些重要的代码应该背着写一遍(注意:不是照着抄),加深印象,当背着写不出来的时候,再回头看看书中的代码。要明白,书看懂了,离会写代码还有一段距离,在写代码的时候还会遇到很多问题。遇到问题不要怕,解决了,才是学会了。
 

抓住学习重点,拒绝均衡用力。学习的时候要有所为有所不为,不要面面俱到,想把书上每个点,每句话或者每句代码都搞懂。基础的东西,抓住重点(每个方向的重点参见《进军IT与安全行业:推荐学习路线图》),必须好好学一下,比如C语言,数据结构和汇编等。但有的东西,一开始不用立即学得深入,了解即可,用到的时候,以项目驱动,再边做边学,深入学。
 

学习第一遍,可能会比较吃力,一般能够理解50%左右就很不错的,这个时候不要灰心,把问题记下来,然后多看几遍书,“书读百遍其义自见”,这个道理在学习计算机技术的时候同样适用。反复读几次书中内容,理解的程度就可以提高到80%,90%等。或者也可以先把遇到的问题记录下来,等以后再回过头来想这个问题,也许就会觉得豁然开朗没那么难了。学习的时候需要保持高度的注意力,不能边听歌边学习,不能边看电视边学习,不能眼睛在看字头脑却没跟上在想别的事。
 

面试遇到的问题如果不会,要及时解决。参加求职面试的时候问的问题,都是IT相关行业里重要的知识点,对于相关项目开发具有重要意义。因此,如果在面试的时候遇到不会的问题,面试结束之后,一定要通过不同方式,去获得答案。这也是一个学习的很好机会。否则,下次再遇到,如果还不会,机会就又错过了。
 

 三、身体管理能力 

有一句话说得很好:一个人的身体健康是1,而财富、感情、事业,家庭……,都是1后面的0,只有依附于这个1,零的存在才会有意义,如果没了这个1,那么一切都将不存在。
 

IT行业是一个压力大,加班多的行业。因此如果身体不行,很容易出严重的问题。大家也经常在新闻里看到IT领域很多工程师甚至是创始人过劳猝死的例子。因此,一个好的身体,相当重要。 

20几岁是人生的黄金阶段,一般病痛不会找上门。但是一旦过了30岁,尤其是35岁之后,就是病找人了。
 

1、健康饮食
健康饮食,对身体健康非常重要。一日三餐,规律饮食,均衡营养合理搭配肉食和蔬菜水果,细嚼慢咽降低胃肠道压力,不吃过烫食物,同时节制饮食,吃什么都最好控制食量,做到7分饱,尤其是晚餐,宁饿不撑,以免加重胃的负担。因此,健康,从管住这张嘴开始。
 
 

2、规律作息
所谓规律作息,最重要的就是别熬夜。尤其是过了30岁之后,每天要保证8个小时的睡眠时间,因此一定要在零点前上床休息。熬夜对身体的伤害非常大,因为这样会让身体器官,尤其是心脏处于全负荷下工作,得不到休息,那么容易造成心脏等罢工从而发生猝死。

3、适当锻炼
工作之余,适当的运动和锻炼,是非常有利于身体健康的。比如饭后百步走,游泳,爬山,跑步、打球等等。
 
 

 4、定期体检
每年做一到二次身体健康体检,对胃,肝,肾,心脏,结、直肠,肺,血液血脂等进行全面检查,甚至过了一定年龄(比如35岁之后)需要加上胃镜和肠镜的检查对肺进行低剂量CT检查, 及早发现身体不适或者出现三高(高血压、高血脂、高血糖,是对动脉硬化,脑溢血,冠心病的潜在威胁),将大病遏制在摇篮中,排除身体中的各种定时炸弹。
 
 

 四、情绪管理能力

情绪管理能力是一个人在情商方面最重要的体现。一个人,只有在能控制自己的各种情绪之后,才能体现出一个高情商的人。有一句说得好,人永远需要两种能力:好好说话和情绪稳定。
 

1、放下自尊心
“世上最肮脏的,莫过于自尊心”--尤瑟纳尔。社会上处久了,才发现自尊心分明就是面皮薄、意志弱,受不起挫折,经不起摔打的代名词。自尊心是颗种子,捧在手上只能枯死,非得踩进泥土,从磨难中汲取养料,成长,成熟。在没有足够的实力前,请勿过分强调你的自尊心。遇到自尊心受到伤害了,一定要善于自我解嘲,知耻而后勇。 
 

阿里高管彭蕾曾说过:不管别人怎么赞扬你也好,或者羞辱你也好,你内心知道你自己是谁,自己内心是很定的,无论是捧你还是打你,外界的状况都不会伤害到你,这才是真正皮实的状态。对于创业者或者我们组建团队的时候,这个能力蛮重要的。

2、远离垃圾人
生活中,我们难免会遇到各种“垃圾人”。他们到处跑来跑去,身上充满了负面垃圾:充满了沮丧、愤怒、忌妒、算计、仇恨,充满了傲慢与偏见、贪心不满足、抱怨、比较,充满了见不得人好、愚昧、无知、烦恼、报复、和充满了失望。随着心中的垃圾堆积又堆积,他们终需找个地方倾倒;有时候,我们刚好碰上了,垃圾就往我们身上丢。 所以,无须介意。只要微笑、挥挥手、远离他们,然后继续走我们自己的路就行。绝对不让垃圾人接管自己生活当中的任何一天。人生短暂,绝对不要浪费心思和精力在这些事上。
 

千万不能和垃圾人吵起来,甚至大打出手,最后受苦的还是自己,不值得。一物降一物,垃圾人肯定会遇到更狠的人对付他,但与我们无关。有一句话说得好:人给狗让路,不丢人。
  

3、与人为善,与人遇到矛盾,友好的建设性的解决问题
远离垃圾人的同时,也要防止自己成为别人眼中的垃圾人。所以,一定要做到与人为善,尊重对方,客气友好。与人遇到矛盾和问题,一定不要动不动就口出恶言,要友好的建设性的解决问题,起码也得先礼后兵,因为很多后果严重的事件都始于一两句恶语激怒了彼此。千万不要一开始就把问题发展到不可收拾的地步。  

关于互相尊重:“尊重上级是天职;尊重下属是美德;尊重同事是本份;尊重客户是常识;而尊重所有人则是教养。”我们每一个人都要做到这一点,因为尊重他人是良好沟通的基础,而且尊重他人就是尊重自己。   

关于发脾气:把脾气发出来,那叫本能;把脾气压下去,那叫本事。有时候把脾气发出来,发的不是脾气,发的是代价。
  


4、忍一忍,冲动是魔鬼
忍,不是叫你逆来顺受,而是用更好的办法解决问题,不是动不动就两败俱伤。某人惹你生气了,即使你恨不得马上给他一耳光,也要让子弹飞了一会儿。如果过了一晚上,你还是想给他一耳光,那就再想办法,但往往一个晚上后,你改变了主意。不全是忍了,而是想到了更好的解决办法。
 

同样,凡是有什么想法,尤其是大事情,千万不要冲动决定。在工作中受到了一点小委屈,也不要立即冲动说不干了(最后你会发现,在哪里工作都会有受气的时候)。
 

大事急事做决定一定要缓一缓,冲动依然会付出代价。有一句说得很好:大事要细办,小事要认真办,急事要缓办。急事宜缓办,忙则多错。说干就干有的时候是执行力的体现,但有时候是冲动的体现,需要仔细辨别。

 5、不做愤青
马云曾经说过:10年前我更关心全世界,结果日子过得非常艰难;5年前我很关心中国的命运,我也过得很艰难;3年前开始我只关心公司,我的日子开始好起来。现在我只关心自己,越来越好。所以我说,关心好自己,每个人把自己喜欢的事做好,这个世界会好起来,别像奥巴马一样关心全世界。 

社会总会存在各种不公,因此,你不要因为你的愤怒而耽误了你自己的行动。首先从改变自己开始,然后就能改变周围的人,再能改变自己的家乡,然后就能改变整个世界。否则,人微言轻,吃着地沟油的命,操着中南海的心,你说了,你愤怒了,但是都不算。
 

 6、养成记日记的习惯
写日记有很多好处。可以在日记里反省,总结和规划未来,调整自己的心态。日记是一种很好的自我调节的手段。假如人是一颗飞向目标的火箭,那么日记有点修正你跑偏方向的功能。很多成功人士,都有记录日记的习惯。日记不用天天记,需要反省,总结和规划的时候就可以写一写,写的篇幅可长可短。写完之后,可以定期回看一下曾经写的日记,也是一笔宝贵的经历。因为日记里写的都是自己真实的想法和内心,有的东西可能无法让外人直视,所以请注意做好对日记的保密工作。 


7、讨论可以,但不与人争论(辩论)
正如上面所说,遇到各种不同观点,可以与人理性讨论,但千万不要做这些无意义的争吵和争论,辩论,更不要想着把自己的观点强加于人,没有意义,对你也没有任何好处,反而浪费了你的大量时间,影响了你的好心情。有一句话说得好,世界上有两件事最难,一是把自己的思想装进别人的脑袋里;二是把别人的钱装进自己的口袋里。 人观点和思想的改变不是靠争论,主要是靠亲身经历,吃过亏上过当了,才会痛彻心扉,更何况有时候我们自己的观点未必就是对的。 随着时间的增长,我们也会不断修正自己的观点和看法。所以,请从现在开始,在与人相处的时候,用友好的态度去探讨问题,拒绝争论或者争吵,谁也别想说服谁,即使说服了谁也是口服心不服,即使心服了也没有任何意义,少说多做多思考,管住自己这张嘴。有一个关于孔子与子贡关于“三季人”的故事,可以很好的说明这个问题:
 

早晨,子贡在大院门口打扫院子。有人来到,问子贡:“您是孔子吗?” 子贡答道:“有什么事需要向我们老师请教?” “我想请教关于时间的问题?” “这个问题我知道,可以回答你” “那你说说一年有几季?” “四季。”子贡笑答。 “不对,一年只有三季!” “四季!!” “三季!!” “四季!!!”子贡理直气壮。 “三季!!!”来人毫不示弱。然后就争论不止,一直争论到中午也没消停。 

孔子听到声音,从院内出来,子贡上前讲明原委,让孔子评定。孔子先是不答,观察一阵后说:“一年的确只有三季。“ 来人听此,大笑而去。 

待来人走后,子贡忙问老师:“这与您所教有别啊,且一年的确有四季啊! “这一年到底应是几季?” 

孔子答:“四季” ,子贡不解。
 

孔子继而说道:“这时和刚才不同,方才那人一身绿衣。他分明是田间的蚱蜢。蚱蜢者,春天生,秋天亡,一生只经历过春、夏、秋三季,哪里见过冬天?所以在他的思维里,根本就没有‘冬季’这个概念。你跟这样的人那就是争上三天三夜也不会有结果的。你若不顺着他说,他能这么爽快就走吗?你虽然上了个小当,但却学到了莫大一个乖。” 说完,子贡立刻明白了。
  

五、深度思考的能力

有的人看起来也很勤奋,每天也都勤勤恳恳的工作学习和生活,但始终无法向前获得更大的成功。而有的人,平时也不怎么太努力工作,也不怎么太努力学习,却最后过得很好。你在每天挤公交地铁上班,没准人家已经在旅行的路上,在朋友圈晒世界各地的蓝天白云。这是为什么呢?不是说了越努力越幸运吗? 

实际上这里有一个战术上的勤奋和战略上的勤奋(思考)的差别。 

每天除了完成日常的工作,生活和学习任务,也需要花一点时间来反省过去,总结经验,不断分析现在的问题,找到答案,纠正,思考规划未来,保持方向的正确。
 

人生是一场持久战和长跑,随时都有机会弯道超车。试着深度思考,永远不要用战术上的勤奋掩盖战略上的懒惰。否则,你每天的忙碌,也无法忙碌出一个精彩的人生。 

人生中有些事情,宜早规划早执行。以北京的房价和限车牌限号就是个非常典型的例子。后办者非常被动。
 

此外,除了工作之外,应该发展一个第二职业或者兼职,能够通过第二职业获得额外的收入,以应对第一职业的35岁现象。第二职业可以是投资(炒股,买房等,但风险较大需要慎重,但高风险意味着高收入。第一次炒股一定要用小本投入,因为第一次一般都会亏,小本当交学费不心疼),也可以去兼职,也可以写书,去当培训老师或者哪怕是开淘宝,摆地摊。总之,一定要趁年轻,多找事做。  

六、遏制错误的能力

每个人都会犯错误。但是,我们应该拥有高度的责任来遏制错误的发生,因为错误一旦发生,就意味着会有代价或者损失,有的损失或者代价甚至是巨大而不可挽回的。 

1、堵住逻辑漏洞
做事情的时候,要符合逻辑和一定的流程,不能有任何疏忽。把该考虑的因素都必须考虑进来,不能相信口头承诺。在处理文字或者签订合同的时候,也要严谨, 不能有漏洞,要善于使用不同的方法(比如提前调查各种背景,提前向自己的亲戚朋友征询意见和建议(个人的认识和经历总有局限性,因此一定要参考大家的意见))发现其中的坑,然后及早提出问题,先小人后君子。否则,问题就会越来越大,错误会越来越严重。
 

2、克服粗心,反复检查
有一类错误,是因为粗心大意造成的,这类错误最好克服。方法就是:反复检查。比如你发一条短信,发一封邮件给领导,里面由于粗心可能会出现各种错别字。但是,只要你态度认真,打完字之后,再仔细看过检查一两遍,这种问题就会解决。
  

3、预判并解决存在的问题,防患于未然 
有时候,错误是可以预测到的,那么这个时候为了防止错误的发生,请立即采取措施解除错误的隐患。比如你看到电脑旁边有一杯水,你应该会预测到这杯水可能会不小心被碰倒洒到电脑上,造成电脑故障。那么一旦预判到这个错误可能发生之后,立即采取行动,把这杯水喝掉或者移开到安全地方,就可以完全预防可能发生的错误。 

孔子曰”君子不立于危墙之下”,君子要远离危险的地方。这包括两方面:一是防患于未然,预先觉察潜在的危险,并采取防范措施;二是一旦发现自己处于危险境地,要及时离开。
 

4、遵守规则,程序
遵守社会中指定的规则,流程,和程序,可以防止错误的发生。社会中的规则是这个社会平安健康运行的一套科学总结,不可违规,否则会造成严重的错误和不可挽回的损失。比如不要酒后驾车,不要闯红灯,比如乘车前先要进行安检,比如医院的“一人一管一抛弃”,甚至进入野生动物园不要下车,这些都是一些常见的社会规则,流程,不可打破。要有敬畏之心,严格遵守,否则就会出现各种严重的车祸,恐怖袭击,医疗事故,危及生命安全造成严重后果。

七、学会拒绝的能力

有的时候,大家由于年轻,缺乏足够的社会经验,对于别人提出的非分要求(比如借钱),碍于情面,不好意思拒绝,硬着头皮答应,结果非常被动,甚至给自己带来严重后果。

这里给大家的一句话就是:别不好意思拒绝别人,反正那些好意思为难你的人都不是什么好人。因此,对于别人提的一些要求,仔细分析是否为过分要求,如果是过分要求,我们应该要敢于拒绝,善于拒绝。
  

转载分享阅读:http://mallocfree.com/basic/c/eq.htm
收起阅读 »

深度解析Intel CPU漏洞为何如此恐怖?

作为2018年IT互联网界的首个大新闻,这次被曝出的芯片级漏洞波及范围之广、程度之深是我们始料未及的,而位于漩涡中心的Intel扮演的是一个相当重要但又有些尴尬的角色。 据悉,Meltdown和Spectre这两个漏洞可以绕过内存访问的安全隔离机制,使用恶...
继续阅读 »
作为2018年IT互联网界的首个大新闻,这次被曝出的芯片级漏洞波及范围之广、程度之深是我们始料未及的,而位于漩涡中心的Intel扮演的是一个相当重要但又有些尴尬的角色。


据悉,Meltdown和Spectre这两个漏洞可以绕过内存访问的安全隔离机制,使用恶意程序来获取操作系统和其他程序的被保护数据,造成内存敏感信息泄露。

事件的起点是Intel市售处理器被爆出因为设计的缺漏,会造成原本普通的程序却可以拥有前所未有的高权限,甚至可以直接访问核心内存当中的数据,这对于用户隐私和设备安全无疑是多年来前所未有的噩梦。

[深度解析Intel CPU漏洞为何如此恐怖]

这次的漏洞之所以备受关注,是因为这些漏洞能让恶意程序获取核心内存里存储的敏感内容,比如能导致黑客访问到个人电脑的内存数据,包括用户账号密码、应用程序文件、文件缓存等。

此次两组漏洞拥有内核级别的高权限,潜在的危害性、影响的广阔性、解决的棘手性都始料未及。

此次事件还带来了哪些严重影响?针对此次漏洞应如何及时补救?关注2月2日14:00“深度解析Intel CPU漏洞为何如此恐怖”直播活动,元鼎科技资深安全大咖王国斌为您指点迷津。


直播间入口:http://www.otpub.com/home/live/liveinfo/liveid/10117.html 收起阅读 »

分享Python基础入门到精通视频教程5套

  分享Python基础入门到精通视频教程5套: 第一套:Python14期VIP视频 第二套 python全栈开发工程师1期 第三套 2017年老男孩全栈第二期103天完整 第四套 Python视频课程就业班 第五套 Python自动化开发12期完整版 h...
继续阅读 »

 
分享Python基础入门到精通视频教程5套:
第一套:Python14期VIP视频
第二套 python全栈开发工程师1期
第三套 2017年老男孩全栈第二期103天完整
第四套 Python视频课程就业班
第五套 Python自动化开发12期完整版
http://www.sucaihuo.com/video/194.html 收起阅读 »

解析一二线城市的互联网的“趋势 · 应用 · 互联”

过去20多年,互联网技术的革新引领时代的发展,加速向经济社会各领域渗透融合,不断催生新产品、新业务、新模式、新业态! 互联网+开始向各行各业渗透,从“人人相联”向“万物互联”迈进。在产业周期的更迭中,驱动全球互联网创新演进的资本、技术、数据、需求四大要素持续...
继续阅读 »
过去20多年,互联网技术的革新引领时代的发展,加速向经济社会各领域渗透融合,不断催生新产品、新业务、新模式、新业态!

互联网+开始向各行各业渗透,从“人人相联”向“万物互联”迈进。在产业周期的更迭中,驱动全球互联网创新演进的资本、技术、数据、需求四大要素持续演化。

经济发展在新一代互联网产业中扮演什么角色?

传统企业如何实现信息化、数据化、在线化?

互联网企业如何引进来、走出去?

一线互联网技术人才视野在哪里?

二线互联网人才该如何进阶封神?

敬请关注12月10日9 : 00“中国【郑州】开发者大会”解码未来开发者直播活动,拥抱一线互联网技术趋势,关注技术在商业中的应用,积极实现一二线开发技术、思维、环境等的互联!

活动流程


09:00-09:05 主持人开场

09:05-09:15 主办方致辞:大象融媒负责人

09:15-09:25 主办方致辞:大象互联网圈发起人王向阳

09:25-09:45 技术创业下赛道的选择与实践:UU跑腿创始人&CEO乔松涛

09:45-10:05 工业大数据解决方案分享:阿里云架构师涂铭

10:05-10:25 移动端内容分发技术架构解析:迅雷AI以及推荐系统业务主管张升涛

10:25-10:45 详解车辆自动驾驶系统:宇通自动驾驶实验室第二负责人惠作奎

10:45-11:05 唯品会大数据架构及应用实践:唯品会资深数据架构师李创

11:05-11:50 趋势·应用·互联论坛

11:05-12:00 大象互联网圈&大象融媒战略签约仪式


13:30-14:00 面向未来的运维开发一体化——DevOps体系及实践:DevOps时代发起人、高效运维社区发起人萧田国

14:00-14:30 汽车之家数据库平台化实践:汽车之家架构师蔺瑞超

14:30-15:00 职场思考的快与慢:汽车之家开发经理李占斌

15:00-15:30 B站数据平台建设实践:Bilibili数据平台技术经理薛赵明

15:30-16:00 大数据营销:平安好房用户策略团队负责人胡辰

16:00-16:30 OpenPitrix平台中的微服务:开源文化布道、青云基础设施产品经理李建盛

16:30-17:00 基于人脸识别的人证合验采集平台的建设:中软高科产品经理张广举

17:00-17:50 拥抱·转型·发展论坛

17:50-18:00 项目展示时间

听企业家、互联网大牛们聊聊一二线互联网“趋势 · 应用 · 互联”那些事儿!

直播间入口:http://www.otpub.com/home/live/liveinfo/liveid/10082 收起阅读 »

IT人最大的福利,OTPUB app新版正式上线

App
2017年11月16日,锣鼓喧天、彩旗飘飘,OTPUB app2.0版本破茧而出。本次改版进行了大规模的改动,让整个app焕然一新,更好的服务于IT人。 OTPUB致力于IT行业内学习&直播平台,经过17年一年的努力,聚集会员30000余人,500+IT类相...
继续阅读 »
2017年11月16日,锣鼓喧天、彩旗飘飘,OTPUB app2.0版本破茧而出。本次改版进行了大规模的改动,让整个app焕然一新,更好的服务于IT人。

OTPUB致力于IT行业内学习&直播平台,经过17年一年的努力,聚集会员30000余人,500+IT类相关课程,50余场IT类相关直播,不乏大型会议、技术沙龙、圆桌会议等形式。目前OTPUB上游200余家厂商对我们的课程与直播进行输出内容,为IT人提供更多的知识输入。

目前,apple和各大安卓应用均已上架,大家可以针对手机进行相应下载。
IT1.png

本次版本更新亮点,小编也在此为大家进行一番介绍:

亮点一:首页更“骨感”
亮点一.png

课程、直播、大咖应有尽有

亮点二:课程更“丰满”
亮点二.png

详细的介绍、免费的试看,让您对课程有更细致的了解

亮点三:直播更“性感”
亮点三.png

美女直播、大咖直播、技术峰会,技术沙龙,让您足不出户,享受IT饕餮盛宴

亮点四:卡包更“减负”
亮点四.png

OTPUB推出的卡包,使会员小投入可以得到更多的课程,月卡、季卡、半年卡,让您实时享受课程的更新。

亮点五:个人中心更“贴心”
亮点五.png

您的课程、直播、收藏、浏览无一或缺,全方位打造您的IT学习屋。

目前OTPUB每周会有2场或以上的直播,课程每月也在一直更新,各位会员不要错过精彩的直播内容哦,下载APP预约直播时会有直播提醒,现在下载APP,注册会员,可以在APP轮播图页面领取1个月的月卡哦,快快行动起来!

复制该链接到手机浏览器下载OTPUB新版APP:http://www.otpub.com/Home/Download/index.html 收起阅读 »

fir.im持续集成技术实践

互联网时代,人人都在追求产品的快速响应、快速迭代和快速验证。不论是创业团队还是大中型企业,都在探索属于自己的敏捷开发、持续交付之道。fir.im 团队也在全面实施敏捷,并推出新持续集成服务 — flow.ci ,以帮助企业将开发测试流程自动化,更快速地交付产品...
继续阅读 »
互联网时代,人人都在追求产品的快速响应、快速迭代和快速验证。不论是创业团队还是大中型企业,都在探索属于自己的敏捷开发、持续交付之道。fir.im 团队也在全面实施敏捷,并推出新持续集成服务 — flow.ci ,以帮助企业将开发测试流程自动化,更快速地交付产品。 这篇文章将以实际开发为例,从敏捷方法论的角度来讲解 CI 技术实践与演变过程,大概分为三个部分,希望带给你一些参考。

持续集成做什么
持续集成的概念出现在 2001 年,它其实是一个 XP 极限编程的工程实践。那么持续的是什么,集成是什么呢,非常简单就是“一直不停地集成代码”。

持续集成是把代码频繁的合并到主干,通过自动构建的方式验证软件的质量,让团队快速的响应质量,快速的修复问题,快速的给客户解决问题,快速地交付更好的软件质量。

我们为什么要做持续集成
开发人员对下面的软件开发场景很熟悉,比如:
  • 场景一:开发了新功能,老功能产生新的 bug;
  • 场景二:修好一个 bug,又产生其他 bug,甚至出现连环 bug;
  • 场景三:出现的 bug 比较多,修改代码要很谨慎,不熟悉的模块一般不敢动,怕引起问题;
持续集成是如何缓解这个问题,Martin Fowler 大师曾经说过:

“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.” — Martin Fowler

如上面所说,持续集成不能消除 bug ,但能更容易地发现 bug,更快速地修复,提升产品质量。那么,持续集成能给我们带来哪些价值?
cic.jpg
从这张图上可以看到,持续集成形成一个完美的闭环。通过持续的集成进行不断地检查、调整,同时,项目的透明性也得到了最大的体现。fir.im 如何进行持续集成实践这是一个常见的持续集成流水线:
ciflow.jpg
在日常的开发过程中,程序员在本地提交代码,持续集成流水线要求先做一次本地集成,在本地进行验证后提交到源代码管理仓库中,之后源代码工具会发出 webhook 触发到持续集成系统中。当构建/测试完成后,会及时通过钉钉或邮件通知团队(测试/研发/boss/产品经理)集成状态,产品经理或项目经理收到通知后会在测试环境做验收测试,这是一个比较完美的反馈环。假如测试通过验收完毕后,持续集成系统会自动触发部署到类生产环节或测试环境,或由专人手动部署到生产环境。为什么要做本地集成首先,代码在远程进行管理,每个人都会提交代码,远程的代码仓库会产生变化,所以在本地集成的时候要求进行代码合并,以免出现分支冲突和代码冲突。其次,不要依赖于持续集成系统给你结果,可能需要 30 分钟的时间,不要让开发人员等待,一定要先做本地集成。如何做版本提交再说一个提交的问题,我们尽量保证每一次提交都是一个完整的提交,也就是原子提交。

当代码变动你想创建提交时,这个提交应该尽可能的小量,并且包含一个不可分割的特性(feature)、修复(fix)或优化(improved)。

拿每个产品开发都会遇到的 login 功能开发举例,当填完的用户名和密码传到数据库,做完验证后给用户返回一个结果。那什么是一个原子提交?比如,提交验证一个用户名,这是一个完整的 feature ;验证密码是否符合格式(6位/8位),这也是一个完整的 feature ;当我验证完用户名和密码后再传到数据库之后,查询正确与否,这也是一个完整的 feature ;保证每次提交是一个完整的 feature 或修复了一个 bug,不要代码写成半截。持续集成系统这里讲的是狭义的持续集成系统,通常的 CI 系统收到提交之后会触发构建,构建会有信息返回比如 commit id 、commit 信息、代码变更等,收到代码提交后会触发自动构建,接着安装依赖进行编译,并触发质量保证流程,也就是说自动化测试集。
cisystem.jpg
自动化测试集包括代码静态检查-单元测试-集成测试-验收测试-性能测试,也会有压力测试、回归测试、monkey test等等一系列的测试。
cisystem2.jpg
接下来,我们具体讲一下 fir.im 团队如何进行持续集成实践的。fir.im 的敏捷环境fir.im 是一个内测分发平台,我们也做了一个持续集成 CI 产品-flow.ci。先来看一下我们正在使用的敏捷环境:
Agilefirim.png
  • Trello 看板;
  • 三个环境(类生产环境,测试环境,生产环境);
  • CI 工具(Jenkins/flow.ci)
说一下 Git 分支管理我们在应用 3 个分支 —— master/develop/feature 分支,对 feature 命名会有一些要求,持续集成系统一定会反馈到 trello 的 kanban 里,所以对于 feature 分支我们也有这样的命名 feature/fci-{card number} 以方便区分。
gitbranchm.jpg
多分支如何做频繁地持续集成?master 分支,即线上分支。线上通常会有一些 hotfix, 任何产品都不可能避免线上的 bug ,这些 bug 需要在 master 分支进行修复,修复完成后持续集成系统会告知已上线,收到团队反馈,这些代码会要求更新在 develop 分支上,之后所有团队也会收到相关通知,那么 feature 分支会有变化吗?答案是肯定的,因为频繁的集成可以防止代码偏离。这就是我们多分支构建的策略。
fzce.jpg
还有一个策略——不同的分支不同的构建,持续集成系统跑完整个流程会很长,所以在 feature 分支频繁度会比在本地构建要高一些,但是也没有那么高。为了保证持续集成系统能快速地收到反馈,需要在 feature 分支上做一些定制的 workflow ,所以我们做了代码静态分析和单元测试。当 feature 分支的 card 做完之后(scrum 中 done 的含义是指测试验收完毕),集成到 develop 分支,develop 分支会自动部署到测试环境,会跑一个整个自动化测试集,为什么是这样的构建策略呢?

我们会做代码 review ,当 feature 分支提 pr 到 develop 分支上,这样 develop 分支的构建条件是:当收到 pr 之后,开始跑持续集成。假如部署完成整个测试跑过了产品经理验收之后,没毛病了,终于可以发布了到 master 分支。

整个团队的构建频率可以看下这张图:
Build-frequency.jpg
本地集成的频率非常高,远程构建对应的是 feature 分支,会相对低一下。QA 环境对应的是 develop 分支的构建粒度。这样的构建每天都会产生,所以做完之后不要积压,一定要保持上线节奏。
kanban.png
kanban + scrum 结合的方式构成我们每日构建,这是一个整体的构建策略和上线频率。fir.im 的持续集成系统演变过程罗马不是一天建成的,持续集成不是一开始就是完美的,每个开发者心中都有一个比较理想的自动化工作流——持续部署,大概会经历这几个演变阶段:
  • 最初阶段:提交代码-自动部署;
  • 一般进阶:提交代码-代码静态分析-自动部署,最简单先再加入代码静态分析;
  • 高级进阶:提交代码-代码静态分析-自动化测试集-自动部署;
flow.jpg
这是我们在用的自动化测试集,下面分别说下静态检查分析、单元测试、验收测试、性能测试的具体用途。Step 1. 静态代码分析每个公司都会有自己的代码规范,代码静态分析工具能够保证代码质量,现成的工具有 java 的 FindBugs,ruby 的 rubocop 等。利用代码检查工具可以帮助团队发现可重构的地方,输出产出 – HTML 报告,也会发现潜在 bug;有的代码检查工具还会检查出一些安全漏洞。这三点是代码静态分析最重要的作用。这里也分享一个 GitHub 地址,列出一些主流语言的代码分析工具,可以参考一下。Step 2. “单元测试”这里的 “单元测试”也加上了集成测试,毕竟创业公司要求资源最大化。程序员一定要写单元测试,要克服开发的惯性思维,不要甩锅。下面有一些注意的点和大家分享:
  • 测试异常——不仅仅测试正确情况,也要主动测试异常;
  • 减少耦合——保证独立的可测试性;
  • 功能分离——单元测试流太长,超过 20 分钟的话要详细想一下如何将功能单独拆开,效率更高;
  • 测试=需求——从测试代码看到每个 class 是干什么的,同时出现 bug 时,第一时间是看测试,想想如何从测试中复现;


Step 3. 验收测试
验收测试是端对端的测试,从收到用户名密码到返回结果,是不是我们所期望的一个值,这是验收 Acceptance Test,其实是验收了整个功能。代码静态检查和单元测试,保证了我们如何怎么去写代码,验收测试保证了写正确代码,符合开发需求。

flow.ci 做验收测试比较多,用的是比较流行的框架 Cucumber + Selenium WebDriver,目前支持 3 种数据库,5 种 git 仓库,7 种 开发语言跑在 docker 容器云上,支持 iOS 构建跑在 mac 机器上,要保证这些排列组合正常运行,这是 flow.ci 做验收测试最核心的价值。
value.jpg

其实,持续集成是一个工作流,当 push 代码的时候才会 run 起来,但是 flow.ci 本身系统也有外部依赖的特殊性,会依赖一些第三方的 sevice(比如 GitHub/GitLab 等),验收测试应该一直保持不断地运行,也可以叫持续测试吧。因为我们永远不能保证第三方的 api 会不会改变:)

Step 4. 性能测试
我们的性能测试做的比较简单,主要测试 api.因为 fir.im 做 app 的内测分发,我们需要性能测试保证 app 上传下载的正常稳定。性能测试是单用户的,压力测试是多用户的,这是两者之间的区别。

性能测试会有一些不确定性,有很多系统会产生缓存。flow.ci 的性能测试跑在 docker 上,是一个干净独立的环境,需要让系统预热运行一下。Locust/JMeter/LoadRunner是目前比较流行的性能测试工具。 flow.ci 目前用的是 locust,可以参考一下。

持续集成的可视化、数据分析
view.jpg

说到数据统计分析,整个 ci 流程跑下来产生的很多数据也非常有挖掘的价值。比如,对于代码静态分析有多少 Offence、Risk、Bug,对于单元测试有失败率、测试覆盖率;对于验收测试或性能测试有多少的失败率,这些数据都有可能成为衡量一个程序员的标准。
dataview.jpg


结语
CI 就像盖楼房的脚手架一样,没有脚手架就没办法盖出一个足够高的楼,没有 CI 就无法交付质量足够好的软件!


分享阅读:http://blog.fir.im/firim_ci_practice/ 


收起阅读 »

理解持续集成、持续交付、持续部署

「持续集成(Continuous Integration)」、「持续交付(Continuous Delivery)」和「持续部署(Continuous Deployment)」这三个概念有很详细的解释。这里借用文中的插图,说一下我对这三个概念的理解。   持续...
继续阅读 »
「持续集成(Continuous Integration)」、「持续交付(Continuous Delivery)」和「持续部署(Continuous Deployment)」这三个概念有很详细的解释。这里借用文中的插图,说一下我对这三个概念的理解。
 
持续集成
xci.jpg

持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
 
持续交付
xcd.jpg

持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。
 
持续部署
xcr.jpg

持续部署则是在持续交付的基础上,把部署到生产环境的过程自动化。我个人觉得持续集成、持续交付、持续部署非常值得推广。开发过程中最怕集成时遇到问题导致返工,而持续集成、持续交付、持续部署恰恰可以早发现早解决,从而可以避免这个问题。
 
参考:https://www.mindtheproduct.com/2016/02/what-the-hell-are-ci-cd-and-devops-a-cheatsheet-for-the-rest-of-us/  收起阅读 »

谈谈持续集成、持续交付、持续部署之间的区别

经常会听到持续集成,持续交付,持续部署,三者究竟是什么,有何联系和区别呢? 假如把开发工作流程分为以下几个阶段: 编码 ---> 构建 ---> 集成 ---> 测试 ---> 交付 ---> 部署 正如你在上图中看到,「持续集成(Continu...
继续阅读 »
经常会听到持续集成,持续交付,持续部署,三者究竟是什么,有何联系和区别呢?
devops-workfollow.png

假如把开发工作流程分为以下几个阶段:


编码 ---> 构建 ---> 集成 ---> 测试 ---> 交付 ---> 部署


正如你在上图中看到,「持续集成(Continuous Integration)」、「持续交付(Continuous Delivery)」和「持续部署(Continuous Deployment)」有着不同的软件自动化交付周期。
 
持续集成
持续集成是指软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误。“持续集成”源自于极限编程(XP),是 XP 最初的 12 种实践之一。
CI.png

CI 需要具备这些:
  • 全面的自动化测试: 这是实践持续集成&持续部署的基础,同时,选择合适的自动化测试工具也极其重要;
  • 灵活的基础设施: 容器,虚拟机的存在让开发人员和 QA 人员不必再大费周折;
  • 版本控制工具: 如 Git,CVS,SVN 等;
  • 自动化的构建和软件发布流程的工具,如 Jenkins,flow.ci;
  • 反馈机制: 如构建/测试的失败,可以快速地反馈到相关负责人,以尽快解决达到一个更稳定的版本。
持续集成的优点:
  • “快速失败”,在对产品没有风险的情况下进行测试,并快速响应;
  • 最大限度地减少风险,降低修复错误代码的成本;
  • 将重复性的手工流程自动化,让工程师更加专注于代码;
  • 保持频繁部署,快速生成可部署的软件;
  • 提高项目的能见度,方便团队成员了解项目的进度和成熟度;
  • 增强开发人员对软件产品的信心,帮助建立更好的工程师文化。
 持续集成,该从何入手最重要的一环是选择合适的持续集成系统。是搭建私有部署还是选择托管型持续集成系统,关键在于团队运行的基础设施,团队对持续集成系统的资源投入力度。对比一下私有部署和托管型持续集成系统,或许能帮助你更好地做出选择。Self Hosted CI 指的是将软件部署在公司的机房或内网中,需要提供多台服务器来完成 CI 系统的运转,同时需要对不同机器之间进行环境配置。比如Maven 或 Gradle 或 Jenkins ,他们的特点是自由开源,且文档支持广泛。优点在于对构建环境有完全的控制权,能够实现完全定制。但需要搭建环境和配置、维护成本高,需要买专门的机器,花费较多人力物力且更新迁移风险高;Hosted CI 指的是由 SaaS 型的 CI 服务,全程在线进行构建配置,不需要考虑装机器,装软件,环境搭建等成本。常见的有 CircleCI,Codeship 和 TravisCI 等,还有国内最新的持续集成服务——flow.ci 。SaaS 型的 CI 的特点在于无需额外机器,几分钟就可以用起来。可以根据你的需要动态调度资源。省时,省心,省力。 整体而言,Jenkins 过去一直是大部分公司的选择,但这个现象正在发生改变,随着公有云服务、Docker,SaaS 的普及,越来越多的企业开始选择 Hosted CI,也就是托管型持续集成系统。另外,在选择合适的持续集成服务时,还需要考量系统的灵活度以适应公司不同阶段的开发测试需求。 选择持续集成系统只是持续集成应用的其中一步,还需要建立合适的持续集成文化比如代码质量管控、测试文化等。做好持续集成,可为持续交付与持续部署打好坚实基础。 持续交付 持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。持续交付优先于整个产品生命周期的软件部署,建立在高水平自动化持续集成之上。
CD.png
试想想,如果说等到所有东西都完成了才向下个环节交付,导致所有的问题只能再最后才爆发出来,解决成本巨大甚至无法解决。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中进行更多的自动化测试。如果代码没有问题,可以继续手动部署到生产环境中。当然,持续交付并不是指软件每一个改动都要尽快部署到产品环境中,它指的是任何的代码修改都可以在任何时候实施部署。 持续交付的好处:持续交付和持续集成的优点非常相似:
  • 快速发布。能够应对业务需求,并更快地实现软件价值。
  • 编码->测试->上线->交付的频繁迭代周期缩短,同时获得迅速反馈;
  • 高质量的软件发布标准。整个交付过程标准化、可重复、可靠,
  • 整个交付过程进度可视化,方便团队人员了解项目成熟度;
  • 更先进的团队协作方式。从需求分析、产品的用户体验到交互 设计、开发、测试、运维等角色密切协作,相比于传统的瀑布式软件团队,更少浪费。

 
持续部署
持续部署是指当交付的代码通过评审之后,自动部署到生产环境中。持续部署是持续交付的最高阶段。这意味着,所有通过了一系列的自动化测试的改动都将自动部署到生产环境。它也可以被称为“Continuous Release”。
CR.png


为什么说持续部署是理想的工作流程?

“开发人员提交代码,持续集成服务器获取代码,执行单元测试,根据测试结果决定是否部署到预演环境,如果成功部署到预演环境,进行整体验收测试,如果测试通过,自动部署到产品环境,全程自动化高效运转。”



实际上,产品在从需求到部署的过程中,会经历若干种不同的环境,例如 QA 环境、各种自动化测试运行环境、生产环境等。这些环境的搭建、配置、管理,产品在不同环 境中的具体部署,状况是比较非常复杂的,从头到尾地全自动持续部署的确困难。那么,如果能做到持续交付,保证代码在模拟环境没问题,也许团队成员做到真正的心理有数。
 
持续部署的优点:
持续部署主要好处是,可以相对独立地部署新的功能,并能快速地收集真实用户的反馈。


“You build it, you run it”,这是 Amazon 一年可以完成 5000 万次部署,平均每个工程师每天部署超过 50 次的核心秘籍。


 
最后
「持续集成(Continuous Integration)」、「持续交付(Continuous Delivery)」和「持续部署(Continuous Deployment)」提供了一个优秀的 DevOps 环境,对于整个团队来说,好处与挑战并行。无论如何,频繁部署、快速交付以及开发测试流程自动化都将成为未来软件工程的重要组成部分。
 


分享阅读链接:http://www.jianshu.com/p/2c6ebe34744a
來源:简书


收起阅读 »

VMware Workspace ONE为企业搭建数字化工作空间

在移动及云计算时代,企业员工的工作方式以及所使用的终端办公设备发生了巨大的变化,同时也面临着一个难题:能提供高效使用移动设备的可选解决方案不仅数量有限,而且只能在身份管理、设备管理与应用交付方案的单一产品之间做出选择。 VMware Work...
继续阅读 »
在移动及云计算时代,企业员工的工作方式以及所使用的终端办公设备发生了巨大的变化,同时也面临着一个难题:能提供高效使用移动设备的可选解决方案不仅数量有限,而且只能在身份管理、设备管理与应用交付方案的单一产品之间做出选择。


数字化工作空间1.png



VMware Workspace ONE专为提供整合设备管理、应用交付以及身份管理的数字化工作空间而设计。

它将多种优势集中在单一移动平台上,帮助企业IT部门为员工交付关键业务资源,并进行安全管理,支持终端用户实现消费级简单访问。

统一企业应用商店

数字化工作空间2.png


通过AirWatch与Apple Volume Purchase Program(VPP)集成,可批量购买应用程序。AirWatch 通过与 Apple VPP (Volume Purchase Program) 和 Windows Store for Business 的集成来提供软件许可证管理。

统一身份管理

数字化工作空间3.png


企业应用的身份管理依然面临着诸如:每个应用都要求有一套用户身份、用户需要记忆多个用户帐号、遗留帐号没有跟AD相集成等难题,Workspace ONE可以对身份进行统一管理,避免空间的浪费。

完善的完全保护机制

数字化工作空间4.png


VMware的Workspace ONE平台将策略实施重新掌握在IT的手中,同时为用户提供灵活的隐私级别的服务,且无需记住登录或使用公司提供的机器。 SDDC和混合云实现了政策控制和灵活性的混合,为Workspace ONE平台的关键特性奠定了基础。

Workspace ONE是市场上唯一可以在整个堆栈中提供安全和管理的集成解决方案。

统一端点管理

Workspace ONE利用业界领先的EMM管理技术+传统的PC管理功能,管理各种Windows 10设备。AirWatch汇集了EMM和传统方法的最佳选择。完整的管理生命周期,从部署开始、管理设备和应用程序,实施安全性以及启用IT和最终用户。

设备调配

不再是刷系统镜像

登录到云端的Azure AD使用AirWatch来注册设备,开箱即用的用户体验 (开机可用就绪)。

配置系统策略

空中配置设备

安装或删除应用设置各种系统配置 (email、VPN、Wi-Fi……) 配置IT策略 (passwords、OS限制……)。

管理操作系统更新

告别 “Patch Tuesdays”

跟最新的Windows更新保持一致,管理安全和新特性更新安排系统维护窗口。

数字化工作空间不仅帮助企业IT部门实现更加高效且轻松的管理用户、设备与应用,它为业务部门构建与再建业务流程提供了一个安全且强大的平台,支持用户的移动业务能够更加有效地参与市场竞争。

想了解更多?敬请关注11月2日14 : 00“VMware——拥抱数字化工作空间”直播活动,听大咖与您分享,Workspace ONE如何为企业打造不一样的数字空间。

看直播·赢好礼

VR3D眼镜、手机特效镜头、硬盘包

等您来拿

直播间地址:“VMware——拥抱数字化工作空间收起阅读 »