什么是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. c#开发Mongo笔记第七篇

    开发到这里遇到了一些问题,哪到这里想请教一下大家 今天我完成的是菜单功能, public class Menu { public ObjectId _id { get; set; } public i ...

  2. 如何将windows server 2008R2打造成桌面系统

    >在工作中有没有遇到这样的情况,因某些应用需要使用到服务器版系统,为了方便就将自己的机器安装成服务器版,这样一来客户版系统的易用性和更好的体验就不能用了,有木有--呵呵,下面以windows s ...

  3. 。net 添加或获取文件关联

    文件关联设置 2011-02-07 14:25:36|  分类: VB.net2008或2010 |  标签:文件关联  |举报|字号 订阅     原理:以后缀名为.txt为例 方式一: 1.在注册 ...

  4. ICE系列之3对象接口定义语言——slice

         Slice 定义由编译器编译到特定的实现语言 .编译器把与语言无关的定 义翻译成针对特定语言的类型定义和 API.开发者使用这些类型和 API 来 提供应用功能,并与 Ice 交互.用于各种 ...

  5. php array转json、xml

    class Encode{ public static function jsonEncode($code,$message,$data){ $result = array( 'code' => ...

  6. MySql自动分区

    自动分区需要开启MySql中的事件调度器,可以通过如下命令查看是否开启了调度器 show variables like '%scheduler%'; 如果没开启的话通过如下指令开启 ; 1.创建一个分 ...

  7. JS JQuery初始化

    (function($) {})(jQuery); 这种写法,申明一个匿名函数并立即调用 $(document).ready(function(){}); 文档全部加载完再执行 等同于$(functi ...

  8. JS检测浏览器是否支持HTML5视频播放 (标签<video>) ,

    function checkVideo() { if (!!document.createElement('video').canPlayType) { var vidTest = document. ...

  9. Piggy-Bank(HDU 1114)背包的一些基本变形

    Piggy-Bank  HDU 1114 初始化的细节问题: 因为要求恰好装满!! 所以初始化要注意: 初始化时除了F[0]为0,其它F[1..V]均设为−∞. 又这个题目是求最小价值: 则就是初始化 ...

  10. haskell中的do

    在haskell中,有一个do的语句专门用来做一些不那么“干净”的事情,比如读写都需要用do来开头 一开始以为do的作用是做monad,后来发现是错误的,其实do做的事情是包裹一个顺序操作 比如在如下 ...