我们实施的网站开发与托管累计有数百个,运维团队和技术团队共同在天涯运营最困难的时候,保住了天涯顺利渡过互联网寒冬时期。几年后,随着互联网复苏,天涯流量不断翻番,运维部门逐渐从系统集成项目抽身而退,工作重心转移到天涯网站的架构扩展及运维之上。
千台服务器规模,近10G的流量,日PV亿级,每秒用户会话几千; 中型互联网
发展的阶段 一
数据库扩展方面,我们用最简单的办法,分库。原来的版块是一张表,分库后每一个版块是一个独立的库,访问量大的版块甚至由一组独立的数据库服务器承载。早期的数据库平台是MSSQL Server,我们用日志复制的方式来做双机,发布和分发服务器是主,订阅服务器是从。
发展的阶段 二
后期迁移到Mysql后就更简单了,一组服务器由一台/二台master和多台slave组成。master负责写,slave负责读。目前架构设计正在考虑通过NOSQL的架构重新将所有版块库组成一个更大的,支持更高水平扩展的分布式虚拟数据库。
阶段 三
NoSQL。。。。 RDS etc
原来的IIS+MSSQL+Windows平台也转向Resin+MySQL+Linux,此时的运维团队开始天涯运维的第二个阶段,平台转型阶段。========〉爱baobao么?难道企业不能一步到一个长期平台?
前端是智能DNS和双线接入,本地负载均衡采用F5-LTM 6400和LVS,反向代理采用Haproxy,页面内容缓存使用varnish替换了squid,应用层为Nginx+Resin,静态资源采用Varnish+Nginx,数据级缓存采用Memcached,数据库为MySQL,中间层使用ICE和MQ。
用cacti来做性能监控,nagios做主机监控,用PHP+ssh实现远程管理,用ASP+MSSQL自己写资产管理系统等。
2009年运维团队开始尝试使用虚拟化技术。在经过测试和实践后,我们使用了XEN来实施虚拟化,并使用性价比最高的服务器硬件方案来实施虚拟化,即双路4核CPU,64G内存,6块SATA硬盘。
每个VM的实例为单核CPU、8G内存、100G磁盘空间、100M网卡。我们没有使用统一存储,经过计算这样的性价比不高。VM的容错我们通过将VM部署在不同的物理服务器实现。至于应用集群则通过前端负载均衡解决。
经过二年多的虚拟化实践,虚拟化技术很好地解决了天涯对各产品的快速支撑需求,特别是在仅有几名sa的运维团队中,支持了天涯几十个产品,上百个应用的在线运行,为业务的扩展提供了便利。
私有云的实践对运维工程师提出了更高的要求和挑战,运维工程师要达到devops的境界,并且更深入地理解私有云架构才能实现对私有云的运维能力。
所以我们的运维团队首先是学习型团队,团队成员的成长是我们最看重的团队目标。每个工程师必须有自己清晰的职业生涯规划,不断在职业成长中实现个人的近中远期目标。
DevOps(开发运维)如今是科技人士挂在嘴边的热词,但遗憾的是,类似圣经,每个人都引用DevOps的只言片语,但真正理解并能执行的人极少。根据CA的一项调查,45%的受访者并不了解DevOps的含义,其余则有17%认为DevOps只不过是炒作。
关于DevOps:
(以下摘自Wikipedia)
DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。[1] 它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
以下几方面因素可能促使一个组织引入DevOps: