聚美优品运维的过去现在与未来

简介: 本文作者张川分别从过去现在未来讲述他在聚美做运维曾遇到的一些问题。

过去

我是在13年2月底加入的聚美,我简单的用三个事情说说我们曾面临的一些问题吧。

日常支持

刚进公司那会,公司整个运维团队只有3个人,就我一人在成都,让我印象最深的是,那时几乎每天都会有一大堆的研发同学来找我,甚至还排队,处理各种线上问题,而其中很多问题都是比较重复的。为了提高效率,我只有想着法子去"偷懒",比如,一些日常的任务,会用expect写个任务脚本什么的,然后把某个帐户的登录shell改成这个,当研发同学再找到我的时候,我会告诉他,执行条什么命令就可以了。这时研发同学通常都会很诧异,

 "咦,还能这么玩?厉害"。

 ":D"

线上扩容

大概是在13年底的时候,我开始和北京的同事一起负责自动化和负载均衡这两个运维最核心的系统,那会我们用是bcfg2+fabric,通过主控机的fabric去调用各个服务器的bcfg2进行批量管理。但是每次看到满屏的刷屏我就懵了,因为这么多机器我根本不知道到底哪些执行成功,哪些执行失败。针对这个问题,我在fabric中加入了一个日志输出的逻辑,将屏幕输出同时输出到日志文件,每次执行完,再用脚本去检查执行结果,有问题,再重新执行,这时心里才算有了底气。

后来琢磨着效率和稳定还能再提高提高,于是用salt重写了bcfg2规则,并作了一些优化,开始的时候刷屏的问题仍然存在,虽然salt有一套成熟的return的机制,但是在命令行这么玩着总感觉有些别扭。

突发事件

有一次,我们部门有一个兄弟结婚大喜,请大家吃饭唱歌,大家玩得正Happy,不觉就到了12点,突然,线上出问题了,而且不是一般的问题。而我们刚好都在负一楼,手机信号都比较差。。。领导联系上我的时候已经有一会儿了,匆匆赶回公司后,通过分析日志把问题給堵上了,然后第二天我就新买了张手机卡。

随着公司的快速发展,类似这样的事情特别多,而且大多都是发生在晚上。

那时候,我想的最多的就是如何提高效率,让工作更有意义。

现在

一切靠人去保证稳定的系统都是在耍流氓"

针对上面的一些问题,在14年年底的时候,我们开始了运维平台的建设,最初,只有一个开发运维,两个系统运维,加上我四个人,用了不到3个月的时间,完成了资产系统,自动化系统及监控系统的开发及上线,随后很快就完成了成都这边所有项目的接入,这是我们团队比较自豪的一件事,当然也离不开前面的积累。

在做这个平台的时候,开始的想法也比较简单,就是要把运维日常的工作都平台化,降低操作门槛,通过这样的方式,保证人员的互备及系统稳定。以至于后来每当有新同事入职的时候,我最常说的一句话就是:工作中如果有什么觉得还需要优化的地方,一定要提出来,别不好意思,我们一起完善。

整个运维平台是由多个子系统构成。其中每个子系统主要是负责垂直的一部分功能,每个系统的侧重点也不一样,像自动化系统对运维的功底要求就非常的高,服务的优化,系统的优化,这些必须要做到非常的熟悉,在大流量,高并发的场景下,一个小小的参数就可能会引起一次事故。而通过大规模部署后更会将这样的问题放大化。

而监控系统,在保证量级支撑及水平扩容的前提下,对整个系统的易用性也有比较高的要求,因为整个系统是直接提供給整个技术部门使用,不同的团队可能又有不同的需求,所以只有不断的去细化功能,往产品化的方向发展。

整个平台的建设一直朝着最初的目标迈进,从最初的功能化也逐渐向产品化过渡,像类似上面突发事件这样的事情,目前也是作成了平台子系统的一个功能,实现了全自动化,几乎已不需要人工干预,而负责这个功能底层支撑的同学,刚好也是当时结婚的那个同学。

在完成了人工化,工具化到平台化到过渡后,这时,我想的更多的就是团队发展以及运维的价值。很多人觉得做运维是个苦逼活,背锅侠什么的,当玩笑听听就好,如果做运维的人都这么想,那就真的完了。

未来

容器化与智能化

虚拟化技术的兴起,传统的运维模式已经在慢慢改变,最早的时候,机器上架可能还需要运维去扛服务器,到后来,这块基本已由机房处理,再到后来,像很多公司都是直接用公有云,这些资源对他们已完全不可见。

虚拟化技术,不管xen,kvm,lxc,openstack, docker本质是都是出于对资源利用率的考虑。要做到资源利用率的最优,我们是一台物理机群跑5个虚拟节点合适,还是跑10个虚拟节点合适?怎样去评估?在保证稳定的前提下,是否可以做到动态的弹性管理及资源的合理分配?等等等等,这些也是我们不断要去探索和解决的问题。

容器化是必然的趋势,目前我们也是在向这个方向迈进,今年除了一些关键服务,都要向容器化过渡。通过容器化技术,降低成本,弹性管理。

智能化,如果容器化是将资源透明化,智能化的本质从我的理解,就是将运维透明化,比如像资源申请到最终上线这样一个流程,传统可能是这样的一个流程,发邮件,处理,回邮件,然后通过运维平台上线。我们能不能将沟通这个流程做到像开通公有vps那样自助?下单之后可以直接就交付机器资源?肯定是可以的,这也是我们以后的一个发展方向。

能力的互换

当真正做到了容器化和智能化后,运维做什么呢?所以我希望的是,每个网站运维都有系统运维的能力,每个系统运维都有开发运维的能力,每个开发运维都有系统运维,网站运维的能力。大家互相学习,共同成长。


本文作者:张川,聚美优品网站运维及开发运维集团总负责人

本文转载自微信公众号 中生代技术 freshmanTechnology

目录
相关文章
|
2月前
|
人工智能 安全 API
身份证二、三要素实名认证API文档介绍
身份证二、三要素实名认证API,通过姓名、身份证号及头像比对权威数据源,快速核验用户身份真实性。广泛应用于金融、政务、电商等场景,助力企业合规运营,防范冒用身份等风险,保障账户安全与业务可信。
|
4月前
|
自然语言处理 安全 API
2025阿里云双11特惠:文本短信低至 0.02 元/条,短信认证套餐包3.99元/年
2025年阿里云双11金秋云创季开启!短信认证套餐包新人专享7折,免资质签名即用即发;短信服务新客低至0.02元/条,老客最高减5850元,验证短信秒级触达率99%。
490 1
|
7月前
|
网络安全 API CDN
如何将Cloudflare HTTPS的SSL证书更换为Google签发的
将Cloudflare HTTPS的SSL证书更换为Google签发的
|
人工智能 文字识别 API
OpenSearch & AI搜索开放平台,实现0代码图片搜索!
本文主要介绍了如何利用阿里云的 OpenSearch 和 AI 搜索开放平台来构建一个无需编写代码就能完成的图片搜索功能。
575 12
|
6月前
|
JSON 搜索推荐 数据挖掘
巧用京东 API,精准把握京东平台用户消费偏好
在电商竞争激烈的环境下,精准把握用户消费偏好对提升转化率和优化营销策略至关重要。京东作为国内领先的电商平台,提供丰富的开放 API,支持开发者获取用户行为、订单、浏览等数据。通过调用这些 API,企业可深入分析用户偏好,构建个性化推荐与精准营销方案。本文详细介绍了如何通过京东 API 获取数据、分析用户偏好,并结合实际案例展示其应用场景与效果,助力企业提升运营效率与市场竞争力。
364 0
|
机器学习/深度学习 自然语言处理
RWKV-7 2.9B 开源发布!纯 RNN 无 KV cache,支持世界所有语言
2025 年 2 月 11 日,RWKV 基金会正式发布 RWKV-7-World-2.9B-V3 模型(以下简称 RWKV-7-2.9B)。
412 17
|
存储 NoSQL 分布式数据库
数据库的演进之路:从传统到现代,技术的飞跃与应用
一、引言 数据库作为数据存储和管理的核心工具,随着信息技术的快速发展,经历了从简单到复杂、从单机到分布式的演进过程
|
12月前
|
数据采集 存储 数据可视化
体育数据系统是怎么开发的
体育数据系统开发涵盖需求分析、数据采集、存储、处理与展示等环节。首先明确目标和用户群体,规划功能;接着设计数据采集方式和接口,确保实时数据获取。随后选择合适的数据库和技术进行数据存储与管理,并进行数据清洗、分析及挖掘。通过可视化工具和友好的用户界面展示数据,确保易于理解。最后,系统需经过部署、优化、测试并上线运行,保证稳定性和高性能。
|
安全 前端开发 Windows
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
本文介绍了 Electron 应用在 Windows 中的更新原理,重点分析了 `NsisUpdater` 类的实现。该类利用 NSIS 脚本,通过初始化、检查更新、下载更新、验证签名和安装更新等步骤,确保应用的更新过程安全可靠。核心功能包括差异下载、签名验证和管理员权限处理,确保更新高效且安全。
427 4
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
|
数据可视化 Python
使用OpenPyXL在Excel中创建折线图:数据可视化入门
本文介绍了如何使用Python的`openpyxl`库在Excel中创建折线图,包括安装库、加载Excel文件、定义数据范围、设置图表属性(如标题、轴标签)及保存文件等步骤,适合数据可视化初学者。
816 15