凡客诚品陈贻泰:一套高实用性基础架构,专治电商运维各种痛点
《凡客诚品陈贻泰:一套高实用性基础架构,专治电商运维各种痛点》要点: 作者简介:
本文介绍凡客诚品花费过亿的 IT 基础架构情况,希望对读者能够有所启发,我目前服务的公司在 IT 基础架构建设方面也刚刚起步. 1、信息系统运维的基石—网络运维我们先来看看这个,想必作为运维,大家都很熟悉这两张图.这张图上是最为基础的 TCP/IP 模型和 OSI 模型. 下图构成了网络运维的最小知识原子,我们经常通过两个知识原子来指导我们解决遇到复杂技术问题. 以 OSI 来讲,它将庞大复杂的网络分为了七个层面,与其对应的 TCP/IP 对其又进行了整合划分为四个层面分别是应用层,传输层,网络层和网络接口(数据链路层,物理层).应用层最高,物理层为最底层,每个层为上层提供服务.从分层的设计角度来看,这是一个很好的自顶向下、分层和模块化的设计思想. 如果我们以之前的 TCP/IP 模型为基础,对其进行改造,把它整合成公司的信息系统架构.在应用层上再加一个层面,就是公司的业务层.在将下面的几个层面抽象成与公司业务相关的层次,这样就型成了以业务层、应用系统层、基础系统层、网络层,以及机房层核心的五个层面. 然后我们在给他加上资源管理和监控、审计与安全这两个横贯全层次的运维流,这就构成了一个实用的 IT 模型.凡客当时的 IT 基础设施架构就是这样的情况,下面我们来介绍下这个模型.
这个模型存在的意义是帮忙我们理快速解整个企业的IT系统的,对于不同的IT人员有不同的切入角度.作为我们运维人员,我们就需要从运维的角度去看待各个层面对我们自身工作的影响. 简单的说,企业 IT 基础架构,按照这个模型,就涵盖了基础系统层、网络层、机房层,所以在实际工作中,更多的要考虑业务层、应用系统层对这下三层的影响. 下三层,也就是 IT 基础架构层面要怎么设计和建设才能满足上三层包括应用系统的正常运行,进而满足公司业务发展. 接下来我们首先来了解下凡客当时的历史背景和业务情况,在业务层主要分这几大块:
在2013年巅峰时期,全国有近三十个仓库和近 10 个办公楼,6个 IDC 数据中心,员工有1万2千多人. 每个仓库和办公楼、IDC 数据中心我们视作一个站点,加起来就是40多个站点,每个站点办公人员上百到千不等,所以是一个非常大的企业网络. 每个业务模块的应用系统是不一样的,对基础系统网络的要求也是不一样.比如仓库对无线的要求就非常高,因为拣货都是通过移动手持设备去扫描找货的.仓库那么大,对设备漫游的要求和办公网络是很不一样的. 业务层和应用系统层的区别是有的,但是作为底层的基础架构,其实更多的是共性,作为基础层,要求我们对公司上层所有应用都能良好的支撑,我们这次重点讲共同的东西,大同小异的架构层面. 3、基础层设计和实践我们先看看基础系统层面的具体设计和实践,基础系统层我认为包含这些:
3.1 网络基础服务的设计—DNS由于我们仓储业务和呼叫中心业务的特点,对高可用性要求相当高,因为我有次亲身有体会. 刚入职没多久,我们正在对上海的一个仓库的域控制器进行升级,导致了运行在上面的 DNS 服务器出现了中断,时长大约半个小时吧.大家正忙着恢复,领导站在旁边默默的看着没说话. 在事后告诉我说,隔壁的库房流水线上有上千个人都不能干活了,大家等我们站着等我们恢复系统等了半个小时. 所以,由于业务的关系整个凡客 IT 基础架构,最大的特点之一,就是对 IT 基础设施的可用性要求非常高. 我们基本上主体都是使用 Windows 服务器来提供 DNS 和 DHCP 服务.为什么呢,主要是 Windows 活动目录的普及,所有计算机都加入域,Windows AD 本身就有 DNS 了,当然加个 DHCP 服务也很容易,Windows 上面管理 DHCP 还是比网络设备上管理要方便太多. 除了 Windows AD 的先发优势和既有资源的优势外,Windows 上的 DNS 和 DHCP 在高可用性上也符合业务的要求. 对于 DNS 来讲,DNS 服务器每个站点就有2台,这2台是通过 AD 复制服务保持状态和数据同步的,而且 AD 复制机制是双向的,比 DNS 自身主从复制更有优势,当然,Linux 的 bind 也是主从单向复制. 对于客户端,网卡上需要设置本地的2个 DNS 服务器地址作为冗余了. DNS 使用中还有一个中国人都会遇到的问题,就是电信和联通的问题.因为我们仓库系统、内部管理系统有时需要调取网站的图片,比如某个单品页,衣服的图片等. 由于 CDN 和各地站点网络出口不同的问题,为了提高访问这个图片的效率,需要就近访问该图片 CDN 的缓存,所以对于 Internet 的访问,需要转发到本地 ISP 提供的 DNS. (编辑:ASP站长网) |