不存在百分百的安全,该给你的系统上个保险了

标签: 架构运维 | 发表时间:2023-03-22 10:51 | 作者:
出处:https://blog.didispace.com/

故障,是每个技术人都不愿遇到,但却总会遇到的事件。程序Bug、安全漏洞、黑客攻击、服务器宕机、网络中断等诸多因素都有可能引发系统故障,使我们的业务面临瘫痪的窘境。这样的例子,国内外都在不断的发生,比如:
2020年,由于严重的全澳性IT故障,Coles的收银机全部不能联网,down机瘫痪。收银员扫不了货品顾客也不能结账,澳洲每家Coles超市都被迫暂时关闭。
2018年,上海的医疗保险信息系统就突发故障,波及上海各大医院的结算系统,致使大量市民在就医时无法正常使用医保卡,众多医院的排队窗口前纷纷大排长龙,场面混乱。事发之后就有不少网友质疑,涉及面如此之广的医保信息系统,“难道没有应急措施?”
这些活生生的真实案例都在提醒我们,技术赋能业务产生更高效率、获取更多价值的同时,保障系统稳定运行也至关重要。一旦系统出现大范围、长时间故障,致使业务中断的后果可能直接磨灭技术赋能带来的收益,甚至还可能带来经济损失、品牌受损等严重后果。

所以,有必要给我们的系统上一份“保险”——构建高可用的系统架构,这是每个技术团队都在努力的核心目标。

什么是高可用

那么怎么样的系统是否具备高可用能力的呢?我认为主要考量两个方面:容错与容灾。

容错能力指的是当故障来临时,业务系统是否可以不中断,继续服务的能力。常规措施就是集群化部署,同样业务的应用部署多台服务器,即时有个别服务坏了,其他服务依然可以提供业务支持。这就像飞机配置多台引擎一样,即时有一台坏了,剩下的依然可以支撑它飞行到指定地点安全着陆。

容灾能力指的是当重大灾难来临时,容错能力已经全部失效了,但我们依然有能力通过一些手段让业务重新恢复。常规措施就是备份,当某个机房发生了严重的故障,所有服务器都无法正常工作了,但数据备份还在,那我们就可以重新加载它们并让系统重新运行起来。这就好比飞机上的引擎全部坏了,但为了保证飞行任务以后还能执行,必须提供保护飞行员逃生的装置,比如通过弹射跳伞的方式令其可以幸存下来,之后又继续再其他飞机上继续执行任务。

高可用系统的构建准备

首先,在构建高可用系统之前,我们要对故障有几个基本的认识:没有任何一个设施是100%安全可靠的。所以,一个系统在设计高可用架构的时候,复杂度随涉及的设施的数量增多而变高。

其次,我们需要尽可能的精简运维体系。简单的说,上云是大部分企业的最佳选择。除非自身团队在同预算的情况下,能够在基建维护上达到相同乃至更高的可用性。不然你机房建设、服务器、网络等基础设施的维护可能都将要你半条命。

再者,必须平常心对待可用性保障,这个道理就不多说了。意外总是在发生,翻翻过去的那些故障,是不是都还历历在目:

2022年6月,Cloudflare的意外中断导致大量热门网站访问出现问题
2021年12月,AWS大面积故障导致大量网站无法服务,亚马逊电商也遭受重创2021年5月,IBM Cloud在短短5天里连续发生两次严重的中断事故
2020年3月,Google Cloud多个地区的云服务瘫痪,时间长达14小时
2019年2月,Google Cloud因光纤受损出现网络问题,时间长达10小时
2018年4月,Azure因受雷雨天气影响导致电压激增而中断服务,时间长达28小时
但是。正因为没有100%的无故障,我们才要用高可用,因为这是唯一挽救你造成巨大财产损失的机会。

最后,我们不得不正视一个云服务用户的常见误区。当我们选择云服务商的时候,需要明确云厂商到底给我们提供了哪些高可用能力,而剩下的高可用能力覆盖是需要我们自己设计和实现的。我们要知道,一个高可用系统的构建是贯穿基础设施、中间件、服务端、客户端等多方面的。对稳定性高度敏感的企业一定要平常心看待故障 ,用好高可用。

(下图展示了云服务厂商和用户的高可用上的责任模型:云服务商提供的主要是基础硬件服务的高可用能力。而我们之前所提到的业务容错(负载架构)、容灾(保障数据备份)能力都是在用户侧的。供参考)

所以,如果在上云的时候,对自身业务系统不做额外的高可用保障,那就很可能出现文章开始我们提到的那些业务窘境。

总结

今天跟大家聊了聊系统上云时,容易被忽略的高可用问题,以及如何做好云上高可用架构的方法。对此你有什么想法呢?留言区一起聊一聊。

相关 [存在 安全 系统] 推荐:

不存在百分百的安全,该给你的系统上个保险了

- - 程序猿DD
故障,是每个技术人都不愿遇到,但却总会遇到的事件. 程序Bug、安全漏洞、黑客攻击、服务器宕机、网络中断等诸多因素都有可能引发系统故障,使我们的业务面临瘫痪的窘境. 这样的例子,国内外都在不断的发生,比如:. 2020年,由于严重的全澳性IT故障,Coles的收银机全部不能联网,down机瘫痪. 收银员扫不了货品顾客也不能结账,澳洲每家Coles超市都被迫暂时关闭.

Android操作系统安全

- - CSDN博客推荐文章
        Android在迅猛发展的同时,其安全问题一直没有引起足够的重视,但在2010年6月研究人员发布Android平台的KernelRootkit以来,Android平台的安全问题引来了越来越多的关注,而同时,Android平台的恶意软件也开始流行起来.        根据以上的Android系统架构分析,可以发现在三个层面可能存在恶意软件.

Linux 系统安全检查

- -
对linux系统进行安全检查的方法. 1、充分利用Linux和Unix系统中内置的检查命令来检测系统. Linux和Unix系统中就很有用处: . -who,查看谁登陆到系统中; . -w,查看谁登陆到系统中,且在做什么操作; . -last,显示系统曾经被登陆的用户和TTYS; . -history,显示系统过去被运行的命令; .

Linux系统安全强化指南

- - DockOne.io
本指南旨在说明如何尽可能地加强Linux的安全性和隐私性,并且不限于任何特定的指南. 免责声明:如果您不确定自己在做什么,请不要尝试在本文中使用任何内容. 本指南仅关注安全性和隐私性,而不关注性能,可用性或其他内容. 列出的所有命令都将需要root特权. 以“$”符号开头的单词表示一个变量,不同终端之间可能会有所不同.

Linux系统安全加固指南

- -
 点击上方“分布式实验室”关注公众号. 本指南旨在说明如何尽可能地加强Linux的安全性和隐私性,并且不限于任何特定的指南. 免责声明:如果您不确定自己在做什么,请不要尝试在本文中使用任何内容. 本指南仅关注安全性和隐私性,而不关注性能,可用性或其他内容. 列出的所有命令都将需要root特权. 以“$”符号开头的单词表示一个变量,不同终端之间可能会有所不同.

WebGL存在严重的安全漏洞

- CandyFrankie - Solidot
Panggit 写道 "HTML5中的WebGL技术已在Firefox和Chrome等浏览器中实现,并被默认开启,但这实际上给浏览器带来了极大的安全隐患. 问题根源在于,大多显卡以及显卡驱动在设计时并不考虑安全问题,而将相关安全问题交由操作系统完成. 但浏览器沙盒跳过了这一环节默认WebGL可以被安全执行,这会使脚本取得跨域名的执行权限,甚至取得访问本地文件的权限.

小偷的存在意味着安全

- JustYn - Solidot
一种居住在非洲的卷尾属小鸟“Dicrurus adsimilis”是靠“嗟来之食”或“偷来之食”生存,它偷其它鸟类辛苦收集的食物,不是偷偷摸摸而是公开的偷,但为什么受害者在发现周围有卷尾鸟后没有采取驱赶的行动. 一项研究发现,卷尾鸟的作用相当于预警系统,它的出现预示着周围没有天敌,受害者可以放心的在四周觅食,不用时刻关注周围环境.

日本新干线系统:安全没有妥协余地

- laoguo - VOA News: 中文主页
日本新干线系统:安全没有妥协余地. 中国高速铁路发生重大事故,人们对铁路安全担忧升级的同时,开始重新审视日本新干线近半个世纪安全业绩. 日本新干线有关人员说,只有安全才能有安心,在安全面前没有妥协余地. 2011年3月11日下午2点46分,日本东部地区发生里氏9. 0级地震的瞬间,在福岛、宫诚、岩手和青森4个县震中附近行驶的11班次新干线列车上,前期地震探测系统启动,列车自动断电并紧急煞车.

Linux的系统安全设置Shell脚本

- QQ - 服务器运维与网站架构|Linux运维|互联网研究
本脚本是第二次更新,已经大量应用在某大型媒体网站体系中,加入了之前没有想到的一些安全设置. 使用方法将其复制,保存为一个shell文件,比如security.sh.将其上传到Linux服务器上,执行sh security.sh,就可以使用该脚本了. 建议根据自己的实际需要来修改此脚本,不要盲目使用.

金山重装高手-重装系统如此安全简单

- Richard - 小建の软件园
金山重装高手更新到2.1.1.537正式版,增加常用软件保留列表,一些最新更新的补丁也集成其中,重装以后进入桌面的速度也有了提升. 说到重装系统,你还在使用系统光盘、Ghost镜像甚至命令行进行系统重装吗. 使用金山重装高手,无需光盘、也无需另外下载系统或者镜像,即可一键帮你完成所有重装过程. 金山重装高手包含几个非常实用的重要功能,包括一键系统重装、一键重要数据备份、驱动更新、软件更新及常用软件等.