前言

说实话,看到自己在博客园的排名感到惭愧,因为自己最近两年没有持续地在博客园上写技术博客了,有人私下问我是不是荒废了?翻翻15年和16年的博客,真的是少的可怜。一方面的确由于岗位的变化,导致了工作变得越来越忙, 一方面写作的精力放在了公司技术公众号,内部技术和管理文档,摄影博客上了。

我一直很感慨时代的变化,读研的时候,我还在图书馆翻着一本本厚厚的专业书,短短几年后的今天知识获取来源已变得非常广泛:博客,公众号,微博,技术分享会等等,书籍的影响力反而变得渺小了。

但我内心里一直非常渴望自己能够静下心来,把近年来获取的知识和经验整理,并作专注性较强的输出。

因此,很高兴6月的第一周,由一帮大龄儿童们一起发布了《深入理解Openstack自动化部署》的第一个正式版本。说起部署这个事儿,一直伴随着Openstack诞生到现在,称得上是一个非常古老的话题了,然而在最近Austin Summit上,我们依然可以看到大量与部署有关的topic。

部署发展到今天,除了向部署速度更快和支持能力更强的方向发展,更重要的是部署作为运维体系中的一个重要环节,所有人都在考虑它的延展性,也就是如何能使用统一的平台或工具来完成Openstack集群的安装,配置,变更,升级和状态管理,因此如何选项显得非常重要。

为什么是PuppetOpenstack Modules?

Puppet是目前CMS领域中的领头羊,而PuppetOpenstack Modules项目(简称POM)诞生于12年,13年中进入到Openstack官方孵化项目(Stackforge),随后又成为了Openstack官方Governance项目。POM之所以能取得成功的原因主要在于其获得了大量公司和工程师的参与,甚至有一些主流的部署工具直接集成了POM:如Mirantis的Fuel,Redhat的Packstack, Openstack官方的TripleO,UnitedStack的Ctask都直接使用POM的upstream codes作为Openstack服务的部署模块,并且连续7次在Openstack社区的User survey中,位列deployment tools领域的第一。

我们是谁?

UnitedStack DevOps Team是一支很年轻的团队,不过我们持续专注在Openstack部署领域已有5个年头,积累了一些经验,因此想和各位分享:

  • 在开源社区:早在12年底,POM项目尚处于雏形阶段我们开始参与其中,并促成了13年 POM项目从Puppetlabs官方项目转入到Openstack社区,我们对于POM项目的贡献也得到了社区的认可,其中xingchao在13年的时候,成为该项目的核心开发人员。
  • 在工程领域:截止到2016年5月,我们一共使用了96个puppet modules, 6台PuppetMaster服务器, 集中管理着87个Openstack集群, 7套不同的部署环境,支撑了近3500台Openstack集群的服务器,我们经历了Puppet版本的数次升级,内部代码的多次重构和POM的多次版本升级,每日Openstack线上集群的频繁变更,我们也经历了Puppet,PuppetDB的性能调优,踩过了无数个看不见的明坑和暗坑。

本书讲什么?

本书是关于Openstack自动化部署工作核心部分的讲解:PuppetOpenstack modules和相关基础modules的深入分析和最佳实践。

通过这本书,你可以学习到:

  • 当前最流行的部署项目PuppetOpenstack的代码级深入讲解
  • Openstack Mitaka版本核心服务的部署讲解
  • 关于配置管理的最佳实践总结
  • Puppet的一些使用技巧
  • 如何一本正经地胡说八道

举个栗子,在puppet-keystone模块章节中,我们首先从Keystone的基本概念开始介绍,试图为读者理清楚v3中关于domain,group,project,role,user之间的关系。然后我们通过一个快速部署keystone的实例让你先睹为快,接着我们就深入到核心代码中去讲解是如何做到的,最后我们会对本节重要的内容做一个小结。当然光看不练就是假把式了,我们为读者们精心准备了一些习题,让读者动手实际练习,加深理解。

下个版本?

我们认为docs is codes。 因此,本书也遵循常见的release规范。在初期,我们会在每月第一周发布新版本以保持快速地迭代,同时我们也会保持对于已完成章节的内容更新,如何你想要了解更多细节,请参阅本书最后的 版本日志 一节。

如何参与?

本书遵循开源管理方式,使用markdown语法编写,git作为版本控制,并托管在github上,如果你也对本书感兴趣,有任何改进的建议和想法,欢迎加入我们一起来添砖加瓦。

更多细节请参与本书的 如何参与 一节。

关于出版

目前虽然有多家出版社联系,但我没有答应,一是本书还有大量的后续编写计划没有开始,二是觉得一本书至少得经历多次的迭代才能变得成熟和稳定。所以,如何问我什么时候会出纸质版本?也许要等到我们发布v1.0版本的时候吧:D

深入理解Openstack自动化部署的更多相关文章

  1. Devstack 多节点自动化部署

    本文为minxihou的翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou JmilkFan:minxihou的技术博文方向是 算法&Open ...

  2. K8S(16)集成实战-使用spinnaker进行自动化部署

    K8s集成实战-使用spinnaker进行自动化部署 1 spinnaker概述和选型 1.1 概述 1.1.1 主要功能 Spinnaker是一个开源的多云持续交付平台,提供快速.可靠.稳定的软件变 ...

  3. 一文理解OpenStack网络

    摘要:如果你能理解OpenStack的网络,那么对于其他云平台的网络,应该也可以通过分析后理解掌握了. 本文分享自华为云社区<<跟唐老师学习云网络> - OpenStack网络实现& ...

  4. 理解 OpenStack 高可用(HA)(1):OpenStack 高可用和灾备方案 [OpenStack HA and DR]

    本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...

  5. [转]基于AWS的自动化部署实践

    作者 徐桂林 发布于 2014年1月22日 -------------------------------------------------------------------- 1. 背景 在过去 ...

  6. 深入理解openstack网络架构(4)-----连接到public network

    原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture3 译文转自:http://b ...

  7. 深入理解openstack网络架构(1)

    原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture 译文转载自:http://b ...

  8. 理解 OpenStack + Ceph (5):OpenStack 与 Ceph 之间的集成 [OpenStack Integration with Ceph]

    理解 OpenStack + Ceph 系列文章: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenS ...

  9. 理解 OpenStack + Ceph (2):Ceph 的物理和逻辑结构 [Ceph Architecture]

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

随机推荐

  1. Top Data Scientists to Follow & Best Data Science Tutorials on GitHub

    http://www.analyticsvidhya.com/blog/2015/07/github-special-data-scientists-to-follow-best-tutorials/ ...

  2. 【erlang】IPv6格式转IPv4

    erlang里面的httpd模块保存的http请求头里面,其中remote_addr 保存的是IPv6的格式. 即使是IPv4,也会用IPv6的格式来保存.如 {remote_addr, " ...

  3. Windows2003 II6.0 FTP 开了防火墙 FTP不能正常工作的解决办法

    .在防火墙设置的“高级-本地连接-设置”中把FTP的勾选

  4. android 的touch event分析

    android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解.   一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN ...

  5. 搭建三层架构(ASP.NET MVC+EF)

    昨天面试的时候最后做了一道上机题,竟然跪了,跪就跪在没有搭好框架,连接数据库总是程序报错. 回来之后亲自搭了一下框架,弄好后放到博客上.下图就是搭建好后,整个框架的结构就是这样,下面对框架中的文件进行 ...

  6. jsp_属性范围_request

    request属性范围表示在服务器跳转后,所有设置的内容依然会被保留下来.(服务器端跳转:页面跳转,地址栏不发生变化) 下面写个小例子测试下: (1)request_demo.jsp <%@ p ...

  7. 【二分答案】【贪心】bzoj3969

    http://www.cnblogs.com/mmlz/p/4497118.html #include<cstdio> #include<algorithm> using na ...

  8. (转)windows下安装nodejs及框架express

    转自:http://jingyan.baidu.com/article/456c463b60fb380a583144a9.html windows下安装nodejs及框架express nodejs从 ...

  9. OpenSessionInViewFilter 的配置及作用

    spring为我们解决hibernate的Session的关闭与开启问题. Hibernate 允许对关联对象.属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Sessio ...

  10. 【07_226】Invert Binary Tree

    Invert Binary Tree Total Accepted: 54994 Total Submissions: 130742 Difficulty: Easy Invert a binary ...