什么是Advanced

在网络上,你能找到大量关于Puppet的安装,配置以及基础用法的文章和博客。你在通过一段时间的实战后,熟练掌握了Puppet基础用法,随着你管理的集群日益扩大,你的部署逻辑越来越复杂,当你打算使用到一些Puppet高级用法时,当你想要对puppet代码写测试用例时,当你希望对Puppet进行性能调优时,当你想构建中心化的Puppet集群时,当你计划使用puppet构建完整的开发时,测试和线上环境,当你思考Puppet能否实现线上服务的灰度发布时...却发现几乎找不到这样的资料。

这些经验是需要时间去积累和摸索的,恰巧我学习puppet的时间较早,一直在负责管理线上复杂的业务逻辑,并且持续参与开源社区的开发工作,这也是我计划写一个关于Puppet进阶使用系列,希望通过这个Advanced Puppet系列来分享我在Puppet领域上的一点经验,当然我的水平有限,若有疏漏之处,恳请指正。

克服惰性

每个人都有惰性,我也不例外,过去看过我博客的同学会发现我是一个经常会把文章变成太监的人 LOL。从最早协作导师编写的用于南方科大CS课程的MIT&Pudure的Python编程系列,到研二时突然着迷的自然语言处理NLTK学习笔记,到在新浪实习时Openstack对象存储项目Swift的学习笔记都无一善始善终。曾经答应给图灵编辑写的Puppet文章,也只交了一篇稿之后就没有下文了。

我把最主要的原因归结为太忙,每逢老大催写博客或者编辑催稿,我就以忙为理由推卸,这招很管用,因为我确实很忙:内部持续交付系统需要不断地完善和维护,Openstack服务和UOS服务地部署逻辑在不断更新,开发环境和测试环境需要持续维护,同僚的代码审查,包维护,新版本的频繁发布和大版本升级,服务切换,故障处理,新region的上线,还有开源社区的开发,讨论和代码审查...每天到公司里就一直忙到下班,晚上走出健身房的时候已经是华灯初上了,回到家中洗完澡躺在床上,浏览一会一直关注的摄影网站,接着继续工作,因为手头永远有做不完的活,稍有空闲的时候打开自己一直参与的开源社区邮件列表,社区的代码审查系统,每周一的深夜还要在IRC上参加例会到凌晨。

每次睡觉前,我一躺下就能看到墙上的那张便签:每天坚持写blog。我一直是10000小时定律的拥甭,曾在毕业时写了一篇文章来鼓励自己,待到2015年7月份,我能在某个小领域内略有小成,现在14年都已过去一半,可今年写的博客屈指可数,艾,惭愧得无地自容。

经过几天的思考后,我打算就从Advanced Puppet系列开始,争取定期交付数篇高质量的文章,给过去的这段时光里自己在Puppet上所积累的经验做一个总结。

废话不多说,诸君骇视而拭目。

Advanced Puppet 系列的前言的更多相关文章

  1. “Ceph浅析”系列之一——前言

    开源技术专家章宇同学(@一棹凌烟)在C3沙龙分享过Ceph之后,最近来了劲头,一口气写了一系列<Ceph浅析>的博文,共8篇: "Ceph浅析"系列之一--前言 &qu ...

  2. [转]C#中基于GDI+(Graphics)图像处理系列之前言

    直接给出原文链接吧: C#中基于GDI+(Graphics)图像处理系列之前言 链接:https://pan.baidu.com/s/1zm5TCOHqkqEfiLZuqO0UMA 提取码:qz0h

  3. webpack4 系列教程: 前言

    1. 什么是webpack? 前端目前最主流的javascript打包工具,在它的帮助下,开发者可以轻松地实现加密代码.多平台兼容.而最重要的是,它为前端工程化提供了最好支持.vue.react等大型 ...

  4. Java工程师之SpringBoot系列教程前言&目录

    前言 与时俱进是每一个程序员都应该有的意识,当一个Java程序员在当代步遍布的时候,你就行该想到我能多学点什么.可观的是后端的框架是稳定的,它们能够维持更久的时间在应用中,而不用担心技术的更新换代.但 ...

  5. Java工程师之Redis实战系列教程前言&目录

    系列前言 Java工程师之Redis实战系列教程,同其他教程一样,均是在下学习笔记,本系列主要参考自<Redis-in-action>,将书本中的有趣的例子转化为能解决特定问题的示例程序, ...

  6. Java开发之上帝之眼系列教程前言&目录

    前言 如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝的角度去观察(了解)Java体系. ...

  7. .net工作准备系列--01前言

    注:学习参考朱毅编著的进入IT名企必读200题. 内容重在自我学习与巩固. 前言: 章节划分 01应聘须知 02基础知识(重点) 03进阶知识 04重点应用(aspnet第一部分) 04重点应用(as ...

  8. 【Appnium+C#+Winform自动化测试系列】前言

    目录(后期持续更新) 一.前言  1.为什么选择Appnium 最近这些年APP保持着持续的火热,对应的APP测试行业也是跟着水涨船高.由于市场的需求,APP测试平台也涌出大量的自动化测试工具. 在对 ...

  9. SLAM+语音机器人DIY系列:前言

    ------SLAM+语音机器人DIY系列[目录]快速导览------ 第1章:Linux基础 1.Linux简介 2.安装Linux发行版ubuntu系统 3.Linux命令行基础操作 第2章:RO ...

随机推荐

  1. mvc深入理解

    对于v和c好理解, 对于model分为数据对象模型和业务逻辑模型,一般为一个类,数据对象模型包含对一个具体数据表的相关操作,业务逻辑模型为处理一些业务逻辑.

  2. Java基础语法总结

    1.关键字:每门编程语言都有一些保留的单词,用于定义该门语言,这些单词对编译器有特殊含义,并且不能作为标识符,这就是编程语言的关键字. abstract.boolean.break.byte.case ...

  3. (mysql)Packet for query is too large

    http://jingyan.baidu.com/article/fb48e8be3f81716e622e14ee.html windows如何重启mysql 开始->运行->cmd 停止 ...

  4. opengles2.0之图元装配和光栅化

    光栅化的过程就是把三维世界中的物体转换成屏幕上像素的过程. glGetfloatv();    --------v表示的是数组 gles2.0里面有两种绘图命令.glDrawArrays和glDraw ...

  5. Eclipse4.6(Neon) + Tomcat8 + MAVEN3.3.9 + SVN项目完整环境搭建

    软件清单 jdk-8u102-windows-x64.exe eclipse-inst-win64.exe (Eclipse4.6 Neon) apache-tomcat-8.5.5-windows- ...

  6. Titanium系列--利用Titanium开发android App实战总结

    1. Titanium中,通过ImageView Controller 显示图片,图片地址要放在app/assets下,然后自己建一个文件夹,把图片放在这里.如下图,然后alloy代码:<Ima ...

  7. iOS开发零基础--Swift基础篇--常量&变量的定义

    什么是常量和变量 在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量 使用let来定义常量,定义之后不可以修改 使用var来定义变量,定义之后可以修改 常量和变量的使用注意: ...

  8. ORACLE 中NUMBER 类型 低精度转换成高精度

    例如: 表User中有一个字段 salary  Number(10,3), 如果想把字段salary的类型提高精度到salary  Number(10,6),保留六位小数, 解决办法:1,ALTER ...

  9. codeforces 425D

    题意:给定n<=100000个二维点,并且0<=x,y<=100000,求有多少个平行于坐标轴的正方形 思路:本来想hash的,但是感觉不好弄.. 后来感觉像是分块,最坏的情况就是那 ...

  10. Zabbix3.0 自动邮件报障

    Zabbix3.0以后,自带的邮件报警支持SSL验证了, 但是仍然没有发送复数个邮箱以及CC,BCC的功能, 因此,我们还是得用别的方法来实现邮件报障. 实现方法有很多种,我用的是PHPmailer. ...