在实现系统的自动化时,可能没有任何方法可以确定全部服务器是否都正确配置了某一个系统。如果部署一个审核系统,那么它就可以执行一个自动化过程,确定某个属性(如配置文件中的某个设置)在成百上千个服务器中是否保持一致。在自动化过程中,审核可能非常简单,如验证某一个配置在一组服务器中的完整性。例如,验证某一个版本的Apache配置是正确的,而且在所有服务器上都保持一致,或者一组服务器都使用了一个相同的配置文件。事实上,即使部署了高级配置管理框架,有一些东西仍然会发生变化,不能保持同步,因此使用一种方法去验证服务器、应用程序和配置的状态,仍然是自动化过程的重要组成部分;如果基础架构出现了问题,那么一定要再次检查基础架构的各个组件。
定要注意,不同的配置管理或自动化框架会采用不同的方式去审核一个基础架构或多个服务器、操作系统、应用程序及其配置参数。通常,审核一个Web基础架构的所有方面需要耗费大量的时间,但是与其当出现问题时才考虑必须审核哪些东西,不如想好哪些是不能不审核的。假如,生产网站出现了一个严重问题。可能这个网站每月的用户访问量可达上百万次,每年能够产生50万美元的收益。当召集所有人开会时关键是要确定出现了什么问题,以及如何解决这个问题。这时,问题可能就是由于应用程序代码的版本不一致而引起的。大多数编程语言都会在应用程序的二进制文件中使用一种配置清单文件来确定Web服务器或应用服务器中所部署的应用程序版本。
现在,一个中等规模的网站基础架构就可能包含50-1000Web服务器和应用服务器。其中包含了大量的操作系统、应用程序、配置文件和参数,这时我们要逐一排查,才能确定可能导致问题和影响网站访问体验的方面。
此刻应该使用审核软件来确定哪些服务器出现了问题。在该例中,某个应用程序二进制文件的版本不一致性是问题的根源。下一步就是确定哪一些Web服务器或应用服务器出现了问题,这样才能确定应该从哪里开始解决问题。同样,一些好的审核框架可以帮我们创建用于修复当前服务器的补丁包,然后再将它们部署到所有确认出现问题的服务器上。
审核过程中最难的一步是确定要审核哪些部分。这个过程取决于正在运行的应用程序类型、源代码管理和部分方式、源代码库的类型、所使用的编程语言、操作系统及管理方式和业务需求。如果一个环境可以容忍较长的停机时间,例如那些不会产生收益的网站,那么它的审核要求肯定低于那些每小时能产生大量收益的网站。后面一种环境需要使用一种高度可控和自动化的方法来确定出现问题的位置。
在一个完全虚拟化的环境中,所有应用程序都运行在一种虚拟化平台上,只要有一个分配框架负责重新安装虚拟服务器和重新部署应用程序代码,我们就没有必要引入一个复杂的审核框架,也没有必要花太多时间去确定发生问题的位置,除非这个问题总是频繁地重复发生。如果完全重建一个服务器并部署应用程序只需要8~15分钟,那么就没有必要去确定这个服务器所出现的问题。
然而,在一个固定的基础架构或者一个未使用服务器虚拟化的基础架构中,审核是非常重要的。在这种环境中,我们无法使用实时快照自动回滚修改,也不能启动一个完全重建整个服务器及应用程序的过程。
注意即使没有使用虛拟化技术,有一些配置管理框架仍然能够保存数据库的修改历史记录,并支持实时回滚修改。
与虚拟化环境相比,固定环境对于错误的容忍度较小,因此它们必须确定需要审核哪些文件、配置和应用程序。有一些方法可以解决很大一部分问题,如源代码管理知识库,但是它们无法解决由系统级配置变化引起的问题,如安装内核补丁,更新网卡、磁盘控制器的固件和设备驱动程序,等等。这些修改通常会产生意想不到的结果,然后工程师必须自行分析哪些网卡出现了问题,然后才能在所有系统上逐一解决问题。
审核框架有以下优点:
寻找一些未知问题;
改进系统与应用程序的性能;
帮助Web基础架构从问题恢复,避免出现几小时甚至几天的停机时间;
在
网站设计Web基础架构出现问题时,定位那些日志或监控系统都无法定位的问题位置。
文章名称:如何审核网站基础架构?
本文来源:/news17/151317.html
成都网站建设公司_创新互联,为您提供网站内链、品牌网站设计、网站策划、网站建设、标签优化、微信小程序
广告
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源:
创新互联