阿里云DNS统一运维服务的演进和实践

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 阿里云DNS统一运维服务的演进和实践

首图-图标.png

【推荐阅读】:阿里云DNS统一运维服务的演进和实践


作者:张明凯(仁奇)

宋林健(林漱)

 

互联网域名系统(DNS)是互联网运行中起到关键作用的基础设施,提供了服务名称(域名)和IP地址两种标识符体系之间的衔接转换。绝大多数互联网应用,如在线支付、视频会议、电子邮件等,均需依赖域名系统实现网络资源的寻址及定位,是互联网业务访问的入口。(更多请参考:阿里云DNS  

2021年10月4日某社交网站出现大规模宕机,全球超过8千万用户受影响超过6个小时,其中宕机的主要原因是DNS的服务故障。可见域名系统稳定性在整个互联网安全稳定体系中起着至关重要的作用,域名解析服务的安全平稳运行是互联网互联互通数字经济安全稳定运转的基础

 

当前,阿里云提供了全系列一站式的域名解析服务产品,覆盖了公网域名解析、内网域名解析、全球流量调度、移动解析以及专有云的域名解析场景。在云上部署业务的阿里云用户,其运维的核心要素就是DNS解析服务,一旦DNS解析服务出现波动,将会导致自身业务受到影响。特别是游戏和金融行业的企业,对解析服务质量有着极高要求。

 

一言以蔽之:云上DNS解析服务十几毫秒的服务延迟波动都会直接影响其上的业务服务和用户体验。作为日均万亿访问量的阿里云DNS,如何保障大规模的DNS解析服务高效运维和高可用?本文将会讲述阿里云DNS团队在此领域的思考及实践。

 

 

01 从“黑屏”到“白屏”的初心

 

为了保证业务稳定性建设,阿里巴巴集团提出了“1-5-10”的目标,即1分钟发现5分钟定位10分钟解决。目标有了,实现起来却有一定的难度。

 

DNS服务本身有其管理上的特殊性。当前集团大部分业务运行于容器服务上,通过标准调度系统实现生命周期的管理。但“解析服务器”因其高性能的运行要求,仍运行在物理服务器上,日常积累的碎片化变更和一些修复措施,一旦发生服务器迁移和变更极有可能导致服务出现问题,因此需要一套完善的平台去管理服务器状态,实现可控、可运维。只有标准化的服务配置,才能实现安全可靠的自动化流程管理。

 

1.jpg

 

为了保障上层服务满足稳定性的目标,DNS系统作为底层基础设施的重要部分,必须满足更高的稳定性要求。在解析服务方面除了要做到高可用的架构设计和部署外,还需对服务异常实现秒级定位和恢复。传统运维手段已无法满足我们当前对于稳定性的诉求,因此需要一整套完善的运维流程和平台去收敛运维操作将运维从传统的黑屏逐步切换到白屏从脚本运维转换为自动化甚至智能化运维

 

 

02 DNS运维平台的发展与演进

 

阿里云DNS团队,当前主要负责权威云解析、阿里云用户递归解析、互联网公共递归解析以及集团内解析等服务。

 

随着用户规模和服务数量的持续增加,当前业务平台的日均解析量已超两万亿,业务平台除高性能解析系统、数据管控系统外,还有统一运维平台共三部分组成。今天,我们分享的是“统一运维平台的相关内容”,包括在运维平台稳定性建设方面的一些思考,并结合云服务的一些特殊性,让大家能够更深入地了解当前阿里云DNS团队在此领域遇到的问题及相关实践。

 

2.jpg

 

回顾整个阿里云DNS运维平台的建设历程,可以分为三个阶段:标准化建设阶段、自动化建设阶段、智能化建设阶段。三个阶段并非完全的先后顺序,而是交织在一起,不断推动整个平台的持续演进。

 

3.jpg

 

 

标准化建设阶段

运维系统标准化建设阶段,主要聚焦于资产数据管理,服务管理与基线管理标准化三部分,目的是解决线上数据不一致配置不一致和服务管理流程分散的问题

 

●  资产数据管理,不仅包括服务器信息、系统配置信息、网络信息,还包含相关业务运行配置信息。这些数据信息不仅可以作为日常运维使用,还可被集成到后期的自动化系统中,作为服务部署和管理的信息输入。

 

●  服务管理,不同的系统配置,自动化系统会执行不同的部署流程,软件部署不一致,对应的后期服务管理流程也会发生变化。

 

●  基线管理,用于解决碎片化部署问题,统一的服务运行基线可以大幅降低线上运行的风险,服务上线过程中及日常运行都会实时监测服务运行基线,异常配置都会上报给告警系统,形成风险记录。

 

 

自动化建设阶段

阿里云DNS运维平台在自动化流程建设阶段,也吸取了很多内部系统建设的经验,集成了SOPStandard operating procedure管理自动化任务编排及流程管理等功能 

 

通过定义标准SOP,将日常处理流程收敛到运维平台集中管理,小到一个服务的重启流程,大到一个机房的部署流程,都囊括其中。对于其中的可自动化流程,通过“集成任务编排和流程执行模块”实现任务的批量执行,降低人为操作带来的变更风险,同时还能和标准化建设阶段实现的基线管理系统联动,实现变更的异常检查和上报。此外,自动化建设提供的框架能力,还集成了任务审批和日志审计功能,可实现任务流程管理的安全可控。

 

 

智能化建设阶段

当前,运维平台正处于从自动化向智能化转型阶段,服务的稳定性不再局限于运维操作的自动化,而是通过集成一系列输入实现线上风险预判和自动处置。这也是为了解决稳定性1-5-10和满足云用户服务稳定性的要求。

 

如果一个故障需要人工接入,那么从告警产生到接收再到实际处置,一般需要5分钟甚至更长时间,因此智能运维是当前发展阶段必须落地的一个手段。在建设阶段,我们深刻感受到:智能运维是一场服务稳定性与安全性之间的博弈如果无法保证智能运维的准确性那将带来更大的风险2021年10月某社交网站的大范围离线故障,就是自动化操作所导致的服务故障)。因此智能化建设落地,我们通过从单一场景着手,逐步推广到其他流程之中,同时在设计阶段也会有限考虑如何做好服务的兜底,每种场景一般会加入至少两层兜底策略,让服务能够可靠稳定运行。

 

 

03 DNS运维平台的典型应用及成果

 

夯机治理功能是阿里云DNS运维平台在智能化运维建设上的典型案例

 

稳定性问题的一个典型情况是“夯机”(Server Hang)。与死机或宕机不同,服务器夯机是指部分服务可用,部分不可用。对DNS服务来说夯机危害比宕机对稳定性威胁更大,因为在DNS服务部署模式上DNS服务器既要发布路由(支持BGP+ECMP集群)又要做DNS解析服务。往往DNS解析服务和管控接口不可用,但路由服务正常,集群不会自动摘除这台服务器做流量迁移。在DNS服务器夯机场景下,大量的查询流量访问夯机的服务器就会造成严重的服务不可用现象,而该服务器也无法直接登录执行运维隔离操作。整个夯机故障从定位、处置到恢复时间太长,会导致用户的业务严重受损。

 

4.jpg

 

为了减少夯机对用户业务的影响,实现无人工干预下夯机故障自动隔离的目标,运维平台集成了一整套的处置流程来解决该问题:通过自动化的监测,发现、定位以及处置,实现无人工干预下的故障自动隔离。系统自上线以来,实现线上夯机场景的100%覆盖率,自动完成异常检查,正确处置夯机事件多次。通过平台的自动处置,大幅降低人工排查成本,同时还将故障隔离时间降低,真正做到用户服务的无感知处置。

 

5.jpg

 

 

04 结语

 

“欲流之远者,必浚其泉源。”运维平台的建设,是一个持续优化的过程,也是一个经验积累的过程。平台建设的关键是逐步收敛用户的操作,并做好流程的标准化。标准化的环境+严格的服务管理才能实现整体的稳定运行。同时,自动化和智能化的运维在降本提效方面的成效,也促使团队不断探索、覆盖更多的业务场景,让阿里云的DNS解析服务变得更稳定、可靠。

 

当下,DNS运维平台的运维架构和模式,正在逐步探索商业化的输出模式,未来,期望能将DNS运维平台和阿里高性能解析管控服务一起输出给用户,为客户提供和云上一样的服务体验和运行质量保证。

 


我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。

欢迎关注 “阿里云基础设施”同名微信微博知乎

获取关于我们的更多信息~ 

相关文章
|
7天前
|
机器学习/深度学习 Java API
阿里云文档智能解析——大模型版能力最佳实践与体验评测
阿里云文档智能解析(大模型版)在处理非结构化数据方面表现优异,尤其是在性能和可扩展性上具有明显优势。虽然存在一些待完善之处,但其强大的基础能力和广泛的适用场景使其成为企业数字转型过程中的有力助手。随着技术的不断进步和完善,相信它会在更多领域展现出更大的价值。
27 5
阿里云文档智能解析——大模型版能力最佳实践与体验评测
|
2天前
|
PHP 开发者
PHP 7新特性深度解析与实践应用
【9月更文挑战第17天】本文将深入探讨PHP 7的新特性及其对开发者的实际影响,同时通过实例演示如何有效利用这些特性优化代码和提高性能。我们将从类型声明的增强开始,逐步深入到其他关键改进点,最后通过一个综合案例展示如何将这些新特性应用于日常开发中。
|
2天前
|
消息中间件 Java Apache
RocketMQ消息回溯实践与解析
在分布式系统和高并发应用的开发中,消息队列扮演着至关重要的角色,而RocketMQ作为阿里巴巴开源的一款高性能消息中间件,以其高吞吐量、高可用性和灵活的配置能力,在业界得到了广泛应用。本文将围绕RocketMQ的消息回溯功能进行实践与解析,分享工作学习中的技术干货。
17 3
|
2天前
|
设计模式 人工智能 算法
PHP中的设计模式:策略模式的深入解析与实践软件测试中的人工智能革命:提升效率与准确性的新篇章
在PHP开发中,理解并运用设计模式是提升代码质量和可维护性的重要途径。本文聚焦于策略模式(Strategy Pattern),一种行为型设计模式,它允许在运行时选择算法或业务规则。通过本文,我们将深入探讨策略模式的定义、结构、使用场景以及如何在PHP项目中有效地实现和利用策略模式。不同于性能优化等技术性摘要,本文着重于提供对策略模式全面而实用的理解,助力开发者编写出更加灵活和可扩展的应用程序。 本文深入探讨了人工智能在软件测试领域的应用,揭示了其如何显著提高测试过程的效率和准确性。通过实际案例分析,展示了AI技术在自动化测试、缺陷检测及结果分析中的关键作用,并讨论了实施AI测试策略时面临的挑
12 3
|
2天前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全方位实践
本文深入探讨了构建高效运维体系的关键要素,从监控、日志管理、自动化工具、容器化与微服务架构、持续集成与持续部署(CI/CD)、虚拟化与云计算以及安全与合规等方面进行了全面阐述。通过引入先进的技术和方法,结合实际案例和项目经验,为读者提供了一套完整的运维解决方案,旨在帮助企业提升运维效率,降低运营成本,确保业务稳定运行。
|
2天前
|
存储 运维 网络安全
自动化运维工具:Ansible入门与实践
【9月更文挑战第17天】本文将介绍Ansible的基本概念、安装和简单使用,以及如何编写一个简单的Ansible playbook。通过本文,您可以了解到Ansible的基本原理和使用方法,以及如何在实际工作中应用Ansible进行自动化运维。
|
7天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
18 3
|
6天前
|
PHP
PHP 7新特性深度解析与实践
【9月更文挑战第13天】本文将深入探讨PHP 7的新特性,包括性能提升、语法改进、错误处理等方面。我们将通过实例代码来展示这些新特性的使用方法和优势,帮助您更好地理解和应用PHP 7。
|
6天前
|
运维 应用服务中间件 nginx
自动化运维的利器:Ansible入门与实践
【9月更文挑战第13天】在这个快速发展的IT时代,自动化运维已成为提升效率、减少失误的关键。本文将带你了解Ansible,一个强大的自动化工具,它简化了配置管理、应用部署和任务自动化。通过实际案例,我们将探索Ansible的基本概念、安装步骤、关键组件以及如何编写Playbook来自动化日常任务。无论你是新手还是有经验的运维专家,这篇文章都将为你提供宝贵的见解和技巧,让你在自动化运维的道路上更进一步。
|
5天前
|
存储 运维 监控
构建高效运维体系:从监控到自动化的全方位实践
在当今信息技术飞速发展的时代,运维作为保障信息系统稳定运行的关键环节,其重要性不言而喻。本文将围绕如何构建一个高效的运维体系进行深入探讨,内容涵盖从监控、日志分析到自动化运维工具的选择与应用,以及在实际工作中的经验和案例分享。通过本文的介绍,读者将能够了解到如何在复杂多变的技术环境中,确保系统的高可用性、高性能和安全性,为业务连续性提供坚实保障。

相关产品

  • 云解析DNS
  • 推荐镜像

    更多