Author Image

你好,我是 梦哲

You Mengzhe

SRE

一个充满激情的IT从业者,拥有15年的工作经验。2008年毕业于西安电子科技大学学习电子信息工程专业,曾任职于TCL通讯、爱立信和大数点科技,经历了从学生到软件工程师,到技术服务工程师,到服务可靠性工程师(SRE)以及软件系统交付管理(SDM)的转变。对生活充满激情,对工作认真负责,乐于学习!

Introduction to Kubernetes
Architecting with Google Kubernetes Engine
Google Cloud Fundamentals - Core Infrastructure
团队协作
领导力
责任心

技能

工作经历

1
SRE,软件交付经理
大数点科技

2016年1月 - Present, 深圳

可操作的洞察引擎,创建产品和解决方案,使行业更加高效、安全、安全和可靠。

Responsibilities:
  • 管理研发部门基础设施(包括开发、测试、生产),实现软件产品高效研发和交付流程
  • 挖掘客户需求,提供高效的解决方案
  • 研发团队DEVOPS文化建设,推进云原生、自动化和大数据技术
  • 负责IT资源优化,提升研发效能和成本
  • 负责产品交付,保障产品质量和安全以及客户满意

爱立信(中国)

2010年3月 - 2015年9月, 上海

爱立信是信息和通信技术(ICT)的领先提供商之一。

技术支持工程师

2012年5月 - 2015年9月

  • 根据产品客户需求,为客户设计和交付定制化产品服务
  • 维护客户生产环境系统,为客户解决系统在生产环境中的技术问题
  • 为客户提供24x7技术支持服务,保障系统在客户环境的稳定运行
软件开发工程师

2010年3月 - 2012年4月

  • 根据产品需求,进行功能开发维护和相关运维工作
  • 实现产品升级需求,完善升级脚本,保障客户线上系统的稳定运行
2

3
软件工程师
TCL通讯科技

2008年7月 - 2010年3月, 深圳

专注于为全球消费者提供TCL和Alcatel 两个品牌移动通信终端产品,成为受人尊敬和最具创新能力的全球领先企业。

Responsibilities:
  • Windows移动产品开发,集成GPS芯片,实现GPS定位功能
  • 移动应用桌面开发,实现自定义桌面环境
  • 编写自动化测试脚本,实现移动产品功能的自动化测试

教育

电子信息工程
Taken Courses
  • 信息论
  • 信号处理系统
  • 信道编码理论
  • 计算机网络
  • C语源程序设计
高级中学

近期文章

Card image cap
DIUN-容器镜像更新通知

我们通常可以将一台或多台服务器作为Docker主机,使用容器跑一些开源的工具服务。而往往我们不知道该什么时候这个这些应用有了更新的版本,最近发现了一个开源的工具,可以检查主机上运行的容器的镜像是否有更新,并可以通过集成多种渠道发送更新通知,这款工具就是 DIUN(Docker Image Update Notifier) 。 DUIN介绍 DUIN是一款使用GO语言编写的命令行工具,可以本地运行,也可以通过容器运行(开发者提供了构建好的镜像 ),当监控的容器镜像在相应的注册表(Registry)中更新时,可以接收到相应的通知。 DUIN支持多种监控配置(Providers): Docker - 分析Docker主机上运行容器的镜像,并检查其更新 Podman - 类似Docker,需要Podman以服务方式启动 Kubernetes - 分析Kubernetes集群中的Pods,检查pod使用的镜像 Swarm - 分析Swarm集群中服务使用的镜像 Nomad - 类似Docker,分析Nomad引擎运行的镜像 Dockerfile - 分析Dockerfile中引用的镜像 File - yaml格式的配置文件,直接配置需要检查的镜像信息 DUIN支持集成多种通知渠道,例如 Discord, Slack,Matrix,Telegram 以及 Webhook 等。 DUIN使用示例 这里将演示在Docker主机上使用Docker Compose来运行duin服务,并集成Slack,将通知发送到相应的频道。 docker-compose.yml : services: diun: image: crazymax/diun:latest container_name: diun hostname: home200-diun command: serve volumes: - diundata:/data - "/var/run/docker.sock:/var/run/docker.sock" environment: - "TZ=Asia/Shanghai" - "LOG_LEVEL=info" - "LOG_JSON=false" - "DIUN_WATCH_WORKERS=20" - "DIUN_WATCH_SCHEDULE=0 */6 * * *" - "DIUN_WATCH_JITTER=30s" - "DIUN_PROVIDERS_DOCKER=true" - "DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT=true" - "DIUN_NOTIF_SLACK_WEBHOOKURL=https://hooks.

Card image cap
最小化静态WEB容器实践

在现代的B/S架构应用中,我们会做前后端分离,某些前端Web服务会将编译完成的静态文件放到一个web服务器进行部署。例如,我的博客也是基于Hugo编译的静态文件来进行部署的。 那在容器化部署模式下,我们需要基于一个web服务的基础容器(镜像)将静态文件构建成站点或者Web服务的容器镜像来进行部署。在Docker开发最佳实践中,我们应该尽量保持镜像足够小(Size大小)。因此,我们应该尽量选择满足我们需求的web服务基础镜像足够小。 大部分情况下,我们会选择Nginx作为我们的web服务器,一开始我也是这么选择的,因为社区在Docker Hub上为我们提供了开箱即用的容器镜像,下面来看看我用来构建静态web服务的过程。 Nginx On Alpine 我们知道在容器构建的实践中,我们可以选择基于AlpineLinux为分发系统的镜像,其比其他(例如 ubuntu, centos等)的镜像会小很多。因此一开始我们也是选择基于Alpine的nginx镜像,例如 nginx:1.22-alpine。 $ docker image pull nginx:1.22-alpine $ docker image ls | grep nginx nginx 1.22-alpine 23.5MB 可以看到其大小为 23.5MB 。 基于该惊醒构建我的博客的发布镜像 FROM mengzyou/hugo:0.106 AS builder COPY --chown=hugo:hugo . /home/hugo/app RUN hugo FROM nginx:1.22-alpine COPY --from=builder /home/hugo/app/public/ /usr/share/nginx/html $ docker build -t myblog:nginx . $ docker image ls --format "{{.Repository}}\t{{.Tag}}\t{{.Size}}" | grep myblog myblog nginx 29MB 构建出来而最终交付镜像的大小为 29MB 。 Easyhttpd On Alpine 后来,我发现了一个用GoLang编写的轻量级web服务器 - easyhttpd,于是我Fork了该项目,编写了一个Dockerfile来构建该web服务器的镜像,具体可查看该文件内容。

技能学习

Architecting with Google kubernetes Engine
Coursera 2020年10月

Google Kubernetes Engine 的架构专业化将教您如何使用 Google Kubernetes Engine 或 GKE 实施解决方案,包括构建、调度、负载平衡和监控工作负载,以及提供服务的发现、管理基于角色的访问控制和安全性,以及为这些应用程序提供持久存储。

Google Cloud Fundamentals - Core Infrastructure
Coursera Oct 2020

Google Cloud Fundamentals: Core Infrastructure 介绍了使用 Google Cloud 的重要概念和术语。通过视频和动手实验,本课程介绍和比较了 Google Cloud 的许多计算和存储服务,以及重要的资源和策略管理工具。

Introduction to Kubernetes
edX Jan 2018

由Linux基金会提供的学习课程,Linux基金会的在线学习计划。

Virtualization of KVM

KVM(基于内核的虚拟机)是一种在 Linux 上运行的开源虚拟化技术。它允许多个虚拟机 (VM) 在单个物理服务器上同时运行。