Advanced Puppet 系列的前言
什么是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 系列的前言的更多相关文章
- “Ceph浅析”系列之一——前言
开源技术专家章宇同学(@一棹凌烟)在C3沙龙分享过Ceph之后,最近来了劲头,一口气写了一系列<Ceph浅析>的博文,共8篇: "Ceph浅析"系列之一--前言 &qu ...
- [转]C#中基于GDI+(Graphics)图像处理系列之前言
直接给出原文链接吧: C#中基于GDI+(Graphics)图像处理系列之前言 链接:https://pan.baidu.com/s/1zm5TCOHqkqEfiLZuqO0UMA 提取码:qz0h
- webpack4 系列教程: 前言
1. 什么是webpack? 前端目前最主流的javascript打包工具,在它的帮助下,开发者可以轻松地实现加密代码.多平台兼容.而最重要的是,它为前端工程化提供了最好支持.vue.react等大型 ...
- Java工程师之SpringBoot系列教程前言&目录
前言 与时俱进是每一个程序员都应该有的意识,当一个Java程序员在当代步遍布的时候,你就行该想到我能多学点什么.可观的是后端的框架是稳定的,它们能够维持更久的时间在应用中,而不用担心技术的更新换代.但 ...
- Java工程师之Redis实战系列教程前言&目录
系列前言 Java工程师之Redis实战系列教程,同其他教程一样,均是在下学习笔记,本系列主要参考自<Redis-in-action>,将书本中的有趣的例子转化为能解决特定问题的示例程序, ...
- Java开发之上帝之眼系列教程前言&目录
前言 如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝的角度去观察(了解)Java体系. ...
- .net工作准备系列--01前言
注:学习参考朱毅编著的进入IT名企必读200题. 内容重在自我学习与巩固. 前言: 章节划分 01应聘须知 02基础知识(重点) 03进阶知识 04重点应用(aspnet第一部分) 04重点应用(as ...
- 【Appnium+C#+Winform自动化测试系列】前言
目录(后期持续更新) 一.前言 1.为什么选择Appnium 最近这些年APP保持着持续的火热,对应的APP测试行业也是跟着水涨船高.由于市场的需求,APP测试平台也涌出大量的自动化测试工具. 在对 ...
- SLAM+语音机器人DIY系列:前言
------SLAM+语音机器人DIY系列[目录]快速导览------ 第1章:Linux基础 1.Linux简介 2.安装Linux发行版ubuntu系统 3.Linux命令行基础操作 第2章:RO ...
随机推荐
- verilog中的for循环问题
module mult_for(outcome,a,b);parameter SIZE=8;input[SIZE:1] a,b;output reg[2*SIZE:1] outcome;integer ...
- poj3050
#include <stdio.h> #include <set> #include <string> using namespace std; int a[6]; ...
- 1029. Median (25)
分析: 考察归并排序,用简单的快排会超时. #include <iostream> #include <stdio.h> #include <algorithm> ...
- 基于选择重传ARQ传输协议的数据重传机制方案设计
原文链接: http://blog.csdn.net/pinghegood/article/details/7841281 1.背景 最近在项目中,由于使用TD网络传输数据,数据掉包严重,软件组老大 ...
- php 消息实时推送(反ajax推送)
入口文件index.html <!DOCTYPE HTML> <html> <head> <title>反ajax推送</title> &l ...
- wexinjs 调用
public class Utils { static string appid = GetAppSettingValue("appid"); sta ...
- git -- 如何解决冲突
遇到冲突,首先要编辑冲突文件,可以使用vim或者其他工具,冲突文件变现为: <<<<HEAD 到 ==== :代表本地分支的修改内容 ==== 到 >>>&g ...
- [f]区间随机数函数
$.r = function(i, g) { var j = Math.random(), h = arguments.length; return h == 2 ? (i + Math.floor( ...
- 3.3 SQLite数据库
1.使用嵌入式关系型SQLite数据库存储数据 轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用 ...
- Adaboost算法初识
1.算法思想很简单: AdaBoost 是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器,即弱分类器,然后把这些弱分类器集合起来,构造一个更强的最终分类器.(三个臭皮匠,顶个诸葛亮) 它的 ...