- 姓名: 吴飞群
- 出生年月: 1990年7月
- 邮箱: [email protected] / [email protected]
- 电话: 17600466728(同微信)
- Github: https://github.com/wufeiqun
- 职位: 运维开发工程师 / 运维工程师 / Java开发工程师
- 统招本科 2009.9-2013.6 河北科技大学
以下均为熟练使用的技术栈
-
云服务
- 熟悉各个主流云厂商的服务, 能根据公司实际情况选型配置
-
操作系统&云原生
- 多年Linux运维经验, 熟练掌握常见问题排查命令工具
- 参与过SpringCloud微服务容器化的过度, 有相关的经验.
- 熟悉各大主流厂商Kubernetes服务
-
编程语言
- Java 主编程语言, 一些大型后端项目会用到
- Python 小型项目, 运维自动化, 爬虫, 数据处理等场景会使用
- Shell 运维自动化,线上debug等场景会用到
- Vue 能够熟练使用Vue进行各种后管系统的开发
-
Web框架
- Spring全家桶
-
数据库&存储&消息队列
- MySQL 了解常见的SQL优化技巧, 能够根据业务场景编写较为复杂的SQL语句
- Redis 熟悉常见的缓存使用场景, 能够在项目中熟练使用
- RocketMQ 熟练使用
- ElasticSearch 熟练使用
- 超强的学习能力, 不断拥抱新技术. 从一个非科班出身到熟练掌握Linux, 网络, Python, k8s, Java等,都是自己在工作中以及下班后自己学习的. 计算机技术日新月异, 只有通过不断学习, 才能立于不败之地
- 较强的问题解决能力, 以解决公司实际问题为最终导向, 做过运维/运维开发/后端开发等岗位, 全链路问题排查经验非常丰富
- 较强主人翁意识, 除了做好自身的工作外, 我还积极帮助同事解决问题, 有责无界;在我待过的公司中, 我能做到让周围大部分的同事有问题第一个能想到的就是我
- 有较强的项目推进能力和团队协作能力,经历过不同公司多个项目的迭代和推进
参与了每日优鲜运维从手工运维到平台化的整个过程, 我主导并参与的项目有:
- 负责运维平台的开发维护, 持续集成, 代码发布, 流水线等
- 使用Django开发了运维CMDB平台, 建立了运维统一的基础数据平台
- 搭建LDAP并实现了OTP二次验证, 保证公司内部登录的安全性
- 基于ansible开发了运维异步任务平台, 将运维内部大部分手工任务变成了自动化任务, 提高了整个运维团队的效率
- 使用SpringBoot+Vue完成了成本控制系统的开发, 将每个团队的成本使用可视化, 对公司的成本控制起到了很大的辅助作用
作为项目负责人完整参与并主导了每日优鲜的账号权限体系的迭代, 从最初的烟囱式逐渐到平台化, 智能化的整个过程
- 负责行业调研和架构设计, 包括单点登录, 功能权限, 数据权限, 网关鉴权等
- 项目前后端的开发
- 推广接入
在做账号权限项目的时候, 多次获得公司文化案例的表彰
运维平台是以应用
为核心的综合管理平台, 主要有CMDB, 应用管理, CICD, 容器管理, 配置中心管理等功能
运维平台是运维和开发沟通的桥梁, 平台开发采用的技术栈是Python+Django+jQuery+Bootstrap做为运维平台的核心开发者, 我在此项目:
- 独自负责运维平台整体架构的设计, 将运维平台进行分层设计, 通过API集成到运维平台中.
- 整理研发团队需求并落地整合到运维平台中
- 整合阿里云各个产品的接口到运维平台中并结合项目进行管理
- 整合其它第三方接口到平台
参与主导了一下科技部署系统的搭建, 制定了各个语言和框架的开发上线标准,让开发实现了在运维平台上一键部署, 一键回滚,每天构建上线次数达到100多次, 大大提高了整个研发团队的效率, 减少了交付时间.
经过这个项目我学会了:
- 熟练掌握了Jenkins的使用以及相关API的调用.能根据具体的业务场景二次开发.
- 学会了Python中/Ansible和Paramiko模块的使用和二次开发
- 学会了Maven的使用和设计思想.
- 通过推动业务部门按标准开发接入部署系统我的沟通能力也得到了很大的进步.
参与调研新型监控技术Prometheus
, 并进行了二次开发, 接入到了运维平台, 方便了公司研发人员的接入.从基础系统(服务器), 业务的核心指标(QPS/RT), 基础资源(MySQL/Redis)等全方位接入监控系统, 并且优化了报警的级别和通知的方式, 支持企业微信/钉钉/短信/电话等. 大大提高了故障的通知处理速度.保障了业务的稳定性.
通过这个项目我的收获:
- 技术上学会使用Prometheus这一项监控技术, 包括Prometheus的数据模型, 查询语言promQL, 和grafna的整合, 监控的添加等.
- 心态上认识到要不断学习新技术, 并根据公司具体场景落地.比如通过Prometheus我接触到了CNCF社区.
之前运维的报警都是通过配置钉钉来通知的, 为了提高报警的多样性和易用性, 我开发了推送中心服务, 该服务集成了各种第三方消息发送的方式, 包括企业微信/短信/语音/邮件/钉钉等.项目采用SpringBoot开发, 并通过MQ来异步削峰.
通过这个项目我学会了:
- 熟练掌握了SpringBoot的项目开发
- 掌握了MQ的使用
包括
- 制定日志规范, 包括日志级别, 保存路径, 自动切割等
- 搭建ELK日志平台
- 推广业务方接入
- 后期维护等等
为了更进一步地优化研发/测试/上线流程和提高服务器资源利用率, 我们团队引入了k8s, 将服务逐渐容器化. 在这个过程中我主要负责:
- 根据公司目前的上线部署流程, 更加平滑地引入容器化部署到运维平台上.
- 负责编写整合k8s的API到运维平台部分代码
- 培训研发人员关于容器的基础知识
- 解决容器化过程中遇到的一些问题
项目收获:
- K8s的整体架构和各个主要组件的作用
- 熟练掌握了K8s中Service/Deployment/Pod的相关概念和yaml配置文件的编写
- 了解Docker的底层技术namespace/cgroup等
- 经历了SpringCloud微服务的容器化迁移的踩坑过程
参与了电商网站的爬虫项目, 基于Scrapy
框架进行分布式爬虫,利用Xpath
,BeautifulSoup
等库进行数据清洗,并解决验证码登录,Javascript混淆等各种反爬措施。
独立负责后端商品库相关接口的设计和编写.
项目收获:
- 学会使用
flask
web框架开发项目 - 学会了采用
gunicorn
,gevent
来提高flask的并发性能 - 学会了Python操作
Mysql
,Redis
等
参与中兴海外利比亚电信运营商运维项目,项目上有1000台左右服务器需要维护,包括日常检查,数据报表展示,基础服务的安装配置等等.
项目收获:
- 从开始的手工安装系统到后来的工具化我认识到自动化的重要性,同时自己的shell编写能力大大提高, 学会了常见的Linux命令top/vmstat/netstat等
- 学会了常见的大型软件比如
Nginx
,MySQL
等软件的安装和配置 - 学会使用Python编写简单的监控脚本, 比如CPU/内存等的监控
- 由于是在国外,经常要跟运营商的客户打交道,这也提高了我的英语听说读写能力,当然已经习惯看英文的技术文章。
在学生会网络部的时候为了给大家提供交友娱乐的平台, 我们搭建这个校园校内网, 提供FTP文件共享, BT服务, 论坛功能等, 从购买硬件到安装操作系统,从安装LNMP,到搭建Discuz等我都有深度参与.
项目收获:
- 经过这个小小的项目,我熟练掌握了linux基础知识,以及TCP/IP相关的知识.
- 培养了一定的问题排错能力和团队协作能力,另外我还意识到兴趣是最好的老师.
- 干货 | Yelp是如何使用Docker的? 由于公司打算使用docker, 所以调研了docker相关的技术, 顺便翻译了一篇文章给了dockerone社区.
- 一下科技容器化落地实践 在Dockerone微信群中分享我们一下科技的容器化落地方案.