<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tools Archives | XOAP</title>
	<atom:link href="https://xoap.io/tag/tools/feed/" rel="self" type="application/rss+xml" />
	<link>https://xoap.io/tag/tools/</link>
	<description>Platform for IT infrastructure and workplace automation</description>
	<lastBuildDate>Wed, 04 Mar 2026 14:05:57 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://xoap.io/wp-content/uploads/2023/11/cropped-favicon-32x32.png</url>
	<title>tools Archives | XOAP</title>
	<link>https://xoap.io/tag/tools/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Free tools that support your automation journey</title>
		<link>https://xoap.io/free-tools-that-support-your-automation-journey/</link>
		
		<dc:creator><![CDATA[Sinisa]]></dc:creator>
		<pubDate>Tue, 26 Mar 2024 12:29:17 +0000</pubDate>
				<category><![CDATA[Library]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[tools]]></category>
		<guid isPermaLink="false">https://xoap.io/?p=9750</guid>

					<description><![CDATA[<p>This blog will guide you through some basic things you need to take care of when choosing your toolset. Let's get into it. </p>
<p>The post <a href="https://xoap.io/free-tools-that-support-your-automation-journey/">Free tools that support your automation journey</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9750" class="elementor elementor-9750" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-311f07f2 e-flex e-con-boxed e-con e-parent" data-id="311f07f2" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-0959cbb elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents" data-id="0959cbb" data-element_type="widget" data-e-type="widget" data-settings="{&quot;headings_by_tags&quot;:[&quot;h2&quot;],&quot;container&quot;:&quot;main&quot;,&quot;exclude_headings_by_selector&quot;:[],&quot;marker_view&quot;:&quot;bullets&quot;,&quot;icon&quot;:{&quot;value&quot;:&quot;fas fa-arrow-right&quot;,&quot;library&quot;:&quot;fa-solid&quot;,&quot;rendered_tag&quot;:&quot;&lt;svg class=\&quot;e-font-icon-svg e-fas-arrow-right\&quot; viewBox=\&quot;0 0 448 512\&quot; xmlns=\&quot;http:\/\/www.w3.org\/2000\/svg\&quot;&gt;&lt;path d=\&quot;M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\&quot;&gt;&lt;\/path&gt;&lt;\/svg&gt;&quot;},&quot;no_headings_message&quot;:&quot;No headings were found on this page.&quot;,&quot;minimize_box&quot;:&quot;yes&quot;,&quot;minimized_on&quot;:&quot;tablet&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}" data-widget_type="table-of-contents.default">
				<div class="elementor-widget-container">
									<div class="elementor-toc__header">
						<h4 class="elementor-toc__header-title">
				Table of contents			</h4>
										<div class="elementor-toc__toggle-button elementor-toc__toggle-button--expand" role="button" tabindex="0" aria-controls="elementor-toc__0959cbb" aria-expanded="true" aria-label="Open table of contents"><svg aria-hidden="true" class="e-font-icon-svg e-fas-chevron-down" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z"></path></svg></div>
				<div class="elementor-toc__toggle-button elementor-toc__toggle-button--collapse" role="button" tabindex="0" aria-controls="elementor-toc__0959cbb" aria-expanded="true" aria-label="Close table of contents"><svg aria-hidden="true" class="e-font-icon-svg e-fas-chevron-up" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z"></path></svg></div>
					</div>
				<div id="elementor-toc__0959cbb" class="elementor-toc__body">
			<div class="elementor-toc__spinner-container">
				<svg class="elementor-toc__spinner eicon-animation-spin e-font-icon-svg e-eicon-loading" aria-hidden="true" viewBox="0 0 1000 1000" xmlns="http://www.w3.org/2000/svg"><path d="M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z"></path></svg>			</div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6187fbc3 elementor-widget elementor-widget-text-editor" data-id="6187fbc3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span lang="en-US">Choosing the right open</span> <span lang="en-US">source tool or solution for your particular use case can be challenging due to the wide range of options available on GitHub and other platforms. Help is always greatly appreciated, especially in the early stages of your automation journey when there are a lot of unanswered or unclear questions.</span></p><p lang="hr">This blog will guide you through some basic things you need to take care of when choosing your toolset.</p><p lang="hr">Let&#8217;s get into it! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3af.png" alt="🎯" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>								</div>
				</div>
				<div class="elementor-element elementor-element-305011f elementor-widget elementor-widget-spacer" data-id="305011f" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-6fcfe2e e-flex e-con-boxed e-con e-parent" data-id="6fcfe2e" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-9f2c565 elementor-widget elementor-widget-heading" data-id="9f2c565" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Coding</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-af0ba67 elementor-widget elementor-widget-text-editor" data-id="af0ba67" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>When it comes to automation, the first and most important application you&#8217;ll need is a development environment. In my opinion, there are two tools that you should look into. Each has unique advantages, disadvantages and use cases:</p><ol><li><a href="https://code.visualstudio.com/">Visual Code Studio</a></li><li><a href="https://www.jetbrains.com/idea/">Jet Brains IntellijIDEA</a></li></ol><p>While I love IDEA for infrastructure as code (particularly with Terraform and variable and module dependency support) and extensive Git support, VSCode has many more integrations to offer.</p><blockquote><p>I prefer IDEA for Terraform-related and VSCode for <a href="https://learn.microsoft.com/en-us/powershell/scripting/dsc/overview?view=powershell-7.4">PowerShell DSC</a>-related coding.</p></blockquote><p>Whichever you choose, try to learn as many shortcuts as possible to speed up your workflow. For most of the automation tasks, you won&#8217;t need anything else, because inline help for commands, documentation with markdown, Git integration, debugging and testing capabilities are almost completely integrated to get you started.</p><p>Consider subscribing to <a href="https://github.com/features/copilot">GitHub CoPilot</a>  (about $10 per month) which will significantly boost the speed of coding with code completion and help with documentation.</p><blockquote><p>GitHub CoPilot decreases the time you need to invest in writing code and documentation.</p></blockquote><p>And for the unlikely possibility that you&#8217;re lost and don&#8217;t know how to start writing code, just ask <a href="https://chat.openai.com/">ChatGPT</a>. It helped me on numerous occasions – even when our developers were unable to do so. However, don&#8217;t expect too much; the solutions often don&#8217;t work completely and they need some tweaking. Sometimes, Google provides better examples.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-8213914 e-flex e-con-boxed e-con e-parent" data-id="8213914" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-2283e3c elementor-widget elementor-widget-heading" data-id="2283e3c" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Documentation</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-449251c elementor-widget elementor-widget-text-editor" data-id="449251c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span lang="en-US">As mentioned </span><a href="https://xoap.io/how-to-start-your-automation-journey/"><span lang="hr">in the last blog</span></a><span lang="en-US">, </span><span lang="hr">documentation is essential for understanding the prerequisites and requirements of an automation script, as well as describing all functions and parameters</span><span lang="en-US">.</span></p><p><span lang="en-US">The </span><a href="https://www.markdownguide.org/guide"><span lang="hr">Markdown Guide</span></a><span lang="en-US"> gives you a good overview of the language. If you have a separate team that writes documentation for you, check </span><a href="https://www.jetbrains.com/writerside/"><span lang="hr">Writerside</span></a><span lang="en-US">.</span></p><blockquote><p>Always store the documentation right next to your code to enable side-by-side changes with the code.</p></blockquote><p><span lang="en-US">If, in addition to storing a README side by side with your code, you want to create a documentation web page for your team, check the following tools to create websites out of your </span><span lang="hr">M</span><span lang="en-US">arkdown code:</span> <a href="https://gohugo.io/"><span lang="hr">Hugo</span></a> <span lang="hr">and </span><a href="https://www.mkdocs.org/getting-started/"><span lang="hr">MkDocs</span></a><span lang="hr">.</span></p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-5d0501d e-flex e-con-boxed e-con e-parent" data-id="5d0501d" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-c90928d elementor-widget elementor-widget-heading" data-id="c90928d" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Implement change management and version control</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-da98c29 elementor-widget elementor-widget-text-editor" data-id="da98c29" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span lang="en-US">Version control is the foundation of your automation journey, so </span><span lang="hr">make</span><span lang="en-US"> sure to implement a robust system for the future. You can start </span><span lang="hr">simply</span><span lang="en-US"> by creating one repository for your first script and then gradually extend capabilities the further your requirements and your knowledge grow</span><span lang="hr">.</span></p><p><span lang="en-US">A good starting point is </span><a href="https://git-scm.com/documentation"><span lang="hr">Git</span></a><span lang="en-US">. To not overcomplicate things in the beginning</span><span lang="hr">,</span><span lang="en-US"> create one repository on </span><a href="https://github.com/"><span lang="hr">GitHub</span></a><span lang="en-US"> and make yourself comfortable with the features and possibilities. If you have </span><span lang="hr">an</span><span lang="en-US"> Azure DevOps subscription</span><span lang="hr">,</span><span lang="en-US"> you could also use Azure repos for that purpose. Depending on your use case</span><span lang="hr">,</span><span lang="en-US"> you should</span><span lang="hr"> thoroughly examine</span><span lang="en-US"> your needs.</span></p><blockquote><p>At XOAP, we initially moved away from Azure repositories since GitHub provides far more flexibility and extensions for change management, versioning, documentation and change deployment.</p></blockquote>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-a146ff8 e-flex e-con-boxed e-con e-parent" data-id="a146ff8" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-dc723a3 elementor-widget elementor-widget-heading" data-id="dc723a3" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Define development and coding guidelines</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-da49314 elementor-widget elementor-widget-text-editor" data-id="da49314" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span lang="en-US">Because the change process always starts and ends with the developer (yes, you</span><span lang="hr">&#8216;</span><span lang="en-US">re now a developer)</span><span lang="hr">,</span><span lang="en-US"> you should implement guidelines before the code even reaches the repository. There are a few tools out there you should look at.</span></p><p><span lang="en-US">The first one is </span><a href="http://p"><span lang="hr">p</span></a><a href="https://github.com/pre-commit/pre-commit-hooks"><span lang="hr">re-commit hooks</span></a><span lang="hr">.</span><span lang="en-US"> It checks the code against simple issues like missing semicolons</span><span lang="hr">,</span><span lang="en-US"> trailing whitespaces and more.</span> <span lang="en-US">The next thing you should have an eye on is the topic of linting with </span><a href="https://megalinter.io/latest/"><span lang="hr">Megalinter</span></a><span lang="en-US">. It analyzes the consistency of your code, IAC, configuration and scripts in your repository sources to ensure all </span><span lang="hr">of </span><span lang="en-US">your project sources are clean and correctly</span> <span lang="en-US">formatted.</span></p><blockquote><p><span lang="en-US">Implement </span><a href="https://github.com/aquasecurity/tfsec"><span lang="hr">tfsec</span></a><span lang="en-US"> to enhance the security of your Terraform code during </span><span lang="hr">the </span><span lang="en-US">development of modules.</span></p></blockquote><p><span lang="en-US">After these baselines</span><span lang="hr">,</span><span lang="en-US"> you need to check your desired change management flow. This one depends on your specific use case and what you want to deploy</span><span lang="hr">.</span> <span lang="hr">Think about this!</span></p><p><span lang="hr">Moreover, take</span><span lang="en-US"> a look at </span><a href="https://www.gitkraken.com/learn/git/git-flow"><span lang="hr">Git flow </span></a><span lang="en-US">or </span><a href="https://docs.github.com/en/get-started/using-github/github-flow"><span lang="hr">GitHub flow</span></a><span lang="en-US">.</span> <span lang="en-US">Besides that</span><span lang="hr">,</span><span lang="en-US"> good versioning of your scripts and modules is crucial to track changes with your commits. You can use </span><a href="https://docs.github.com/en/actions%20"><span lang="hr">GitHub actions</span></a><span lang="en-US"> to automatically create updated versions when you create a pull request. </span><span lang="hr">Check out this </span><a href="https://semver.org/"><span lang="hr">semantic versioning document</span></a><span lang="hr"> to know </span><span lang="en-US">how version numbers should look like.</span></p><blockquote><p><span lang="en-US">A good versioning system will greatly enhance produ</span><span lang="hr">c</span><span lang="en-US">tion deployments, especially in </span><span lang="hr">IaC-related</span><span lang="en-US"> automation projects</span><span lang="hr"> – </span><span lang="en-US">by enabling more advanced control of modules and stacks.</span></p></blockquote><p><span lang="hr">Lastly, I have to mention</span><span lang="en-US"> the </span><a href="https://www.conventionalcommits.org/en/v1.0.0/"><span lang="hr">commit messages</span></a><span lang="en-US"> you or your colleagues enter</span> <span lang="en-US">when push</span><span lang="hr">ing</span><span lang="en-US"> a change to the repository or creat</span><span lang="hr">ing</span><span lang="en-US"> a pull request. This forces you to actually look into the code to check and approve changes</span><span lang="hr">. With that said, w</span><span lang="en-US">e should make our lives as simple as possible and reduce overhead.</span></p><blockquote><p><span lang="en-US">There</span><span lang="hr">&#8216;</span><span lang="en-US">s nothing more annoying th</span><span lang="hr">a</span><span lang="en-US">n reading something like &#8220;Fix&#8221; or Fix for fix&#8221; in the comments for a commit.</span></p></blockquote>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-1eac07c e-flex e-con-boxed e-con e-parent" data-id="1eac07c" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-92a3d49 elementor-widget elementor-widget-heading" data-id="92a3d49" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Tool definition</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-078578c elementor-widget elementor-widget-text-editor" data-id="078578c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>This is highly dependent on your needs and is one of the most difficult ways to avoid getting into vendor lock-in at some point. While it may seem easy to use everything your preferred vendor or cloud provider supports and offers, it becomes more difficult when something significant changes and you need to find a solution.</p><blockquote><p>This is one of the reasons why we use Terraform for our infrastructure and one of the reasons I refer to it often. <a href="https://www.pulumi.com/">Pulumi</a> is a great alternative in this space that you can consider if you have a strong developer base in your company.</p></blockquote><p>It also highly depends on what kind of business you have. Are you supporting other companies or just your own? If you&#8217;re an MSP, pay close attention to the licensing of your tools and what&#8217;s allowed. For example, Terraform&#8217;s recent BSL changes caused a lot of trouble in some companies.</p><blockquote><p>Open source licensing can change – we&#8217;ve seen this several times. Keep this in mind.</p></blockquote><p>Which infrastructure layer do you want to automate? <a href="https://xoap.io/">XOAP</a> distinguishes between Image Management, Platform Management, Configuration Management and Application Management. Each layer has its own subset of tools that you can use to support it.</p><p>I&#8217;ll help you get started without going into details. Some of the tools mentioned above can support multiple layers, but I&#8217;ve added them to the layer that seems most suitable.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-929c672 e-flex e-con-boxed e-con e-parent" data-id="929c672" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-b9603c7 e-con-full e-flex e-con e-child" data-id="b9603c7" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
				<div class="elementor-element elementor-element-594558f elementor-widget elementor-widget-heading" data-id="594558f" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Image Management</h3>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-2b37940 e-con-full e-flex e-con e-child" data-id="2b37940" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
				<div class="elementor-element elementor-element-cca0ed5 elementor-widget elementor-widget-text-editor" data-id="cca0ed5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul><li><a href="https://www.packer.io/"><span lang="hr">Packer</span></a></li><li><a href="https://learn.microsoft.com/en-us/azure/virtual-machines/image-builder-overview?tabs=azure-powershell"><span lang="hr">Azure VM Image Builder</span></a></li><li><a href="https://docs.aws.amazon.com/imagebuilder/">AWS EC Image Builder</a></li></ul>								</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-77d8e55 e-flex e-con-boxed e-con e-parent" data-id="77d8e55" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-7e02983 e-con-full e-flex e-con e-child" data-id="7e02983" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
				<div class="elementor-element elementor-element-bda5736 elementor-widget elementor-widget-heading" data-id="bda5736" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Platform Management</h3>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-2ea8cbd e-con-full e-flex e-con e-child" data-id="2ea8cbd" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
				<div class="elementor-element elementor-element-823eec2 elementor-widget elementor-widget-text-editor" data-id="823eec2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Platform independent</strong></p><ul><li><a href="https://www.terraform.io/"><span lang="hr">Terraform</span></a></li><li><a href="https://opentofu.org/"><span lang="hr">OpenTofu</span></a></li><li lang="hr"><a href="https://www.pulumi.com/">Pulumi</a></li></ul><p><strong>Platform-specific</strong></p><ul type="disc"><li><a href="https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview?tabs=bicep"><span lang="hr">Microsoft Bicep</span></a></li><li lang="hr"><a href="https://learn.microsoft.com/en-us/cli/azure/">Azure CLI</a></li><li><a href="https://aws.amazon.com/cli/"><span lang="hr">AWS CLI</span></a></li><li lang="hr"><a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html">AWS CloudFormation</a></li></ul>								</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-4d5ee3f e-flex e-con-boxed e-con e-parent" data-id="4d5ee3f" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-0fa4f83 e-con-full e-flex e-con e-child" data-id="0fa4f83" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
				<div class="elementor-element elementor-element-b74ecfe elementor-widget elementor-widget-heading" data-id="b74ecfe" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Configuration Management</h3>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-865a827 e-con-full e-flex e-con e-child" data-id="865a827" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
				<div class="elementor-element elementor-element-6a3916b elementor-widget elementor-widget-text-editor" data-id="6a3916b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul><li><a href="https://github.com/PowerShell/DSC"><span lang="hr">PowerShell DSC</span></a></li><li><a href="https://www.ansible.com/"><span lang="hr">Ansible</span></a></li><li><a href="https://www.chef.io/"><span lang="hr">Chef</span></a></li><li><a href="https://www.puppet.com/"><span lang="hr">Puppet</span></a></li></ul>								</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-67e147b e-flex e-con-boxed e-con e-parent" data-id="67e147b" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-8d5d37d e-con-full e-flex e-con e-child" data-id="8d5d37d" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
				<div class="elementor-element elementor-element-8ff9dcc elementor-widget elementor-widget-heading" data-id="8ff9dcc" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Application Management</h3>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-0448f00 e-con-full e-flex e-con e-child" data-id="0448f00" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
				<div class="elementor-element elementor-element-050eb31 elementor-widget elementor-widget-text-editor" data-id="050eb31" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span lang="en-US">The following tools are application packaging tools that always need some sort of vehicle installed on nodes. For Linux-</span><span lang="en-US">related application installations refer to the Configuration Management tools.</span></p><ul type="disc"><li lang="hr"><a href="https://psappdeploytoolkit.com/">PowerShell AppDeployToolkit</a></li><li><a href="https://learn.microsoft.com/en-us/windows/package-manager/winget/"><span lang="hr">WinGet</span></a></li><li><a href="https://docs.chocolatey.org/en-us/features/host-packages"><span lang="hr">Chocolatey</span></a></li></ul>								</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-74eccb6 e-flex e-con-boxed e-con e-parent" data-id="74eccb6" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-5eb7186 elementor-widget elementor-widget-heading" data-id="5eb7186" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Final thoughts</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-e108f39 elementor-widget elementor-widget-text-editor" data-id="e108f39" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p lang="hr">There are many other topics to cover, including staging, pipelines, monitoring, logging, security and details about Scrum and Kanban. I&#8217;ll cover this in detail some other time. For now, I hope the information above helps you understand the implications and what to look out for in your journey.</p><p lang="hr">Loved this blog? Share it with a fellow IT automation enthusiast. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p><p lang="hr"> </p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-9ce008f e-flex e-con-boxed e-con e-parent" data-id="9ce008f" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-fe3ce39 e-con-full e-flex e-con e-child" data-id="fe3ce39" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
				<div class="elementor-element elementor-element-2fc790f elementor-widget elementor-widget-text-editor" data-id="2fc790f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p style="text-align: right;"><span style="color: #999999;">Image by <a style="color: #999999;" href="https://www.freepik.com/free-photo/programming-background-with-person-working-with-codes-computer_38669459.htm#fromView=search&amp;page=1&amp;position=4&amp;uuid=9e27c3fa-93f6-4907-ab2e-8bb12d97f5bd">Freepik</a></span></p>								</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-6a7f976 e-flex e-con-boxed e-con e-child" data-id="6a7f976" data-element_type="container" data-e-type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-677ec02 elementor-widget elementor-widget-heading" data-id="677ec02" data-element_type="widget" data-e-type="widget" data-settings="{&quot;_animation&quot;:&quot;none&quot;,&quot;_animation_tablet&quot;:&quot;fadeInDown&quot;}" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default"><a href="https://auth.xoap.io/auth/realms/my.xoap.io/protocol/openid-connect/registrations?client_id=portal&#038;response_type=code&#038;scope=openid%20email&#038;redirect_uri=https://my.xoap.io&#038;kc_locale=en&#038;_ga=2.120291981.440170699.1710334465-1088457358.1705491014">Access best practices and selected tools through XOAP</a></h2>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://xoap.io/free-tools-that-support-your-automation-journey/">Free tools that support your automation journey</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
