宝宝计划,宝宝计划彩票app下载,

  • <tr id='vY7vzH'><strong id='vY7vzH'></strong><small id='vY7vzH'></small><button id='vY7vzH'></button><li id='vY7vzH'><noscript id='vY7vzH'><big id='vY7vzH'></big><dt id='vY7vzH'></dt></noscript></li></tr><ol id='vY7vzH'><option id='vY7vzH'><table id='vY7vzH'><blockquote id='vY7vzH'><tbody id='vY7vzH'></tbody></blockquote></table></option></ol><u id='vY7vzH'></u><kbd id='vY7vzH'><kbd id='vY7vzH'></kbd></kbd>

    <code id='vY7vzH'><strong id='vY7vzH'></strong></code>

    <fieldset id='vY7vzH'></fieldset>
          <span id='vY7vzH'></span>

              <ins id='vY7vzH'></ins>
              <acronym id='vY7vzH'><em id='vY7vzH'></em><td id='vY7vzH'><div id='vY7vzH'></div></td></acronym><address id='vY7vzH'><big id='vY7vzH'><big id='vY7vzH'></big><legend id='vY7vzH'></legend></big></address>

              <i id='vY7vzH'><div id='vY7vzH'><ins id='vY7vzH'></ins></div></i>
              <i id='vY7vzH'></i>
            1. <dl id='vY7vzH'></dl>
              1. <blockquote id='vY7vzH'><q id='vY7vzH'><noscript id='vY7vzH'></noscript><dt id='vY7vzH'></dt></q></blockquote><noframes id='vY7vzH'><i id='vY7vzH'></i>

                行业动态

                了解最新公司动态及行业』资讯

                当前位置:首页>新闻中心>行业动态
                全部 4017 公司动态 881 行业动态 3136

                “去哪儿网应用运维自动化演进之路”之自动化篇

                时间:2022-09-07   访问量:1559

                明天给大家分享的主题是“去哪儿♂网应用运维的人工进化之路”。人工建立过程中遇到的障碍以及我们是如何克服这些障碍的,遇到了哪些坑,这些●坑的过程如何填。

                运维服务管理ζ体系_运维服▂务口号大全_服务器运◣维

                我于 2013 年加入去哪儿,目前仍在从事运维工作。去哪儿网具有运维开发的特点。所有开发人员都是PM和QA,没有◎后端工作和前端工作的区别。用当今流行的话说,我们☆都是全栈工程师。

                加入去哪

                综上所述,主要涉及主机@管理、应用管理、监控、告警平台的设计、开发和运】维。

                运维服务管理体ξ 系_运维服务□口号大全_服务↓器运维①

                简单介绍一下我们的运维团队:

                去哪儿应用运维平台介绍

                首先简单介绍一下去哪儿网的应用运维平台。

                运维服务口∴号大全_服务器运▲维_运维》服务管理体系

                我们知道,一个应用从开发到上线运行,其生命周期主要涉及四〗个部分:

                去哪儿的业◎务也在一步步发展。机器的数量从几十台增加到几万台。在开发过程中,我们遇到了很多ξ 问题,在不同的阶段提出了不同的解决方案。

                运维服务⊙口号大全_运维服务管理◣体系_服务器运☆维

                去哪儿经历了四个阶段:

                应用运维平台三大要点

                在运维平台建设过程中,我们遇到了很多困难,遇到了很多陷阱。在这个难点中,我们可以总结出三个ω 关键点:

                主机管理

                运维服▓务管理体系_服务↘器运维_运维服务→口号大全

                去哪儿的主机管理系♂统基于DNSDB,负责调度和创建虚拟机。 DNSDB 是一个域名管理系统。

                通过DNSDB,我们可以将一台机器的名称、部门、用途和所在◤的机房组合成一个唯一的域名,我△们用这个唯一的域名来识别这个主机。

                在 DNSDB 之上,我们编写了大量的脚本文档和工具,我们将这些』脚本文档和工具整理??并封装到一个操作中,但我们为这些操作分配了一些相关的权限。

                我们还将主机的信息◤、流通的管理、权限的配置、操作日志的查︼询等存储在日志库中。最后,我们将一个主机管理系统的接口暴露☆给运维人员,运维人员通过这个接口来管理我们的主机。

                通过主机管理▂平台,运维人员可以轻松地在该平台上创建和销毁主机服务器」运维,查□看主机的相关信息,如主机配置、保外信息等。

                p>

                在添加每︾台机器的过程中,我们会默认为这台机器添加监控报》告,当机器有报告时我们会通知相关负责人。

                运维服务》管理体系_服务〖器运维_运维服务口号大㊣全

                服务器运↙维_运维服务︽管理体系↘_运维服∩务口号大全

                这样一来,还有一个很大的问←题,就是我们的系∩统是怎么开发给运维人员使用的」,开发者没有权限登录这个系统。

                如果开发者提出请求,我想创建一ㄨ个主机,我需要给 OPS 发送一条短信。 OPS在创建这个host的时候,虽然没有具体记录谁▃是负责人,但是他可能会写在笔记里,时间长了可能会变得不准确。

                由于当时的负责人可能↘已经辞职或换工作,这种情◥况经常发生。

                这台机器的负责部门没有很好的记录,因为这个部门很多只显示在主机的名字上,有可能这台机器在处理的过程中可能会转移到其他业→务线利用。 ,所以我们收到的部门信息也是不准确的。

                还有一个问题是DB系统只对运维人▆员开放,涉及的业务╱线很少,所以整个主机的相关信息显然不够准确。虽然 OPS 人员有限,但不可能非〇常准确地维护这些信息。

                所以我们想出了一个解决方案,通过应用∩树来解决它。

                运维ぷ服务口号大全_服务器⌒ 运维_运维服务』管理体系

                去哪儿网根↓据职能领域将业务线定义到每个BU。应用树BU是第一层。它下面有部门◣,部门之下还有更小的部门。这个级别可能△有多个。

                最后一级是部门下的申请,申请是最后一级。我们把所有的层级看成一个节●点,每个节点可以绑定一个主机,给节点增加一个负责人,给节点增加一个审批者。下面我来介绍一下审批者的权限和角色。

                有了这●个应用树,涉及到业务线的开︻发,涉及到主机的管理,他们的负〓责人和部门信息越来越准确。

                一台机器出现异常,我觉得很容易很快找到机器负责人。

                如果宿主机快过保修期了,我需要为前面的所有虚拟机找到这个虚拟№机的负责人,并通知『那些人进行相关的操作,比如虚拟机离线,应用离线,可以防止过多的运维主机造成的故障。

                因为机器负责人比较准ξ确,所以我们的报告通知∮会默认通知机器监控报告的相关负责人,负责人会处理机器相关的基础硬件报告.

                每个季度也会统计资源消耗,并制定下一季度机器采购的计划和预算。

                如果你得到一个更高√级别的部门,例如你得到一个BU节点,你可以很◆容易地通过应用树得到这个部门有哪些机〓器。我们可以很容易地预测本月会下跌多少。我们每个季度需要购♀买的机器数量使得预算更加合理。

                有了用户,负责人、部门、机器的关系比较清晰。

                运维服务口号大︽全_服务】器运维_运维①服务管理体系

                还有一个问题。申请资●源的时候,OPS还是需要操作∴的,账户添加也是OPS负责的。开发者想要扩展机器或者给机器添加账号应该怎么∮做?

                他需要给运营OPS的团队发短信,说我想把应用扩展到两个主¤机,或者在哪个主机上加个账号。

                这样做有什么好处?首先,OPS不能实时『在线,无法╳跟踪系统,所以OPS响应很慢,查邮件很不方便。但是,邮件可能会丢失很长时间,并且不容易定位问题。

                如何解决这个问题?拿出来后服务器运○维,我做ξ了两个系统:第一个是主机卐应用系统,第二个是账▲户应用系统。

                运维服务ㄨ口号大全_服〗务器运维_运维服务管理体系

                两个系统以主机管理、应用树和审批◣中心为基础,将主机管理、应用树和审批中心调用为,通过调用安排一些︼合理的主机申请和账号申请流♀程。

                刚才讲宿主应用,谁有权※限申请,应用树上每个节点的负责人都有权申请这个部门的宿主或者这个应用的宿主,审批人在节点是他,它有权批准该节点下的主机。

                这样OPS就不用过多◥介入了,他们可↑以手动申请主机和账号。

                服务器ㄨ运维_运维服务管理体系_运维服☆务口号大全

                最后我们做了一个接口,把这个接口暴露给开发者,他们可以申请主机和账号。

                通过应用树、主机管理、主机应用、账号ぷ应用四个平台形成闭环。核心是应用树节点,应用树节点将四个部分串联起来。

                应用程⊙序树节点有什么问题,我们会改变它。比如一开始,一个应用是放←在OPS开发下的。三天后,发现这个位置不对。需要直接放在OPS下。需要→将运维开发连接到OPS底层。

                还有一个,随着业务的下滑,应用越来越▅大,需要拆分成↘几个部分,比如需要拆分成-web和-api。这些树节点的变化会导致〖什么?

                每个系统都记录应用树节点,每个应用树节点的变化都需★要与每个系统同步,相当于分布式系统中有一个有状态的模块,就是←这个模块的应用树节点。

                它是有状态卐的,这让我们很难分发。如果我们想将应用树节点扩╱展到更多的系统,那将是特别困难的,并且㊣我们将继续面临同步问题。

                如何解决这个问题,比如对于一个普通公民来说,如何在各个系统之间共享数据,比如我在公安系统、户籍系统、建行系统等中如何独处系统等,如何分享我的信息。

                其实有一个特别好的】做法,就是使用身份证。 ID 卡具有唯一的 ID。通过这样〒一个唯一的ID,可以识别应用程序,但这个ID永远不会改变。

                服务器ζ运维_运维服务管理体系_运维■服务口号大全

                我们如何找到这样的ID,第一←个解决方案是使用数据库中的自增ID或UUID来识别○应用程序。

                这样可以保证应用ID是唯一的,不会改变,而且由于自增ID和UUID在文中没有明确的含义,我们的开发者不容易记住这个ID并与之交流。

                如果我想使用↓自增 ID 或 UUID,我需要使用另一个系统来查看我有多少这样的 ID。先找』到这个ID,再与其他系统交互⊙通信,非常不方便。

                第二个方案,在身份证上画,用数字,比如110代表上海,前面︻代表县,代表出生日期。

                利用 ID,我们使用称为 id 的方案来〗识别应用程序。基本上,它Ψ 被一条下降的线分开。第一个是申请所在的部门,第〓二个是申请的描述。这个级别也可以很长。

                使用这样的节点代替申请号节点,可以保证其唯㊣ 一性和不可更改性,让你记忆和交流更方便。我们︽最终选择了第二套方案。

                监控和报告

                我们来看看我们是如何在♂运维平台上做监控和报告的。作◤为一家互联网公司,保证7x24小时服务是基本要求。我√们如何保证 7x24 小时服务?

                如果系统出现问题,我们可以及早发现,当系统真⌒ 正出现问题时,我↓们可以及时发现。为了确保这两点,我们需要监控报告∏系统。

                运维服务▽口号大全_服务器运维_运维服务管理体系

                去哪儿网的监控和报告系统也经历了长期的斗争。一开始,每个部门都会维护自己的一套系统。一开始是由 Cacti 和■这两个模块构建的。存在哪些∞问题? ?

                运维服务管理体系_服务器运维_运维服务口号▓大全

                因为以前的系统没有很好的权限管理,所以这个系统只能由专①人处理。由于放权给其他人是危险的,有些人可能◥会不小心操作某些东西,删除报告或更改报◣告配置,所以只有〓专人负责报告。

                订购一个报告监控和沟通成本非常高,需要联系我们的相ㄨ关负责人,然后去报告配置。

                开发者觉得太麻烦,所以根本不做,或者做的很少,导致我们的监控≡不够。可能有一些异常甚至故☉障没有及时发现,效率比较低。

                服务器运维_运维服务口Ψ 号大全_运维服务管理体系

                如何解决这个问题?我们建立了公司级统一监控和报告平台。

                报◥告平台有几个目标:

                服务器运维_运维服务管理体系_运●维服务口号大全

                简要介绍是基于♂深入开发。该平台支持基本的主机监控和报告,以及业务监控和报告,所有这些〓都在一个统一的平台上。开发人员可以在统一的界面上查看和配置监控和报告。 .

                我是2014年左右∴开始做的,到现在已经两年了,在公司里№推广的很好。

                如今已经连接了▲1500多个应用程序,目前指→标数已经超过2000万,报告病例数已经超过40万,连接基础监控的机器数已经超过4万台。

                这么大的规模,我们用了什么样的框架?

                运维服务口号大全_服务器运维_运维服务管理体系

                这个架构图只是我们其中一个集卐群的架构图。当我们计数时,我们将区分每个指标●将命中哪个集群。我们如何区分?

                标记,例如所有测试数据和测试指标都以t开头,所有主机数据都以h开头。

                我们用 s.flat 来代表机票部门。当机票部门的所有指标都统计完毕后,应该配置一台服务器。这个服务@器也是用域名来表示的,它本身就代表了一个针对机票∩的监控和报告集群。 .

                在集群照明◇的前面,底部的红色是原始组件。我们在原有组件的基础上开发了几个相关组件。

                第一个是继电器。每个指标被调用↑后,我们通过 Relay 将指标分发到多〓台机器上。这是通过〓一致性哈希实现的。

                我们拿到数字々后,-api部分也是我们自己开发的。 -api 也具有相同的一致性哈希算法。通过这个算法,我们可以找到指标在这个集群中的哪台机器上,并调用这台☆机器上ξ -web下的api,然后得到相关数据。

                这是一个集群架构,我们有多⌒个集群。做一ξ 个统一的界面,在这个界面上配置自己的监控的时候,选择好数据源,统计的人知道指标在哪里。

                能不能做一个统一的数据源供用户使用,所以我们在组件中加◢入一个纯指标库。每次流量到来后,我们都会将这个指标♀的名称告诉我们的数ζ据库。复制,同时将其记录在该集群中。

                这样,我们就可Ψ 以向外界报告一个统一的-api。如果我们要为一个指标启动s.flat-xx指标,首先是调『用api查找指标s.flat-xx在哪些集〖群中,并找出在集群中,这个指标可以是通过一致的哈希删除。

                第一部分

                -api就是用这个∑ 来报案的。说完了整个结◇构,我们来看看主机监控是怎么做的?

                运维服务口号大全_运维服务管理体系_服务器运维

                首先,有一个硬件管理平台来维护有关主机监控的信息。

                最重要的是︼安排代理,维护代ω 理的版本配置,不断扫描主机,部署⊙在主机上,定期检查指标是否▓采集。

                如果这个主机指标有断点或者有问题,会上报case,检测是??系统问题还是网络问题。

                在每台主机上部署后,会根据不同的配置标记不同的指标,如CPU使用率、显存使用率、网络带宽使用率等。所有这些指标都被标记了。

                每个主∮机的指标可能相同。如何区分不同主机的指标是根据主机的名称。访问后,我们就可以调用该api并对其进行调∞用。

                运维服务管理体系_服务器运维_运维服务口号大全

                运维服务管理体系_服务器运维_运维服务口号大全

                业务监控类似。应№用连接后,会暴露api。以上是应用最近1分钟的监控数据。每分钟,文件都』会从所有机器中提取。文件取完后,会集▃中分析。 ,分析后做相应的处【理。

                例如对应用进行计数,将其作为指标来区分不同♀的指标,并将指标推送到。推送▅完成后,还可以查询监控,检测应用指标的健康状况。

                数据交换

                我们来说说我们是如何在整个运维平台上实现数据互通的。我们在监控报告和主机管理中提到了一个。什么是去哪儿?

                服务器运维_运维服务口号大全_运维服务管理体系

                虽然是唯一Ψ的标注应用,但是╱我们把一个应用可视化了,它的含义也变得更加笼统了。

                任何应用程序都可◤以是 Web 服务、GPU 云实例、MySQL 实例,甚至是一组交换机或其他。

                运维服务口号大全_服务器运维_运维服务管理体系

                我们为什么要像』这样可视化应用程序?可视化的用处在于我们不需要考虑服务和资源的具体细节,而是用「一个App来表示一个服务或者一个资源。在可视化的过程中,不需要考虑▆服务做什么,资源长什么样。

                定义通用应用的通用属性,包括应〖用负责人、应用权限、应用账单→等。

                有了这个共同的属性,我们可以跨多个系统扩展,跨系╲统分布数据来共享数据。这是做㊣ 什么的?

                有了这个,我们可以在我们的各种系统中生成一种通用语言,而这种通∏用语言就是。

                通过ω这种通用语言,我们可以将各个系统之间的数据连接起来,最终¤实现一次数据交换。实现数据互操作有什么好处?

                运维服务管理体系_运维服务口号大全_服务器运维

                平台介绍

                平台简介,目前⌒ 正在开发中。

                运维服务口号大全_服务器运维_运维服务管理体系

                它是基础,各种〓运维系统都是在它的基础上连接起来的。

                例如主机、账号、GPU云、ES云、应用注册、应用配置、应用中间件、环境配置、代码仓库、测试、发布、监控、告警、日志采集、故╲障管理等。

                我们将此系统聚合到一个界面中,并将其公开给开发人员。进入该↘系统后,开发□ 者可以一站式完成与应用相关的所有想做的事情。

                服务器运维_运维服务管理体系_运维服务口号大全

                数据通信的另一种用途就是谈论主机管理。宿主可能有不同的维度来说明宿主不一样。

                例如对于应用发布,有∞发布的主机列表,计费时计费的主机列表,收〓集日志时的主机列表,收集监控报告的主◆机列表。

                只要数据是通信的,我们就可以将这些数据ω串联起来。比如在我们的应用中,它∏的主机需要扩容,可以扩容两台●主机。扩容后,我们可以根据应用负责人手动添加对应账※号到主机。

                这样,负责人就可以使用这个账〗号登录相应的系统,进行相应¤的操作了。

                数据库还有IP白名单等其他▲限制。数据交换后,无需记录每个主机上某个应用的白名单配置,记录即可。

                在CI/CD部分,应用发布的主机也与主机相关联,应用扩展后发布的主机也是同步的。选择本主机即可直接发◣布主机,无需自动填写¤本主机。列表。

                监控分为两个方面,一是基ω 础监控,二是业务监控。基◤础监控也是对相关主机的基础监控,可以通过维度查看。

                对于业务监控的应用监控指标采集,也卐可以通过to获取其※主机列表,手动将本机列表加入业务监控指标采集,添加后采集本应用相关主机的监控指标并记↑录。

                报表系统有了之后,会对应一些常见的监控报表项,比如Java中的GC报表。

                有了※它之后,我们可以默认为每台机╲器上的所有机器添加一个 GC 报告。 GC 报告联系♀人是负责人。每台机器扩容后,会手动添加其GC报告。

                日志收集也是如此ω。之前,我们可能还需要自动维护这个平台。一旦我々们有了它,我们就可以同步这个列表。

                数据共享还有另一种用途,然后我们可以卐轻松估算此应用程序的费用。为什么要为应用估算账单?

                运维服务口号大全_运维服务管理体系_服务器运维

                一方面,它可以让我们提高成本意识】,这也是在选择过程中需要考虑的。

                例如,一个业务线有一些数№据需要记录。它可以选择任何系统,也可以选择数据库,也可以选择。

                如果访问这个服务的频率很低Ψ ,比如三天几次,或者十几次,那么记录这卐个数据是非常昂贵的。由于数据的巨大膨▼胀,选择数据库或日志更实惠。

                其次,可以优化。如果你因为算法而使用」大量机器资源,在有【账单之后,他们会自觉节约成本。

                有了成本意识≡,我们可以更合理地分配资源。比如有些申请本身〖不是很重要,申请了很多机★器,机器的→使用率不高。收到账单后◆,一个不重要的应用程序居然要花这么大的账单,他们以后会回收的△。一些资源。

                目前我们也在不断的访问各种应用账单,比如托管账单、网络带宽㊣账单↙、监控报告、日志收集、海量存储、预估资源账单等。还有其他系列的法案会陆续进来。

                总结

                最后,让我总结█一下。在去哪儿↑的人工运维过程中,我们经历了不同的阶段。

                我们发现当应用扩展到一定规模时,需要对平台进行运维。手工或半手工的方〖法特别费力,但一般也会发现一些错误甚至失败。去哪儿的人工运维也做得非常好。如何展示?

                我是2013年加入公⌒司的,刚加入公司】的时候,日常运维大概有五六个人。现在我们△有六人日常运维。我们推出了运维机器人,运维第七人〖。 .

                我们仍然保持六№人的状态。我们的规模增长了很多倍,从一百到一万○,规模扩ζ 大了数百倍,我们的日常运维人员没有减『少。这是手动操作和维护平台。好处。

                应用程序的可用性√需要通过监控和报告系统来保证。基本上,在一个应用上【线之前,它的所有关键报告和监控框架都会建立起来,这样如果应用出现问题,它会迅速回滚㊣ 或调试。

                因为我们有⊙完善的监控和报告系统,所以去哪儿的故障相对︽较少。平均而言,三天内□ 会出现两到三个故障。

                但是,去哪儿的故障可能与其他故障◥不一样。去哪儿对故障的要求更加严格。我们会为每个网络故障记录成批的故障。

                例如,监控系统不在画面中。已经超过5分钟了。我们可以考虑〖P1和P2的失败。

                在这样严格的要求下,我们的失败率不会太高。加入公司四年以来,累计失★败次数只有3000左右。

                运维服务口号大全_运维服务管理体系_服务器运维

                为了保证我们整个⊙运维生态的发展,我们需要开放数据,开放需要给应用一个ID。有了这个ID,我们就可以在各种运¤维系统和平台上共享数【据,形成良性的生□态循环。

                上一篇:简历中的最佳计算机技能,你get到了吗?

                下一篇:甚至于∞降本增效席卷到外包岗位,让本不被公司正式对待

                发表评论:

                评论记录:

                未查询到任何数据!

                在线咨询

                点击这里给我发消☉息 售前咨询专员

                点击这里给◣我发消息 售后服务专员

                在线咨询

                免费通话

                24小时免费咨询

                请输入您的联系电话,座机请加区号

                免费通话

                微信◣扫一扫

                微信联系
                返回顶部