#Qcon# 分享

      明天被领导要求分享Qcon体会,实在是件不怎么容易的事情。Qcon这样的企业开发大会,很多东西必须要实际应用过才能深有体会,泛泛的谈似乎又觉得乏味。好吧,泛一下就泛一下吧,总比废话要强(上一句是我认为的废话)。

       第二天的Qcon大会我主要听了“Devops”的主题。下面分场次来讲一下:

1. 乔梁的Devops

持续集成(CI)拉近Dev和QA

敏捷(Agil)拉近了Business,Dev和QA

Devops需要拉近Dev,QA,Ops

Devops兼顾了Dev,QA,Ops,Devops = Culture + Tools,乔梁认为Culture占了70%~80%

无论是CI,Agil还是Devops,自动化是最最基础的。

自动化根据应用场景的不同可以分为三个方面:

1. Environment Provisioning (推荐工具:Puppet,Chef,ControlTier)

2. App Deployment & Data Migration (推荐工具:Capistrano,DBdeploy)

3. Logging & Monitoring (推荐工具:Splunk,Nagios,Munin)

工具具备,如何做(How)?

1. Always write production-ready code

2. Minimize the lead time from idea to live

(我怎么感觉这是What,而不是How)

再玩一下概念:

乔梁提到了精益软件开发(Lean Production,LP,哦,是精益,不是老婆。。),LP是敏捷开发模式中的一种。他提到了符合LP的几种有用实践:

1. System Thinking

2. Value Stream Mapping

3. Practices

后来提到了Marting Fowler一篇关于特性分支的文章:http://martinfowler.com/bliki/FeatureBranch.html

后来举了一个baidu内部推行持续交付的实际项目。

2. 印度某公司的Devops关于Chef的介绍

提到了Devops的Culture:

infrastructure as code

1. Repeatabiity —— Idempotence (幂等性)

2. Automation

3. Agile

4. Scalability

5. Ressurance

6. Disaster Recovery

ssh in for loop is not a solution

后面就开始介绍Chef在他们公司的应用,哥不是很了解。不过发现Ruby在工程上的应用还是很多的(Chef是用Ruby开发的)。

3. 百姓网的敏捷实践

人少的团队就是敏捷啊,不敏捷也就可以88了。

百姓的现状:

1. 集中开发环境

2. 用户测试驱动开发(PHP的动态特性)

3. Svn无分支

4. 每日上线

总体感觉,由于技术人员比较少(全部加起来也就12人),在很多方面可以做到非常灵活,本身的技巧可能并不是多么新鲜。

光是写了下别人的东西,感觉不太好,我补充一下个人的体会,精辟的说两句:

1. 作为技术人员,至少目前是,对于“概念”要保持足够的认识。要知其所以然(为什么要提出这个概念?目前是否有好的实践?),而不是泛泛停留在表面,没有哪家公司会为了“概念”付费。

2. 概念说到底,就是要求项目中的人具备各方面的能力,才能让沟通、理解保持在很高的水准,最终达到更快,更高,更好的目的。比如“Devops”,很明显的例子,所谓的“一专多能”。

3. 很多东西,属于“虽不能至,心向往之”,比如百姓网,只有12个开发,那敏捷的程度自然不是动辄几百个开发的大公司所能比拟的。但是我们要敢于想象一种理想的境界,而不是过分强调“我们目前的实际情况”,这个不可行,那个不现实,结果一样没去做。我理解的废话,一般就是这种类型的,“虽然。。但是。。”,“一方面。。另一方面。。”,“希望更理性的分析。。而不是。。”,网易做产品强调“有态度”,做人做事也是如此,一定要有倾向性,让别人看得出你的态度:赞同什么,反对什么;赞同谁,反对谁,尽管都是一定程度上的(你懂的)。

好了,9点快到了,写的再爽也要停笔了,人怎么能跟时间较劲呢。呵呵。

猜你喜欢

转载自jdoc.iteye.com/blog/1227768
今日推荐