Coder Social home page Coder Social logo

resume's Introduction

个人信息

教育经历

  • 2009.9-2013.6 河北科技大学 金属材料工程

工作经历

一下科技(运维开发工程师) (2017年6月-2018年12月)

主导运维平台研发

运维平台是以服务为核心的综合管理平台, 主要有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社区.

报警发送接口的开发

之前运维的报警都是通过配置钉钉来通知的, 为了提高报警的多样性和易用性, 我写了一个报警发送的HTTP接口, 方便各个业务包括运维和研发来调用.该服务集成了各种第三方消息发送的方式, 包括企业微信/短信/语音/邮件/钉钉等.

项目开始采用Python开发, 使用了Flask+Gunicorn技术栈, 后来为了更加容易部署到容器中, 采用SpringBoot重构了一次.

通过这个项目我学会了:

  • 学会使用SpringBoot编写项目
  • 了解常用的Spring注解的使用
  • 学会了RabbitMQ和Spring的整合
  • 了解了约定大于配置的**

推进日志系统的落地

公司开始都是直接把日志打印到本地磁盘, 目录不规范, 在推进部署系统的时候我同时制定了日志的相关规范, 比如日志目录, 日志级别等, 为了更加方便开发者查看日志, 我们引入了ELK.在此过程中我负责:

  • 编写详细的接入文档, 比如Java的话, 详细到Logback的配置.方便开发人员接入.
  • 整合filebeat/logstash等的部署功能到运维平台, 让开发者从申请机器的时候直接可以选择日志的收集方式
  • 整合elasticalert插件到平台为业务添加错误日志报警功能

推进容器化的落地

为了更进一步地优化研发/测试/上线流程和提高服务器资源利用率, 我们团队引入了k8s, 将服务逐渐容器化. 在这个过程中我主要负责:

  • 根据公司目前的上线部署流程, 更加平滑地引入容器化部署到运维平台上.
  • 负责编写整合k8s的API到运维平台部分代码
  • 培训研发人员关于容器的基础知识
  • 解决容器化过程中遇到的一些问题

从中我学会了:

  • K8s的整体架构和各个主要组件的作用
  • 熟练掌握了K8s中Service/Deployment/Pod的相关概念和yaml配置文件的编写
  • 了解Docker的底层技术namespace/cgroup等
  • 经历了SpringCloud微服务的容器化迁移的踩坑过程

钱方好近 (Python后台开发工程师)(2014年8月-2017年6月)

参与电商网站爬虫项目

参与了电商网站的爬虫项目, 包括淘宝/京东等商品页的爬取.技术栈采用的是Python+MongoDB

从中学会了:

  • 学会了requests/scrapy/beautifulsoup等模块的使用
  • 学会使用gevent等加速爬取的速度
  • 对socket/HTTP等知识有了更加深入的理解

喵喵微店

独立负责后端商品库相关接口的设计和编写.

通过该项目:

  • 学会使用flaskweb框架开发项目
  • 学会了采用gunicorn, gevent来提高flask的并发性能
  • 学会了Python操作Mysql, Redis

中兴通讯 (运维工程师)(2013年7月-2014年7月)

利比亚IDC运维项目

参与中兴海外利比亚服务器运维项目,项目上有1000台左右服务器需要维护,包括日常检查,数据报表展示,基础服务的安装配置等等.

通过这个项目:

  • 从开始的手工安装系统到后来的工具化我认识到自动化的重要性,同时自己的shell编写能力大大提高, 学会了常见的Linux命令top/vmstat/netstat等
  • 学会使用Python编写简单的监控脚本, 比如CPU/内存等的监控
  • 由于是在国外,经常要跟运营商的客户打交道,这也提高了我的英语听说读写能力,当然已经习惯看英文的技术文章。

河北科技大学 (学生会网络部)(2011年7月-2013年7月)

参与科大校内网搭建

在学生会网络部的时候为了给大家提供交友娱乐的平台, 我们搭建这个校园校内网, 提供FTP文件共享, BT服务, 论坛功能等, 从购买硬件到安装操作系统,从安装LNMP,到搭建Discuz等我都有深度参与.

项目收获:

  • 经过这个小小的项目,我熟练掌握了linux基础知识,以及TCP/IP相关的知识.
  • 培养了一定的问题排错能力和团队协作能力,另外我还意识到兴趣是最好的老师.

技能清单

以下均为我工作中经常使用到的技能

  • 编程语言
  • Java 主要写一些服务接口, 比如报警发送接口.
  • Python 主要写一些运维自动化工具, 比如部署系统.
  • Golang 熟悉, 常用于阅读k8s相关的代码
  • Shell 常见的Linux运维命令
  • Web框架
  • SpringBoot/SpringCloud 熟悉Spring微服务相关组件
  • Django 用于公司内部平台开发
  • Flask 一些运维相关的接口, 比如部署接口, 端口存活检查等.
  • 微服务
  • 了解springcloud常见组件的使用场景
  • 深入研究过Eureka注册机制和容器化过程中踩过的坑.
  • 监控系统
  • 熟练掌握CNCF毕业项目prometheus的场景落地和promQ的使用.能结合grafna做整个监控的闭环.
  • 日志系统
  • 熟练掌握ELK的各个组件, 能根据具体的业务场景选择合适的日志收集方案
  • 配置中心
  • 熟悉携程apollo的系统架构.
  • 数据库/消息队列
  • 熟练掌握MySQL的使用
  • RabbitMQ 了解集群架构、消息可靠原理、会RabbitMQ与Spring家族整合
  • 容器
  • 了解Docker的底层原理, 熟练掌握Docker各种命令的使用
  • 熟悉k8s各个组件, 了解如何在中小企业落地
  • 参与过SpringCloud微服务容器化的过度, 有相关的经验.
  • 了解service mesh概念, istio等新技术.
  • 公有云
  • 熟悉阿里云各个产品, 并了解其使用场景, 其他云厂商也有了解

技术文章

个人评价

  • 我是一个学习能力很强的人,从一个非科班出身到Linux, 网络, Python, k8s, Java等,都是自己在工作中以及下班后自己学习的.
  • 解决问题能力强, 喜欢刨根问底,解决工作中的问题, 并能以解决问题为导向来不断强化自身的技能.
  • 我是一个勇于承担责任的人,除了做好自身的工作外, 我还积极帮助同事解决问题;在我待过的公司中, 我能做到让周围大部分的同事有问题第一个能想到的就是我;
  • 有较强的沟通及协调能力,一下科技容器化的推进, 从规范制定, 平台研发, 到推进业务上容器, 我都有深度参与.



resume's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.