{"id":269,"date":"2014-05-02T18:24:00","date_gmt":"2014-05-02T18:24:00","guid":{"rendered":"https:\/\/questy.org\/?p=269"},"modified":"2024-09-26T19:08:07","modified_gmt":"2024-09-26T19:08:07","slug":"new-tools-and-old-schools","status":"publish","type":"post","link":"https:\/\/questy.org\/index.php\/2014\/05\/02\/new-tools-and-old-schools\/","title":{"rendered":"New Tools and Old Schools"},"content":{"rendered":"\n<p><strong>New Tools<\/strong><\/p>\n\n\n\n<p>Once you\u2019re treading water in this whole DEVOPS thing, a lot of terms get thrown around and a lot of \u201cnewest bestest\u201d gets offered up as the cure for everything including the kitchen sink\u2026 oh, and cancer. &nbsp;However, I think when the hubbub is the loudest, that\u2019s when I really take a step back and ask myself what we\u2019re trying to do, and what\u2019s the simplest, most repeatable and safest way to make it happen.<\/p>\n\n\n\n<p>As with any sufficiently new technology, there\u2019s a learning curve that accompanies such a shift, and new tools start to be speckle your horizon such that you wonder where to start, what is imperative and what is optional for you to occupy your time with.<\/p>\n\n\n\n<p>Thus it is with Puppet-y stuff.<\/p>\n\n\n\n<p>Given that the whole DEVOPS thing includes within it a heavy lean toward DEV, the regular rank-and-file sysadmin may find himself thrust into a world of development terms he may have only heard in passing in some random meeting or other. &nbsp;The tools of the developer are as varied and arrayed as those for the operations guru and every bit as arcane (in some cases) as the esoteric shell command only installable from some guy in Russia\u2019s repo, with 30 or more command line switches to get a single piece of data upon which to work your evil schemes.<\/p>\n\n\n\n<p>Well\u2026 that\u2019s why this blog.<\/p>\n\n\n\n<p>I\u2019m about to embark upon a coverage of a set of tools. &nbsp;However, this set of tools I will not observe in a vacuum, but in light of a powerful workflow engine with which to empower you to become considerably more efficient in writing Puppet code. &nbsp;The tools in particular I\u2019d like to go over and, much in the same way I covered Puppet Open Source, instruct you step-by-step on how to install, configure, and use said tools are as follows:<\/p>\n\n\n\n<p>Vagrant r10k GitHub Vim (yes, Vim) puppet-lint Gepetto<\/p>\n\n\n\n<p>This is by no means and exhaustive list, but what it does is collect together the best tools to assemble a workflow that will speed your work and not leave you spending all your time working on tools, but working on&nbsp;<em>Puppet Code,&nbsp;<\/em>which is our main focus and goal.<\/p>\n\n\n\n<p><strong>Old Schools<\/strong><\/p>\n\n\n\n<p>At the end of the day, the really important things are conceptual. &nbsp;Whether you use a new whizbang tool to do the heavy lifting, several tools working together to achieve this goal, or you heavy lift all on your own, the process and the rules remain the same.<\/p>\n\n\n\n<p>DO keep all your code in revision control. DO syntax highlight and check your code validity DO build repeatable, consistent environments in a timely fashion DO have a method to share your work environments with others DO document heavily both in and out of code segments DO have a solid end-to-end workflow that enables rapid iteration<\/p>\n\n\n\n<p>What of this is new? &nbsp;Whether we\u2019re talking about keeping all your shell scripts in CVS, deploying your script repo with SVN, or deploying versioned code caches with ${PACKAGE_MANAGEMENT_SYSTEM}, we\u2019re talking about the same general good practices. &nbsp;All Puppet and supporting tools does is make it something that is tightly integrated with management consoles. &nbsp;To organize and institutionalize your&nbsp;<em>workflow&nbsp;<\/em>gives the steady underpinning to the cool DEVOPS tool to make everything repeatable, sharable, and collaborative. &nbsp;This is where the power comes from. &nbsp;THIS is where DEVOPS makes sense.<\/p>\n\n\n\n<p>When your workflow is solid, your DEVOPS tools are strong, and your culture has bought in to both, mundane work becomes an afterthought and you get to work on the really interesting things that you\u2019ve been letting slide while putting out fires that could\u2019ve been best managed via configuration management anyhow.<\/p>\n\n\n\n<p>My hope is to build the concept and context from the ground up to show you one tight, functional way this can be accomplished. &nbsp;Let\u2019s start next time with Vim.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>New Tools Once you\u2019re treading water in this whole DEVOPS thing, a lot of terms get thrown around and a lot of \u201cnewest bestest\u201d gets offered up as the cure for everything including the kitchen sink\u2026 oh, and cancer. &nbsp;However, I think when the hubbub is the loudest, that\u2019s when I really take a step [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[6],"tags":[],"class_list":["post-269","post","type-post","status-publish","format-standard","hentry","category-technology"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/questy.org\/index.php\/wp-json\/wp\/v2\/posts\/269","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/questy.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/questy.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/questy.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/questy.org\/index.php\/wp-json\/wp\/v2\/comments?post=269"}],"version-history":[{"count":1,"href":"https:\/\/questy.org\/index.php\/wp-json\/wp\/v2\/posts\/269\/revisions"}],"predecessor-version":[{"id":270,"href":"https:\/\/questy.org\/index.php\/wp-json\/wp\/v2\/posts\/269\/revisions\/270"}],"wp:attachment":[{"href":"https:\/\/questy.org\/index.php\/wp-json\/wp\/v2\/media?parent=269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/questy.org\/index.php\/wp-json\/wp\/v2\/categories?post=269"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/questy.org\/index.php\/wp-json\/wp\/v2\/tags?post=269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}