e-works数字化企业网  »  文章频道  »  基础信息化  »  网络与安全

一套大而全的系统架构体系与具体落地方案

2018/1/22    来源:搜狐    作者:战学超      
关键字:系统访问链路  数据中心  
本文从系统访问链路为切入点,围绕访问链路的方方面面,包括基础设施、分层架构、分割架构、系统保障、技术平台生态圈等几个方面进行展开,同时结合自身经验,介绍具体落地的方案和技术,希望能够给读者带来一些收获。
    讲师介绍
 
战学超
 
    战学超
 
    青岛航空运维经理
 
    高级架构师
 
    曾任职于NEC软件、海尔B2B平台巨商汇,负责企业数据平台构建、B2B电商平台数管理与搭建、企业运维管理平台搭建;
 
    拥有丰富DBA、系统运维架构经验,熟悉运维管理、数据库架构、数据平台搭建、虚拟化、私有云部署、自动化运维等。
 
    写在最前面
 
    上次参加DBAplus举办的敏捷运维峰会时,一个兄弟的提问一直萦绕耳边,由于时间有限没有进行深入的交流,甚是遗憾。那个问题是:你们公司的IT系统架构是怎样的?又如何具体落地?采用了哪些开源或是商业的技术?
 
    其实之前也写过或是做过一些关于系统架构的分享,或多或少的个人或其它限制,总觉得未能尽兴,留有遗憾。因此经过最近一个多月的总结和梳理,在这写出来跟大家做一个分享,这也是对我个人技术生涯中系统架构部分做一个阶段性的总结,以便往后能够更好地投入到接下来的云平台架构和机器学习,以及企业如何降低IT成本的深入研究中。
 
一套大而全的系统架构体系与具体落地方案
 
    系统架构是一个比较大的话题,以一个什么样的思路或是方法进行切入很重要。系统架构的脉络可以让我们很好地了解系统架构的整体概况,也可以帮助我们建立有效的个人架构知识体系。
 
    本文从系统访问链路为切入点,围绕访问链路的方方面面,包括基础设施、分层架构、分割架构、系统保障、技术平台生态圈等几个方面进行展开,力求展现出一套相对比较完整的系统架构体系,同时结合自身经验,介绍具体落地的方案和技术,希望能够给读者带来一些收获。
 
    一、访问链路
 
    访问链路表示从用户访问请求到最终生产服务器响应,再到反馈给用户请求的结果信息这一过程。不管是互联网企业还是传统企业,在系统架构中一定要明确自己的访问链路,这对系统优化、系统排故、链路监控等至关重要。
 
一套大而全的系统架构体系与具体落地方案
 
    该图是一家中小型公司的访问链路图,系统主要分为两大块:一是对外提供服务的电商平台;另外一块是企业内部的核心生产系统和企业信息系统等。灰色部分表示正在建立或是规划建立的部分。
 
    该公司访问链路主要有两条:一条是外部客户的外网访问链路,另一条是内部员工的内网访问链路。该公司是有自建的数据中心机房,可能现在很多公司都将对外访问的系统放到租赁的IDC机房或是云服务器,其实都是一样的。根据系统特点划分内外网访问链路,可以节省网络流量,也可以增强内部系统的安全性等。
 
    1、外网访问链路
 
    公网DNS->GSLB->CDN->防火墙/IPS->WAF->软负载->生产服务器。
 
    外网访问链路从公网DNS开始,按照用户访问请求的全链路,完整的DNS解析过程应该是这样的:
 
一套大而全的系统架构体系与具体落地方案
 
    用户本地Host->用户DNS缓存->LocalServer(本地DNS电信、联通等)->Root服务器->权威服务器->LocalServer->用户得到DNS解析结果->请求等。
 
    2 、内外访问链路
 
    内外DNS->软负载->生产服务器
 
    图中数据中心B暂时为备份机房,提供实时同步和延迟同步两种备份方式。有一些大型集团公司可能多个数据中心同时在用,这个时候有的是采用专线的方式,也有的是采用服务器直接部署在云中,这个需要根据专线和云服务的成本(其实云服务的价格不一定低),以及数据的保密性等进行选择。
 
    其实上面的访问链路也有一定的潜在问题:
 
    当外网访问量大的时候,硬件防火墙和WAF将会成为一定的瓶颈,需要进行优化、限流或是直接摘除,转为在软防火墙或是应用WAF进行分布式防护;还有一点就是对防火墙和WAF的策略要求较高,要避免漏杀或是误杀的情况出现。
 
    内网的安全性问题。内网的DNS和软负载没有有效地提供内网对生产服务器的保护。这个需要从两方面加强:
 
    一是对办公区PC机的防病毒客户端安装并及时更新策略;
 
    二是在软负载层增加安全策略,一般两种方式:
 
    调整WAF的策略或是网络位置,对内网进行安全防护;
 
    直接购买新的WAF放在内网区,但这会增加成本,同时让访问链路更复杂。
 
    其实可以在内网部署开源WAF或是结合Nginx做安全防护,这里推荐一款Nginx+Lua做的安全防护模块:https://github.com/loveshell/ngx_lua_waf。
 
    访问链路要尽可能的高效、安全、简单。每一个系统架构师一定要对自己企业或是产品的访问链路了然于胸,在系统使用者反馈故障或是性能问题时,深入分析链路中的每一个元素找到故障点或是性能瓶颈,进行处理或优化。
 
    二、基础设施
 
一套大而全的系统架构体系与具体落地方案
 
    基础设置主要包括网络、基础硬件/基础软件、数据中心这三部分,以及围绕基础设施做的软件定义网络(SDN)、虚拟化容器化、云数据中心等,力求做到上层IT架构可以不用去过多考虑基础设施。
 
    1、网络
 
    网络方面包括:网络接入、网络规划、网络实施、拓扑结构、流量管理、安全监控等几个方面。
 
    首先是网络接入,由于中国特殊的网络环境,对于需要对外提供服务的系统一般都需要考虑多网络供应商的接入,包括移动、联通、电信等。不同的网络接入对外提供服务时,会依赖智能DNS等手段,实现不同网络环境连接至不同公网IP,尽量避免跨网络供应商的访问,提高访问速度。
 
    网络规划主要包括局域网的规划和划分,一般情况是需要分隔离区(DMZ)、办公区、测试区、生产区等几个区域,不同区域之间通过防火墙等安全设备进行有效隔离。另外,广义上的网络规划还包括数据流量及约束条件分析、网络选型、拓扑结构设计、网络安全、建设方案等几个方面。
 
    接下来是网络实施。根据网络规划和网络建设方案,进行网络的部署和实施。
 
    不管传统企业还是互联网公司,一定要有自己的网络拓扑结构图,这样网络架构清晰明了,当网络故障时,对于故障点、影响范围等都可以通过网络拓扑结构图快速获得。网络拓扑要实时更新,时刻保持与真实网络环境一致。
 
    要对网络的流量进行管理和实时监控。根据网络流量合理调整网络带宽等。整个网络基础设施中的网络安全不可或缺。一般通过防火墙、IPS/IDS等软硬件设备进行网络安全的防护或是监控、分析和屏蔽绝大部分的网络攻击行为。
 
    网络作为重要的基础设施之一,要根据安全策略和实际业务量、业务情况等几个方面进行合理的规划和实施,完善网络拓扑结构,通过监控和流量管理等手段,实时了解网络以及网络设备的运行情况,当出现故障或是性能问题时,能够快速发现故障源或是性能瓶颈点,以便有重点地进行排故、调优。
 
    2、基础软硬件
 
    1基础硬件
 
    基础硬件包括服务器、内存、CPU、存储电源、防火墙、交换机、路由器、集线器等服务器、网络及周边硬件设施。
 
    基础硬件及其备件一般有双份或是多份,避免硬件单点故障,也就是说一般企业要有自己的备件库,对服务器、存储、网络设备等硬件进行备份,当出现问题时,可以及时更换。备件库的信息也要跟随CMDB一起入库管理。
 
    2基础软件
 
    基础软件包括操作系统ISO文件、数据库安装文件、应用服务器安装文件等基础软件,也包括办公用的Office、浏览器等软件。
 
    根据个人经验,推荐一种相对比较好且易于部署管理的基础软件管理方式。根据软件的性质进行如下分类,请大家参考:
 
一套大而全的系统架构体系与具体落地方案
 
    将上述软件进行统一整理,部署到一台Nginx服务器上作为静态资源,并建立二级域名如soft.xxx.com。这样局域网内用户在使用软件时,直接通过访问soft.xxx.com进行下载安装即可。这样做的一个好处是可以管理公司的基础软件,并且规范版本号,避免多种版本的存在。以下是使用Nginx搭建的一个软件库,仅用来说明。
 
一套大而全的系统架构体系与具体落地方案
 
    3、数据中心
 
    如今越来越多的公司采用云服务进行系统部署,省去了自建数据中心机房等比较繁杂的事情。短时间来看对企业是非常有利的,因为快且方便,可以适应企业的快速发展。但随着企业的规模不断变大,大量的使用云服务,IT成本会越来越高,自建数据中心可能会逐渐成为一种比较经济的方式。自建数据中心和云服务本身是没有矛盾且可以科学组合、相辅相成的。企业哪一阶段哪一种方式最优,要根据企业的业务实际情况和进行科学的计算后才可判断哪种方式最经济。(注:这里的云服务是指的公有云)

责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐