TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: How do you handle configuration management?

17 点作者 jsntrmn超过 7 年前
I ask for two reasons:<p>1.) My company mandates the use of Jenkins for &quot;all the things&quot; CI&#x2F;CD related. A significant component of my team&#x27;s domain is a heavily customized off-the-shelf commercial product. This product comes with a plethora of configuration. We are tasked with using Jenkins to deploy config changes to production, and this has proven to be an inflexible pain in the rear.<p>2.) My company has an enterprise Puppet license, which to me seems a much better fit for our use case. One major caveat is that my company is devoutly beholden to its shareholders, which means it favors FOSS (extreme emphasis on FREE) solutions as much as possible. This has me thinking Ansible.<p>I&#x27;m curious as to what you use and why you use it. I&#x27;m also open to any suggestions as to how I can convince both my manager and upper management that Jenkins just isn&#x27;t cutting it.

8 条评论

git-pull超过 7 年前
Fabric.<p><a href="http:&#x2F;&#x2F;www.fabfile.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.fabfile.org&#x2F;</a><p>Works over SSH. Uses pure Python. No need to deploy and configure minions&#x2F;agents&#x2F;etc.<p>Fabric also benefits from being highly composable. Since it&#x27;s python, you can parametrize and reuse functions and create class-based tasks [1]<p>Want to use Fabric with python 3? Here is a fork with Python 3 support: <a href="https:&#x2F;&#x2F;github.com&#x2F;mathiasertl&#x2F;fabric&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mathiasertl&#x2F;fabric&#x2F;</a><p>If you use fabtools, I maintain a fork of it for fabric3: <a href="https:&#x2F;&#x2F;github.com&#x2F;develtech&#x2F;fabtools&#x2F;tree&#x2F;fabric3" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;develtech&#x2F;fabtools&#x2F;tree&#x2F;fabric3</a><p>[1] <a href="http:&#x2F;&#x2F;docs.fabfile.org&#x2F;en&#x2F;1.14&#x2F;usage&#x2F;tasks.html#task-subclasses" rel="nofollow">http:&#x2F;&#x2F;docs.fabfile.org&#x2F;en&#x2F;1.14&#x2F;usage&#x2F;tasks.html#task-subcla...</a>
评论 #16389102 未加载
dodgyb超过 7 年前
This is an interesting read on Config Management which essentially concludes that makefiles with Jenkins (etc.) work best:<p><a href="https:&#x2F;&#x2F;fortyft.com&#x2F;posts&#x2F;ansible-puppet-chef-no-thanks&#x2F;" rel="nofollow">https:&#x2F;&#x2F;fortyft.com&#x2F;posts&#x2F;ansible-puppet-chef-no-thanks&#x2F;</a><p>For more bells and whistles (and a steeper learning curve) try Escape:<p><a href="https:&#x2F;&#x2F;escape.ankyra.io&#x2F;docs&#x2F;what-is-escape&#x2F;" rel="nofollow">https:&#x2F;&#x2F;escape.ankyra.io&#x2F;docs&#x2F;what-is-escape&#x2F;</a>
评论 #16389089 未加载
nodesocket超过 7 年前
I&#x27;ve been trying as much as possible to stick to Packer[1] (create AMI&#x27;s &#x2F; Images) and Terraform[2] for executing arbitrary commands and shell scripts. Some may argue this is not truly configuration management because it does not constantly check and maintain desired state.<p>[1] - <a href="https:&#x2F;&#x2F;packer.io" rel="nofollow">https:&#x2F;&#x2F;packer.io</a><p>[2] - <a href="https:&#x2F;&#x2F;terraform.io" rel="nofollow">https:&#x2F;&#x2F;terraform.io</a>
dozzie超过 7 年前
&gt; This has me thinking Ansible.<p>Yeah, no, bad choice. Ansible only pushes configs to remote servers, and on-line ones at that. Don&#x27;t expect a retry if any of the servers is down. Good match for deploying things, but terrible for long term management. It&#x27;s somewhat similar with this regard to Jenkins.<p>Also Ansible&#x27;s approach of using SSH (directly to root or through sudo) is brittle; prepare for outages if you start changing sshd config or sudoers, as it&#x27;s easy to cut off your all channels: configuration distribution, running predefined procedures, and debugging. And there&#x27;s more, like managing hosts&#x27; public keys being PITA (as always with SSH) or weird way of encoding a programming language as YAML with mismatching preprocessor (Jinja2).<p>If you have Puppet deployed, stay with Puppet for managing configuration.
评论 #16382319 未加载
mariocesar超过 7 年前
I use ansible to do remote execution, and upload more complex scripts to do tasks. Doing everything with Ansible is hard and most often you spend more time learning the quirks of Ansible and not solving problems.<p>Ansible for remote execution and your write your own scripts, tha has been a good combination for me.<p>Very resently I remake all my bash and makefile scripts to use just python scripts with <a href="https:&#x2F;&#x2F;github.com&#x2F;mariocesar&#x2F;boot.py" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mariocesar&#x2F;boot.py</a>, taking advantage that all my instances have Python 3.6 by default.<p>Have python3 for scripting makes doing sysadmin work joyful.
atsaloli超过 7 年前
I use CFEngine -- because of its maturity, wide range of supported platforms, and the amazing support I experienced from the author and community.<p>I wrote this 3 years ago and it&#x27;s still true today: <a href="http:&#x2F;&#x2F;verticalsysadmin.com&#x2F;blog&#x2F;cfengine-is-awesome&#x2F;" rel="nofollow">http:&#x2F;&#x2F;verticalsysadmin.com&#x2F;blog&#x2F;cfengine-is-awesome&#x2F;</a><p>Offering training and consulting on CFEngine has allowed me the privilege of training top-notch talent from all over the world (and to see more of the States).
akulbe超过 7 年前
The project I&#x27;m working on currently, it&#x27;s 95% Chef. The remainder is Ansible. We use Ansible for what it&#x27;s good at, and Chef for the rest.
rahulgulati超过 7 年前
Have you tried AWS OpsWorks for Puppet Enterprise or Stacks yet?