热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

58到家运维专家杨经营:业务上云后运维平台的演进之路

杨经营DBAplus社群出品读完需要10分钟速读仅需4分钟本文根据杨经营老师在〖Deeplus直播第216期〗线上分享演讲内容整理而成。(文末有获取本期PPT&回放的

杨经营

DBAplus社群出品

读完需要

10

分钟

速读仅需 4 分钟

本文根据杨经营老师在〖Deeplus直播第216期〗线上分享演讲内容整理而成。(文末有获取本期PPT&回放的途径,不要错过)

杨经营

58到家运维专家

  • 多年互联网运维经验,2015年加入58到家,精通Linux操作系统,见证了58到家运维体系从0到1的建设,主要负责运维自动化、平台化在58到家的应用及推进工作。

  • 现任58到家技术委员会成员,负责58到家运维体系整体发展方向与技术选取。

近几年公有云已日趋成熟、稳定,成为很多中小型互联网公司的首选,其成本、易维护、轻资产、可靠性、基础设施、技术支持这几方面公有云和传统IDC相比有着独特的优势,尤其是当公司整体资源体量较小(硬件IDC成本在100万/年以下)时,该优势会非常明显。

4年前,2016年初58到家决定All in 公有云。

1

   

石器时代那道坎

2015年10月份,58到家获得阿里、平安、KKR联合投资,到家各项业务取得了飞速的发展,经58到家技术中心管理层决策,58到家正式开启了由IDC机房迁移至公有云的"凌云"之路。

从计划迁移,到IDC机房-公有云专线打通、公有云全量部署线上资源(服务器、数据库),笔者有幸全程参与并作为运维组的接口人推进实施,整体的架构迁移《从IDC到云端架构迁移之路》有详细记载。

有一点要说明的是对于WEB站点的迁移,运维内部采用的基于Nginx upstream模块实现逐步切流量至云端服务,相对于万网、DNSPod商业DNS的权重调整方式来说,更加符合我们58到家当时的迁移需求,做到了真正的平滑、极速切换和回退,解决了运营商缓存的难题。

凌云项目从基础资源的准备,到线上环境迁移完成,历时114天,涉及2T+数据(不包含大数据),迁移的服务160+,涉及数据库70+,全体的技术同学投入到了该历史性的项目中,相信每一个参与其中的战友必定收获满满。

2

   

All in 公有云的“坑”

凌云项目结束后,58到家正式开启了基于公有云的技术升级之路,这其中也包含了运维,对于机器、资源、域名、云端各项服务,云端都能够实现快速部署、实施和交付,这个是云的明显优势。

但是随之而来的,我们也面临了很多问题:如2016年上半年迁云不久即被我们遇到的多年不遇的公有云城际网出口故障,导致业务中断2小时以上,到家核心库使用的havip产品问题导致数据库连续2小时以上的故障,BI使用的服务器的性能一直在报瓶颈,价格成本的增长与我们的预期变化较大,从初次部署时月总费用到价格翻倍只用了几个月的时间(梳理清费用都去哪儿了、谁花的钱最多需要一周甚至更长时间)。

当时运维3人,RD研发150+人,运维每天面对的都是重复性的需求申请、各种线上问题、资源查询等,基本处于被动应对、救火的阶段,很多资产、申请都不可追溯甚至无主,某个服务的交接、迁移涉及梳理、确认时,效率非常低,运维内部的资产维护还是基于excel模式,如下图所示:

3

   

应运而生的“58 到家运维平台“

基于上述状况,运维需要打造运维平台来为我们整体的工作提效,2016年10月份,运维第一代运维平台正式启动开发,架构图如下:

第一代运维的靓照如下图所示:

运维平台的诞生,解决了我们资源归属、资源成本计算的问题,解决了运维手动添加NAT外网权限的问题,解决了费用拆分至各业务线的问题,解决了技术人员离职归属资产变更的问题,解决了域名、资产归属查询的问题,一定程度的解放了运维的双手。

4

   

“苦尽甘来”持续演进:第二代运维平台

2019年4月份,随着我们的Python开发妹子加入运维团队,我们的第二代运维平台正式起航,开始了持续演进之路,附架构图:

现运维平台核心功能点&解决的问题:

4.1

   

成本中心

支持部门维度的资产、费用导出,对于各部门产生的云端资源费用,一目了然,可查询、无异议,哪个部门是消费大户查一下,就知道。

4.2

   

资产管理(服务器)

支持服务器资源归属、服务器使用率、是否可以部署新服务进行建议,以前我们遇到的发现某个IP在疯狂的调用我们,不知道是哪个部门的?现在只要查一下,就知道。

4.3

   

CDN 文件刷新管理

当夜深人静、华灯初上时,我们还为上完线后要立即刷新某个静态文件而走一通申请流程而苦恼吗?运维平台已经通过调用公有云cdn接口并结合权限控制,实现也FEleader层面自助刷新功能,啥时刷新,你说了算(当然,恶意刷新会上我们的黑名单哦)。

4.4

   

域名管理

将内部DNS、公有云、商用DNS产品整合在一起。之前运维新增、变更某个域名,可能需要登录各个DNS管理平台,现有的域名管理已将几个平台整合在一起,一个界面搞定了全部。

4.5

   

监控平台集成

将运维的grafana监控整合进运维平台,业务同学直接可以在此查各自服务器等监控信息。

4.6

   

集群域名管理

对于业务线同学来说,可以在此根据域名关键字、端口、iP等维度查询自己想要的信息,省去了和运维沟通的成本;对于运维来说,运维通过集成、调用nginx域名添加、集群扩容、域名下线、集群下线等http接口,实现一站式业务需求管理,极大的提升了运维的工作效率。

4.7

   

用户管理、系统配置

根据平台功能模块,添加不同维度的管理权限,进而实现分权限使用。

4.8

   

站点导航

嵌入业务同学需要用到的各种需求、申请提报站点以及只读账号介绍、家政神奇的nb命令介绍、域名规范、工单邮件规范、堡垒机站点、运维工单站点等等,站点导航中全部都有以后大家只需要记住运维平台一 个域名即可^_^。

运维平台现在长这个样子: 

五、未来规划

从2015年11月至今,58到家运维平台经历了不同的发展阶段,一路风雨兼程,与我们一起见证58到家的发展,后续我们的运维平台将持续演进、优化,进一步推广自动化,为业务同学、为运维内部、为其他有需求的平台,提供助力,让我们一起携手,共同努力,走过2020这注定不平凡的一年!

“学则思,思则变,变则通,通则达,达则济天下,运维、QA、RD、FE是一家”与大家共勉!

>>>>

Q&A

Q1:成本管理和相关规范是怎么规划和落地的?

 A:运维平台建立之前,最初是完成由运维人工管理、确认,季度性维度对整体资源进行梳理,并产出相关资源使用情况报告。

运维平台成本中心模块建立后,结合我们zabbix资源使用率相关信息,就能够实现自动化的管理,可以根据我们自行制定的资源使用规范(例如服务器cpu内存整体使用率低于40%的情况下需要对服务器降配或者暂时不能新申请服务器等)。

借助于运维平台以及公有云的费用中心接口,将成本明确的拆分的各个使用方,后续定期给其发送资产使用报告,对于严重浪费的部门限期资源整合等,这样就能将成本管理简易化,让使用方和运维都心中有数,逐步提高全体对资源、成本的控制、节约的意识。

Q2:运维平台与云机器(不同云平台)的数据怎么打通获取?

A:不同公有云的互联互通,是使用多云的企业面临的非常现实的问题,我建议大家直接使用第三方做多云互通的公司,通过第三方公司的专线形式实现多云的内网互联。如果有自己的IDC托管机房,可以从IDC机房云厂商分别拉专线以IDC为中转点进而实现混合云环境的内网互联。

Q3:把当前公司内部系统和云厂商,进行整合到现在的一个平台上,阻力大不大?通常会有哪些阻力?

A:这个内部系统和云相关的功能整合,如果是运维内部系统的话内部可以消化,阻力可以忽略。如果涉及其他部门的系统要整合在一个平台,需要运维和系统负责人协调好,最好是由双方的leader层面达成一致后再实行,要不然跨部门、甚至跨云的整合,阻力肯定是有的并且不会小。

   

Q4:您这边容器及K8S监控是怎么整合的?

A:容器和K8S的话,我们计划今年下半年开始推,使用公有云的容器相关产品,监控的选型使用Prometheus。

Q5:对于ECS/RDS/OSS/CDN这些IaaS、PaaS服务,以及对于业务的不同运行环境(开发、测试、预生产、生产等)都有对应的成本优化最佳实践吗?

A:我们现在是不同的环境,分别部署了相应的整套服务,生产、开发、测试、预发布,成本优化还是基于我上文提到的利用运维平台成本中心的功能,去做整体的优化。其实个人认为要逐渐培养全体技术具备主人翁的意识、成本控制意识,资源的最大化利用自然就能做到水到渠成,而不是作为我们的一个包袱。

Q6:请问您这边的监控中心是怎么规划实现的?

A:目前58到家在做的监控中心项目,是集成了我们FE、运维、DB、架构的对应监控的负责人,在整体的集合、开发、聚合我们各个监控系统的资源,最终目标是汇聚、定制化开发为我们全体技术服务的全方位资源、服务监控体系。

Q7:对于安全,运维会额外多做很多事情,但不考虑安全又有隐患,怎么拿捏这个度?

A:很多中小型公司,前期是没有专职安全人员的(我们58到家最初也是这样,我们的安全完全依赖于同城安全团队对我们的支持),这个时候安全相关的很多工作会落到运维同学身上,因为互联网安全法对于涉及个人敏感信息等的网站的管控越来越严格,建议没有专职安全同时存在着很多安全问题无处着手的中小型公司,可以最低成本请专业的安全团队来协助解决自己面临的安全方面的问题。

这方面我想说的是术业有专攻,运维之于安全方面的专业度毕竟有限,建议大家交给专业的人来做安全方面的事情。

Q8:上文提到有zabbix和Prometheus,是不是Prometheus监控业务和服务层,zabbix监控基础设施层,混合使用?

A:Prometheus的监控我们规划是对容器方面的监控,基础设施层如K8S底层的ecs可以选择zabbix或者Open-Falcon去实现,这个建议根据自己业务的实际需求来即可。

服务层面的监控,如果大家公司的技术栈是java并且没有专职的架构团队来开发业务监控的话,可以使用美团开源的CAT监控。

Q9:监控有没有二次开发,能让业务负责人自助添加监控?

A:让业务负责人自助添加监控我们现在是在我上文提到的监控中心里面有规划,后续会统一开发、实现。

对于运维自身的监控平台来讲,如果我们有专职的运维开发来支持,可以进行二次开发。如果没有,建议以能解决自己的实际需求、痛点为出发点重新来审视这个问题。


获取本期PPT

请添加右侧二维码微信

获取直播回看链接,请点击阅读原文↓

想要加入中生代架构群的小伙伴,请添加群合伙人大白的微信

申请备注(姓名+公司+技术方向)才能通过哦!

扩展阅读架构师成长系列阿里技术专家都铎:一文搞懂技术债2020-09-23Erik Dietrich:二十年的编程,教会我的五件事!2020-09-22支付宝研究员兼OceanBase总架构师杨传辉:我在数据库梦之队的十年成长路2020-09-21Mobvista首席架构师蔡超:工作感悟之失败与成功,我的8点总结2020-09-20
奈学教育CEO孙玄:成为一个有情怀的工程师,我的12点思考2020-09-19
架构师,是否需要写代码?2020-09-18
Netstars CTO陈斌:架构师的成长之路2020-09-17
阿里技术专家麒烨:修炼测试基本功2020-09-16
爱奇艺数据中台负责人马金韬:数据中台建设与应用2020-09-14
数之联CTO方育柯:技术的意义在于成就他人2020-09-13
东方证券首席架构师樊建:企业微服务架构转型实践2020-09-12
红帽资深解决方案架构师魏新宇:云原生应用构建之路2020-09-10
苏宁智能 BU大数据中心数据治理团队负责人韦真:数据治理“三字经”,超实用!2020-09-09
蚂蚁资深算法专家周俊:从原理到落地,支付宝如何打造保护隐私的共享智能?2020-09-08
阿里高级技术专家箫逸:如何画好一张架构图?2020-09-07
阿里巴巴闲鱼架构负责人王树彬:万亿交易规模技术架构实践2020-09-05
58转转技术总监骆俊武:监控系统选型?必读本篇!2020-09-04
蚂蚁集团高级架构师郭援非:分布式数据库是金融机构数字化转型的最佳路径2020-09-03
工行高级经理林承军:工行基于 MySQL 构建分布式架构的转型之路2020-09-02
平安银行吴建峰:RocketMQ 在银行的应用和实践2020-09-01
阿里高级技术专家张建飞:应用架构分离业务逻辑和技术细节之道2020-08-31END     #接力技术,链接价值#点分享点点赞点在看


推荐阅读
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 对象存储与块存储、文件存储等对比
    看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 深入探讨:Actor模型如何解决并发与分布式计算难题
    在现代软件开发中,高并发和分布式系统的设计面临着诸多挑战。本文基于Akka最新文档,详细探讨了Actor模型如何有效地解决这些挑战,并提供了对并发和分布式计算的新视角。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • Flutter 核心技术与混合开发模式深入解析
    本文深入探讨了 Flutter 的核心技术,特别是其混合开发模式,包括统一管理模式和三端分离模式,以及混合栈原理。通过对比不同模式的优缺点,帮助开发者选择最适合项目的混合开发策略。 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 协程作为一种并发设计模式,能有效简化Android平台上的异步代码处理。自Kotlin 1.3版本引入协程以来,这一特性基于其他语言的成熟理念,为开发者提供了新的工具,以增强应用的响应性和效率。 ... [详细]
  • PCIe中的弹性缓冲原理解析
    PCIe是一种高速串行总线,其传输信号为差分信号,并采用同步传输方式。然而,PCIe并没有专用的同步时钟。本文将详细介绍PCIe中的弹性缓冲(Elastic Buffer)原理,探讨其如何处理时钟差异,确保数据传输的稳定性和可靠性。 ... [详细]
  • 深入探索HTTP协议的学习与实践
    在初次访问某个网站时,由于本地没有缓存,服务器会返回一个200状态码的响应,并在响应头中设置Etag和Last-Modified等缓存控制字段。这些字段用于后续请求时验证资源是否已更新,从而提高页面加载速度和减少带宽消耗。本文将深入探讨HTTP缓存机制及其在实际应用中的优化策略,帮助读者更好地理解和运用HTTP协议。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 人人租机作为国内领先的信用免押租赁平台,为企业和个人提供全方位的新租赁服务。通过接入支付宝小程序功能,该平台实现了从零到百的迅猛增长,成为全国首家推出“新租赁小程序”开发服务的阿里巴巴小程序服务商(ISV)。这一创新举措不仅提升了用户体验,还显著增强了平台的市场竞争力。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • 在MySQL中更新密码时,首先需要在DOS窗口中切换到mysql安装目录,并使用`--skip-grant-tables`参数启动MySQL服务,以跳过权限表验证。接着,在MySQL命令行中执行相应的SQL语句来设置新密码。完成密码更新后,重启MySQL服务以使更改生效。此外,对于电脑快捷方式的修改,可以通过右键点击快捷方式,选择“属性”,在弹出的窗口中进行路径或目标的修改,最后点击“应用”和“确定”保存更改。 ... [详细]
author-avatar
Jie
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有