<?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>CloudFormation &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/tag/cloudformation/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bestdevops.com</link>
	<description>Lets Learn, Do it &#38; Share! Thats a Best DevOps!!!</description>
	<lastBuildDate>Tue, 13 Oct 2026 23:41:21 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>TeamTNT attacks IAM credentials of AWS and Google Cloud</title>
		<link>https://www.bestdevops.com/teamtnt-attacks-iam-credentials-of-aws-and-google-cloud/</link>
					<comments>https://www.bestdevops.com/teamtnt-attacks-iam-credentials-of-aws-and-google-cloud/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 09 Jun 2021 05:45:00 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[attacks]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[cryptomining]]></category>
		<category><![CDATA[Google cloud]]></category>
		<category><![CDATA[IAM]]></category>
		<category><![CDATA[Tavakoli]]></category>
		<category><![CDATA[TeamTnT]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=16590</guid>

					<description><![CDATA[Source:-https://www.scmagazine.com/ Researchers reported Friday that TeamTNT is using compromised AWS credentials to attack AWS cloud environments via the cloud platform’s [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source:-https://www.scmagazine.com/</p>
<p>Researchers reported Friday that TeamTNT is using compromised AWS credentials to attack AWS cloud environments via the cloud platform’s application programming interface. The threat actors are now also targeting the credentials of 16 additional applications, including the AWS apps as well as Google Cloud credentials.</p>
<p>The researchers said the threat actors can now identify all identity and access management (IAM) permissions, elastic computer cloud instances, S3 buckets, CloudTrail configurations, and CloudFormation operations granted to the compromised AWS credentials.</p>
<p>This attack was significant because in hitting Google Cloud it represents the first time attackers have targeted IAM credentials on compromised cloud instances outside of AWS. Although it’s still possible that TeamTNT could target the IAM credentials of Microsoft Azure, Alibaba Cloud, Oracle Cloud, or IBM Cloud using similar methods, Unit 42 researchers have yet to find evidence that there has been an attack on the other cloud providers. TeamTNT first started collecting AWS credentials on cloud instances they had compromised as early as August 2020.</p>
<p>In a blog post, Palo Alto’s Unit 42 researchers said these latest discoveries followed the threat group having targeted Kubernetes clusters and creating a new malware called Black-T that integrates open source cloud-native tools to advance its cryptojacking operations.</p>
<p>Yaniv Bar-Dayan, co-founder and CEO at Vulcan Cyber said any enterprise using cloud services needs to understand that offloading compute and storage infrastructure to a cloud provider doesn’t mean offloading cloud security. Companies still need to apply a comprehensive vulnerability management and mitigation plan to all cyber resources utilized by a company, including cloud apps.</p>
<p>“Cloud vulnerabilities are not the same as application vulnerabilities and both require different remediation and mitigation actions to protect from organizations like TeamTNT,” Bar-Dayan said. “We agree with Unit 42 researchers and reiterate the immediate need to protect cloud infrastructure using the appropriate remediation steps common to cloud environments such as configuration changes, compensating controls, and workarounds.”</p>
<p>TeamTNT starts by infiltrating a public cloud environment – with AWS by far the most prevalent target, though Google Cloud was hit this time around – and builds a map of the environment which includes scraped credentials, workloads, and storage, said Oliver Tavakoli, CTO at Vectra.</p>
<p>“All this represents the equivalent of establishing a base camp prior to climbing a high summit,” Tavakoli said. “Then the insertion of cryptomining software begins with TeamTNT counting on the fact that target organizations won’t notice the uptick in usage charges for a while.”</p>


<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe  id="_ytid_32131"  width="675" height="379"  data-origwidth="675" data-origheight="379" src="https://www.youtube.com/embed/?enablejsapi=1&#038;list=PLTCuRW0ikUdMFARYSiWm733n1DcCem6bN&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__  epyt-is-override  no-lazyload" title="YouTube player"  allow="fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll=""></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/teamtnt-attacks-iam-credentials-of-aws-and-google-cloud/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Announcing the New Open Source Project Yor, Dynamic and Automated Cloud Infrastructure Tagging</title>
		<link>https://www.bestdevops.com/announcing-the-new-open-source-project-yor-dynamic-and-automated-cloud-infrastructure-tagging/</link>
					<comments>https://www.bestdevops.com/announcing-the-new-open-source-project-yor-dynamic-and-automated-cloud-infrastructure-tagging/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 29 May 2021 04:57:17 +0000</pubDate>
				<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[BestDevOps]]></category>
		<category><![CDATA[Bridgecrew]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[DevSecOps]]></category>
		<category><![CDATA[GitOps]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=16340</guid>

					<description><![CDATA[Source:-https://www.prnewswire.com/ SANTA CLARA, Calif., May 27, 2021 /PRNewswire/ &#8212; Palo Alto Networks (NYSE: PANW), the global cybersecurity leader, today announced [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source:-https://www.prnewswire.com/</p>
<p>SANTA CLARA, Calif., May 27, 2021 /PRNewswire/ &#8212; Palo Alto Networks (NYSE: PANW), the global cybersecurity leader, today announced the release of Yor, an open-source tool that automatically tags cloud resources within infrastructure as code (IaC) frameworks Terraform, AWS CloudFormation, and Serverless Framework YAML. Yor automates the tedious work of manually tagging cloud resources, helps security teams trace security misconfigurations from code to cloud, and enables highly effective GitOps across all major cloud providers.</p>
<p>&#8220;Effective infrastructure tagging is critical to tracking cost allocation, access control, operations, and of course security in the cloud,&#8221; said Barak Schoster, chief architect at Palo Alto Networks. &#8220;To date, this has been an all-too-manual process for developers, with each cloud provider and organization having different standards and naming conventions. By automating standardized tagging, Yor provides visibility and traceability from IaC configuration to cloud resources in production.&#8221;</p>
<p>Organizations can run Yor across all infrastructure resources to retroactively assign ownership and other meaningful tags based on IaC and git history data. Yor can also be built into the continuous integration and continuous delivery (CI/CD) lifecycle for improved traceability as infrastructure is modified and created. Having consistent tagging will make it simple to trace any misconfigurations back to the original code owners and editors, reducing the time to patch.</p>
<p>The Cloud Security Alliance noted in its recent report The State of Cloud Security Concerns, Challenges, and Incidents that misconfigurations were among the leading causes of breaches and outages as public cloud adoption doubled over the past two years. If a security team identifies a misconfiguration, having the tags for the developer owner simplifies triaging, so the ticket can be automatically assigned to the right developer. Yor&#8217;s use cases also extend beyond security by making it easier to tag resources to allocate costs from a finance and budgeting perspective.</p>
<p>&#8220;DevSecOps is about breaking down silos and improving productivity,&#8221; said Ismail Yenigul,open-source contributor and DevSecOps expert. &#8220;Imagine there is a SEV0 security incident — the last thing you want to do is spend hours identifying what caused a misconfiguration or track down the developer who wrote or modified the infrastructure code that is managed in Terraform, CloudFormation, or Serverless. Yor makes it possible to get answers to those questions immediately, for much more effective collaboration and faster mean time to resolution of incidents.&#8221;</p>
<p>Yor was built by Bridgecrew, the team behind the popular open-source IaC scanner Checkov which has been downloaded over 2 million times by developers. Bridgecrew was acquired by Palo Alto Networks in March 2021 and together they continue to invest in new and existing open source projects.</p>
<p>Yor is an open-source tool that automatically and consistently tags resources across infrastructure as code (IaC) frameworks (e.g., Terraform, CloudFormation, Kubernetes, and Serverless Framework). Yor enables version-controlled owner assignment and resource tracing-based git history. It also extends tag enforcement logic by loading external tagging logic into your CI/CD pipeline. For more information, visit www.yor.io.</p>
<p>Palo Alto Networks</p>
<p>Palo Alto Networks, the global cybersecurity leader, is shaping the cloud-centric future with technology that is transforming the way people and organizations operate. Our mission is to be the cybersecurity partner of choice, protecting our digital way of life. We help address the world&#8217;s greatest security challenges with continuous innovation that seizes the latest breakthroughs in artificial intelligence, analytics, automation, and orchestration. By delivering an integrated platform and empowering a growing ecosystem of partners, we are at the forefront of protecting tens of thousands of organizations across clouds, networks, and mobile devices. Our vision is a world where each day is safer and more secure than the one before. For more information, visit www.paloaltonetworks.com.</p>
<p>Palo Alto Networks, Prisma, and the Palo Alto Networks logo are trademarks of Palo Alto Networks, Inc. in the United States and in jurisdictions throughout the world. All other trademarks, trade names, or service marks used or mentioned herein belong to their respective owners.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/announcing-the-new-open-source-project-yor-dynamic-and-automated-cloud-infrastructure-tagging/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A Modern Shift-Left Security Approach</title>
		<link>https://www.bestdevops.com/a-modern-shift-left-security-approach/</link>
					<comments>https://www.bestdevops.com/a-modern-shift-left-security-approach/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 05 Jan 2021 05:16:50 +0000</pubDate>
				<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[CISOs]]></category>
		<category><![CDATA[ClickOps]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[Modern]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=15342</guid>

					<description><![CDATA[Source:-https://www.forbes.com The concept of shifting security left is not new, but historically this has meant little more than inserting security [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source:-https://www.forbes.com</p>
<p>The concept of shifting security left is not new, but historically this has meant little more than inserting security processes in the middle of development and slowing everything down. In this article, I&#8217;ll describe older shift-left methods that have not worked — and how a modern approach to shifting left can have a high impact on risk reduction and create a healthy balance of freedom and responsibility for cloud-native development teams.</p>
<p>I believe CISOs have no choice but to embrace this industry change. They must enable development teams to move faster while simultaneously reducing the catastrophic risk of deploying broken infrastructure.</p>
<p>The DevOps Shift-Left</p>
<p>Traditionally, for an application developer, the infrastructure you needed was a server. So you would file a ticket, and someone from the ops team would create a VM instance or order a physical server. Some number of days, weeks or months later, the server would be delivered through a combination of ClickOps, scripts and manual processes.</p>
<p>Today, modern application developers are directly provisioning applications to the cloud by using cloud platforms like AWS, Google and Azure without any additional assistance from IT or platform teams. Developers release and update software on demand in the cloud using continuous integration and continuous deployment (CI/CD) for rapid software releases and updates.</p>
<p>ow using declarative Infrastructure as Code (IaC) — things like Terraform, CloudFormation, Kubernetes manifests, Helm Charts, etc. — to automate the provisioning of their cloud infrastructure. The code manages the resources for their applications — servers, databases, networks, logs, application deployment and configurations — and reduces the burden for IT, Ops and site reliability engineering (SRE) teams.</p>
<p>This has shifted DevOps left and allowed developers to provision their own infrastructure using software development practices such as writing, testing and executing code. If they want to make changes or tear down the infrastructure, they code it, test it and then deploy the changes.</p>
<p>Volumetric Rise In Attack Surface</p>
<p>The power and scale of modern software development cycles adds a new risk dimension to security. Software provisioned with IaC can go from developer laptops to clouds to customers in seconds.</p>
<p>The problem is that there is often little to no room for traditional security intervention in this development process. Rapid deployment of IaC by multiple developers of varying skill and experience levels means there&#8217;s a high chance for mistakes. These problems manifest at runtime, where security teams have good visibility with solutions that detect configuration problems. The problem is that by this point, these problems can be difficult and costly to fix.</p>
<p>Last generation&#8217;s shift-left security has been trying to shift left for years. You can try to catch vulnerabilities and misconfigurations before they are exploited to reduce the risk of breaches in production. You can run a static analysis of application code and dynamic analysis of live applications, generate reports, pummel your ticketing systems for remediation work, and curse at false positives. It&#8217;s a frustrating process that was designed to work in slow multistep release cycles with defined approval gates. It requires pauses between deploys to complete security scans, and then it requires time for remediation activity to catch up.</p>
<p>Inserting security into development has also traditionally meant hiring and deploying software security experts into development teams. These experts may be available for a plethora of tasks: &#8220;threat modeling&#8221; new architectures, defining security features, consulting on risk priority, training up security champions and such. All of these tasks are costly and time-intensive.</p>
<p>On top of this, in most organizations I&#8217;ve worked with, security is vastly outgunned in headcount. Large development teams (DevOps, SREs, developers) that are armed with CI/CD and IaC are unstoppable. I&#8217;d estimate that the current industry ratio sits around 1.5 security experts per 100 software engineers. This model simply does not scale when companies are confronting modern decentralized development. To quote Bilbo Baggins in The Lord of the Rings, &#8220;I feel thin, sort of stretched, like butter scraped over too much bread.&#8221;</p>
<p>The Modern Shift-Left Security Strategy</p>
<p>A modern shift-left approach shifts security responsibilities to those creating software, the developers, and it shifts it to the beginning of the process when the developers are provisioning infrastructure. By testing Terraform and CloudFormation for security before execution, just as they would test their application code for quality and reliability, developers can make any fixes before committing code to production — where it could affect customers and result in data loss.</p>
<p>This shift weaves security into the existing CI/CD processes. Developers should leverage APIs to integrate security solutions into the tools they already use while giving security teams visibility into what has been tested and fixed. If there are issues, the security team should track them back to dev owners and establish policies and templates so that they don&#8217;t repeat the same mistakes. This approach could finally help security make a significant impact on reducing risk for cloud-native software development. Development teams don&#8217;t have to experience security as &#8220;yet another tool&#8221; or as &#8220;yet another process&#8221; that slows things down. Security should become a key aspect of the development process and enable developers to ship secure, reliable solutions without thinking too hard.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/a-modern-shift-left-security-approach/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Fortinet collaborates with AWS to deliver integrated next-generation firewall</title>
		<link>https://www.bestdevops.com/fortinet-collaborates-with-aws-to-deliver-integrated-next-generation-firewall/</link>
					<comments>https://www.bestdevops.com/fortinet-collaborates-with-aws-to-deliver-integrated-next-generation-firewall/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 22 Dec 2020 05:37:35 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[Fortinet]]></category>
		<category><![CDATA[FortiWeb]]></category>
		<category><![CDATA[GuardDuty]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=15242</guid>

					<description><![CDATA[Source:-https://www.dqindia.com Fortinet announced new integrations with Amazon Web Services (AWS) to further provide customers with advanced security across their cloud [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source:-https://www.dqindia.com</p>
<p>Fortinet announced new integrations with Amazon Web Services (AWS) to further provide customers with advanced security across their cloud platforms, applications, and network. Fortinet’s cloud security solutions – including its virtual next-generation firewall, FortiGate-VM and web application firewall (WAF), FortiWeb – are designed to protect workloads and business applications across on-premises data centers and cloud environments. Fortinet is continuing to provide a broad set of natively integrated security solutions using AWS to provide customers with full visibility and control of applications and centralized management across cloud and hybrid environments.</p>
<p>Rajesh Maurya, regional vice president, India and SAARC at Fortinet, said: “Enterprises are increasingly looking to integrate both native cloud security and Fortinet’s enterprise-class cloud security offerings to protect their workloads on AWS. Fortinet has always collaborated closely with AWS on security initiatives and we will leverage AWS Marketplace to further enable rapid deployment.”</p>
<p>The announcement builds on Fortinet’s existing collaboration with AWS. Fortinet delivers natively integrated and enhanced security for available AWS services, including Amazon GuardDuty, AWS CloudFormation and AWS Outposts. Supporting the broadest set of use cases, Fortinet’s Security Fabric offers customers with comprehensive security for AWS workloads including firewall, security gateway, intrusion prevention and web application security. AWS is also part of Fortinet Open Fabric Ecosystem, one of theindustry’s largest cybersecurity ecosystems</p>
<p>“For our customers deploying data and applications in AWS, S2 Global has been able to automate operations through the FortiGate-VM Next-Generation Firewalls to protect their VPC environments. With the FortiGate-VM seamlessly integrating with AWS CloudFormation, we’ve been able to create an automated setup for rolling out Fortinet solutions on AWS. Now it takes just a couple of minutes to spin up a new firewall and 40 minutes for an entire stack deployment when previously it would have taken hours. In doing so, we’ve reduced the risk of human error while freeing up time for our IT teams to focus on other business-critical operations,” said Nikolay Chigrin, senior system engineer, AWS at S2 Global.</p>
<p>&nbsp;</p>


<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe  id="_ytid_94215"  width="675" height="379"  data-origwidth="675" data-origheight="379" src="https://www.youtube.com/embed/?enablejsapi=1&#038;list=PLTCuRW0ikUdMFARYSiWm733n1DcCem6bN&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__  epyt-is-override  no-lazyload" title="YouTube player"  allow="fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll=""></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/fortinet-collaborates-with-aws-to-deliver-integrated-next-generation-firewall/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is AWS CloudFormation? A Practical Introduction for DevOps Engineers</title>
		<link>https://www.bestdevops.com/what-is-aws-cloudformation/</link>
					<comments>https://www.bestdevops.com/what-is-aws-cloudformation/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 13 Jan 2020 05:39:48 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[IT trends]]></category>
		<category><![CDATA[Software-Market]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=9996</guid>

					<description><![CDATA[AWS CloudFormation lets you define, provision, and manage your entire AWS infrastructure as code using JSON or YAML templates. Learn how it works, what problems it solves, and why DevOps teams adopt it.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Managing cloud infrastructure manually — clicking through the AWS Console, running one-off scripts, or tracking resource configurations in a spreadsheet — does not scale. As environments grow, inconsistencies creep in, deployments become fragile, and onboarding new team members turns into a archaeology project. AWS CloudFormation addresses this by letting you treat your infrastructure the same way you treat application code: version-controlled, peer-reviewed, and repeatable.</p>



<h2 class="wp-block-heading">What Is AWS CloudFormation?</h2>



<p class="wp-block-paragraph">AWS CloudFormation is Amazon&#8217;s native <strong>Infrastructure as Code (IaC)</strong> service. It lets you describe the AWS resources your application needs — EC2 instances, S3 buckets, RDS databases, IAM roles, VPCs, Lambda functions, and hundreds of other resource types — in a declarative template file. You hand that template to CloudFormation, and the service takes responsibility for creating, updating, and deleting the described resources in the correct dependency order.</p>



<p class="wp-block-paragraph">Templates are written in either <strong>JSON</strong> or <strong>YAML</strong>. YAML is generally preferred for human-authored templates because it supports comments and is less verbose, but both formats are fully supported.</p>



<h2 class="wp-block-heading">Core Concepts</h2>



<h3 class="wp-block-heading">Templates</h3>



<p class="wp-block-paragraph">A CloudFormation <strong>template</strong> is a text file that declares the desired state of your infrastructure. A minimal template has a <code>Resources</code> section; a production-quality template will also include <code>Parameters</code>, <code>Mappings</code>, <code>Conditions</code>, and <code>Outputs</code>.</p>


<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment"># Minimal YAML example: a single S3 bucket</span>
AWSTemplateFormatVersion: <span class="hljs-string">"2010-09-09"</span>
Description: <span class="hljs-string">"Example — create an S3 bucket"</span>

Parameters:
  BucketNameSuffix:
    Type: String
    Description: Suffix appended to the bucket name

Resources:
  MyBucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: !Sub <span class="hljs-string">"my-app-${BucketNameSuffix}"</span>
      VersioningConfiguration:
        Status: Enabled

Outputs:
  BucketArn:
    Value: !GetAtt MyBucket.Arn
    Export:
      Name: MyBucketArn</code></span></pre>


<h3 class="wp-block-heading">Stacks</h3>



<p class="wp-block-paragraph">When you deploy a template, CloudFormation creates a <strong>stack</strong> — a named collection of all the resources the template describes. The stack is the unit of management: you update a stack by submitting a revised template, and you remove all associated resources by deleting the stack. This makes clean teardown of temporary environments (feature branches, load tests, demos) trivially simple.</p>



<h3 class="wp-block-heading">Change Sets</h3>



<p class="wp-block-paragraph">Before applying an update to a live stack, you can generate a <strong>change set</strong> — a preview of exactly which resources will be added, modified, or replaced. Reviewing a change set before executing it is a safety net that prevents accidental resource replacement in production.</p>



<h3 class="wp-block-heading">Nested Stacks and Stack Sets</h3>



<p class="wp-block-paragraph"><strong>Nested stacks</strong> allow you to compose large architectures from smaller, reusable templates — for example, a shared networking template referenced by multiple application templates. <strong>Stack Sets</strong> extend this further, letting a single template be deployed across multiple AWS accounts and regions simultaneously, which is essential for multi-account landing zone patterns.</p>



<h2 class="wp-block-heading">How CloudFormation Works: The Deployment Flow</h2>



<ol class="wp-block-list">
<li><strong>Author the template</strong> — Write JSON or YAML describing your desired resources and their configuration.</li>
<li><strong>Upload the template</strong> — Submit it via the AWS Console, the AWS CLI (<code>aws cloudformation deploy</code>), or an SDK call. Large templates are staged in S3 first.</li>
<li><strong>CloudFormation builds a dependency graph</strong> — It determines the order in which resources must be created (e.g., a security group before the EC2 instance that references it).</li>
<li><strong>Resources are provisioned</strong> — CloudFormation calls the underlying AWS APIs on your behalf. If any resource fails, the stack rolls back by default, leaving your environment in its previous known-good state.</li>
<li><strong>Outputs are available</strong> — Values you export (ARNs, endpoints, etc.) are queryable by other stacks or CI/CD pipelines.</li>
</ol>



<h2 class="wp-block-heading">Key Benefits for DevOps Teams</h2>



<h3 class="wp-block-heading">Repeatability and Consistency</h3>



<p class="wp-block-paragraph">The same template deployed in development, staging, and production guarantees that all three environments are structurally identical. Configuration drift — where environments diverge over time due to manual changes — is eliminated as long as all changes flow through the template.</p>



<h3 class="wp-block-heading">Version Control and Code Review</h3>



<p class="wp-block-paragraph">Because templates are plain text, they live in Git alongside application code. Infrastructure changes go through pull requests, code review, and automated linting (tools such as <code>cfn-lint</code> and <code>cfn-nag</code> exist specifically for this purpose). This gives you a full audit trail of who changed what and why.</p>



<h3 class="wp-block-heading">Automated, Reliable Rollback</h3>



<p class="wp-block-paragraph">If a stack update fails partway through, CloudFormation automatically rolls back to the previous successful state. This is significantly safer than running imperative scripts that may leave resources in an unknown intermediate state when they fail.</p>



<h3 class="wp-block-heading">Environment Replication and Scalability</h3>



<p class="wp-block-paragraph">Spinning up a complete copy of your infrastructure for a new region, a new customer, or a load test is a single command. Parameterize your templates (instance sizes, replica counts, environment names) and you can create arbitrarily many variations from the same source template.</p>



<h3 class="wp-block-heading">No Extra Cost for the Service Itself</h3>



<p class="wp-block-paragraph">CloudFormation itself carries no additional charge beyond the AWS resources it provisions. You pay for EC2, RDS, or whichever resources the template creates — not for CloudFormation&#8217;s orchestration layer.</p>



<h2 class="wp-block-heading">CloudFormation vs. Other IaC Tools</h2>



<p class="wp-block-paragraph">CloudFormation is not the only IaC option for AWS, and choosing the right tool matters.</p>



<figure class="wp-block-table"><table><thead><tr><th>Tool</th><th>Managed by</th><th>AWS-native?</th><th>Multi-cloud?</th><th>Language</th></tr></thead><tbody><tr><td>CloudFormation</td><td>AWS</td><td>Yes</td><td>No</td><td>JSON / YAML</td></tr><tr><td>AWS CDK</td><td>AWS</td><td>Yes (compiles to CFN)</td><td>No</td><td>TypeScript, Python, Java, Go, .NET</td></tr><tr><td>Terraform</td><td>HashiCorp</td><td>No</td><td>Yes</td><td>HCL</td></tr><tr><td>Pulumi</td><td>Pulumi Corp</td><td>No</td><td>Yes</td><td>TypeScript, Python, Go, .NET</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">CloudFormation is the lowest-friction choice for AWS-only environments because it has the deepest and most up-to-date resource coverage — new AWS services typically appear in CloudFormation on or near launch day. If you want to write infrastructure in a general-purpose programming language rather than YAML, the <strong>AWS Cloud Development Kit (CDK)</strong> is worth evaluating; it compiles down to CloudFormation templates under the hood.</p>



<h2 class="wp-block-heading">Getting Started</h2>



<ol class="wp-block-list">
<li><strong>Install the AWS CLI</strong> and configure credentials (<code>aws configure</code>).</li>
<li><strong>Write a template</strong> — Start small. A single S3 bucket or EC2 instance is enough to learn the workflow.</li>
<li><strong>Validate it</strong> locally: <code>aws cloudformation validate-template --template-body file://template.yaml</code></li>
<li><strong>Deploy it</strong>: <code>aws cloudformation deploy --template-file template.yaml --stack-name my-first-stack --parameter-overrides BucketNameSuffix=dev</code></li>
<li><strong>Inspect the stack</strong> in the AWS Console under CloudFormation to watch resource creation in real time.</li>
<li><strong>Iterate</strong> — Modify the template, redeploy, and observe how CloudFormation computes the minimal set of changes required.</li>
</ol>



<h2 class="wp-block-heading">Practical Tips</h2>



<ul class="wp-block-list">
<li><strong>Use <code>cfn-lint</code></strong> in your CI pipeline to catch schema errors and deprecated properties before deployment.</li>
<li><strong>Enable termination protection</strong> on production stacks to prevent accidental deletion.</li>
<li><strong>Use stack parameters and SSM Parameter Store references</strong> to avoid hard-coding environment-specific values in templates.</li>
<li><strong>Keep stacks small and focused</strong> — a networking stack, a data layer stack, and an application stack are easier to manage independently than one monolithic stack.</li>
<li><strong>Use <code>DeletionPolicy: Retain</code></strong> on stateful resources (RDS, S3) to protect data if a stack is deleted.</li>
</ul>



<h2 class="wp-block-heading">Summary</h2>



<p class="wp-block-paragraph">AWS CloudFormation brings the discipline of software engineering — version control, code review, automated testing, repeatable deployments — to cloud infrastructure management. For teams running workloads exclusively on AWS, it is a natural first choice for Infrastructure as Code: it requires no third-party tooling, supports virtually every AWS service, and integrates directly with AWS IAM, CloudTrail, and CI/CD pipelines. Starting with a simple template and expanding incrementally is the fastest path to reliable, auditable infrastructure.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe  id="_ytid_39414"  width="675" height="379"  data-origwidth="675" data-origheight="379" src="https://www.youtube.com/embed/?enablejsapi=1&#038;list=PLTCuRW0ikUdMFARYSiWm733n1DcCem6bN&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__  epyt-is-override  no-lazyload" title="YouTube player"  allow="fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll=""></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/what-is-aws-cloudformation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Customize and Create AWS Config Compliance Rules: A Practical Tutorial</title>
		<link>https://www.bestdevops.com/tailor-and-create-compliance-rules-with-this-aws-config-tutorial/</link>
					<comments>https://www.bestdevops.com/tailor-and-create-compliance-rules-with-this-aws-config-tutorial/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 01 Oct 2019 05:39:33 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[deployment of security]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=8246</guid>

					<description><![CDATA[Learn three ways to tailor AWS Config compliance rules: editing managed rules in the console, customizing them with CloudFormation templates, and creating custom event-driven rules backed by AWS Lambda functions.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Most organizations have compliance requirements that go beyond what out-of-the-box cloud tooling provides. AWS Config addresses this by offering several levels of customization—from tweaking predefined managed rules in the console, to defining infrastructure-as-code stacks with CloudFormation, to writing fully custom rules driven by AWS Lambda. This tutorial walks through all three approaches, with a focus on the more advanced techniques.</p>



<h2 class="wp-block-heading">Three Approaches to AWS Config Rule Customization</h2>



<p class="wp-block-paragraph">Before diving into the details, it helps to understand the three available paths:</p>



<ol class="wp-block-list">
<li><strong>Console-based editing of managed rules</strong> — Rename rules, adjust trigger frequency, narrow the scope of configuration changes, and modify rule parameters directly in the AWS Config console. This is the quickest approach but offers the least flexibility.</li>
<li><strong>CloudFormation template customization</strong> — Associate AWS Config managed rules with CloudFormation stacks to deploy and manage compliance checks as infrastructure as code. Ideal for repeatable environments and CI/CD pipelines.</li>
<li><strong>Custom rules backed by AWS Lambda</strong> — Write a Lambda function containing the evaluation logic, then bind it to a new custom rule in AWS Config. This gives you full control over what constitutes compliance for any resource type or configuration state.</li>
</ol>



<p class="wp-block-paragraph">The console-based approach is straightforward and well-documented in the AWS console itself. The sections below cover approaches two and three in depth.</p>



<h2 class="wp-block-heading">Customize AWS Config Rules with CloudFormation</h2>



<p class="wp-block-paragraph">AWS CloudFormation lets you model and provision AWS infrastructure using YAML or JSON templates. A template can define individual resources or a collection of related resources called a <em>stack</em>, which you create, update, and delete as a single unit. Embedding AWS Config managed rules inside a CloudFormation stack ensures that compliance checks are provisioned alongside the resources they govern.</p>



<h3 class="wp-block-heading">Selecting a Managed Rule for CloudFormation Deployment</h3>



<p class="wp-block-paragraph">Navigate to the list of AWS Config managed rules in the console and identify the rule you want to apply. As a concrete example, consider the <code>ec2-volume-inuse-check</code> rule, which verifies that Amazon Elastic Block Store (EBS) volumes are attached to EC2 instances. This rule fires whenever a configuration is created or changed. It also supports a <code>deleteOnTermination</code> parameter that flags whether EBS volumes should be deleted when the associated EC2 instance is terminated—a useful cost-control measure.</p>



<p class="wp-block-paragraph">At the bottom of the rule description page, you have two options:</p>



<ul class="wp-block-list">
<li><strong>View</strong> — Downloads the CloudFormation template so you can inspect and edit it before deployment. You can then upload the template to an Amazon S3 bucket and launch it later from the CloudFormation console.</li>
<li><strong>Launch Stack</strong> — Opens the CloudFormation console directly with the template pre-loaded, prompting you to supply stack-specific details immediately.</li>
</ul>



<h3 class="wp-block-heading">Launching and Configuring the Stack</h3>



<p class="wp-block-paragraph">If you choose <strong>Launch Stack</strong>, the CloudFormation wizard walks you through naming the stack, setting rule parameters (for example, toggling <code>deleteOnTermination</code> to <code>true</code> or <code>false</code>), adding optional tags, and reviewing the configuration before creation. Once created, the customized managed rule appears in the AWS Config Rules page and begins evaluating resources immediately.</p>



<h3 class="wp-block-heading">Using CloudFormation Stacks with AWS CodePipeline</h3>



<p class="wp-block-paragraph">A compelling use case for embedding Config rules in CloudFormation is CI/CD pipelines built on AWS CodePipeline. CodePipeline is a managed service for modeling and automating software release stages. Config can track changes to the pipeline itself—such as action definitions or component locations—while CloudFormation stacks that include Config managed rules can provision the hosting environment for each build in a repeatable, compliant way.</p>



<p class="wp-block-paragraph">For example, a CodePipeline deploy stage can invoke a CloudFormation template that spins up compute, storage, and load-balancing resources, with embedded Config rules that immediately begin monitoring the new environment. When the stack is torn down, the Config rules are removed along with it, keeping your rules list clean.</p>



<h2 class="wp-block-heading">Create Custom AWS Config Rules with AWS Lambda</h2>



<p class="wp-block-paragraph">AWS Config managed rules cover many common scenarios, but custom business logic often requires rules that do not exist in the managed catalog. For these cases, you can write an AWS Lambda function containing the compliance evaluation logic and associate it with a new custom rule in AWS Config.</p>



<p class="wp-block-paragraph">It is important to understand the division of responsibility here: the <strong>Lambda function is not the rule itself</strong>—it is the logic that determines compliance. The rule in AWS Config defines the scope, trigger conditions, and parameters. The function performs the actual evaluation and reports results back to Config using the Config API.</p>



<h3 class="wp-block-heading">Step 1: Create the Lambda Function</h3>



<p class="wp-block-paragraph">Sign in to the AWS Lambda console and confirm that your chosen region supports AWS Config custom rules. When creating the function, you can start from a blueprint such as <code>config-rule-change-triggered</code>, which provides a skeleton suited to configuration-change events. Key decisions at this stage:</p>



<ul class="wp-block-list">
<li><strong>Name and runtime</strong> — Choose a descriptive name and select your preferred runtime (for example, Python or Node.js).</li>
<li><strong>Handler</strong> — Specify the entry-point handler that AWS Lambda will invoke.</li>
<li><strong>Execution role</strong> — Attach an IAM role that grants the function permission to call AWS Config APIs, specifically <code>config:PutEvaluations</code>, as well as read permissions on the resources it needs to evaluate.</li>
<li><strong>Permission policy template</strong> — Use the <em>AWS Config Rules permission</em> policy template available in the console to ensure the function has the correct permissions.</li>
</ul>



<p class="wp-block-paragraph">There is no need to configure Lambda triggers manually—AWS Config will invoke the function based on the trigger type defined in the custom rule. After creating the function, test it by running a configured test event in the Lambda console to verify it returns evaluations in the correct format before wiring it to a Config rule.</p>



<h3 class="wp-block-heading">Step 2: Create the Custom Rule in AWS Config</h3>



<p class="wp-block-paragraph">Open the AWS Config console, go to the <strong>Rules</strong> page, and select <strong>Add rule</strong>, then <strong>Add custom rule</strong>. Fill in the following fields:</p>



<ul class="wp-block-list">
<li><strong>Rule name and description</strong> — Use a name that clearly reflects what the rule evaluates.</li>
<li><strong>AWS Lambda function ARN</strong> — Paste the Amazon Resource Name of the Lambda function created in Step 1. This is the critical link between the rule and its evaluation logic. Ensure the function is in the <em>same AWS region</em> as the Config rule.</li>
<li><strong>Trigger type</strong> — Choose <em>Configuration changes</em> (fires when a resource configuration changes), <em>Periodic</em> (fires on a schedule), or both.</li>
<li><strong>Trigger scope and resource types</strong> — Narrow the rule to specific resource types or tags so Config only invokes the Lambda function when relevant resources change.</li>
<li><strong>Rule parameters</strong> — Define key-value pairs that the Lambda function reads at runtime to adjust its behavior without redeploying code. For example, a function that checks EC2 instance types might accept a parameter named <code>desiredInstanceType</code> with a value such as <code>t3.medium</code>.</li>
</ul>



<p class="wp-block-paragraph">Save the rule. It will appear on the Rules page, and AWS Config will begin invoking the Lambda function according to the defined trigger conditions. Evaluation results—<em>COMPLIANT</em>, <em>NON_COMPLIANT</em>, or <em>NOT_APPLICABLE</em>—will appear in the Config console alongside the rule.</p>



<h2 class="wp-block-heading">Choosing the Right Approach</h2>



<figure class="wp-block-table"><table><thead><tr><th>Approach</th><th>Best for</th><th>Skill required</th></tr></thead><tbody><tr><td>Console editing of managed rules</td><td>Quick adjustments to existing AWS-managed checks</td><td>Low</td></tr><tr><td>CloudFormation template customization</td><td>Repeatable, stack-based deployments; CI/CD pipelines</td><td>Medium</td></tr><tr><td>Custom rules with Lambda</td><td>Organization-specific compliance logic not covered by managed rules</td><td>High</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">For most teams, a combination of all three approaches makes sense: managed rules handle baseline AWS best practices, CloudFormation integration keeps compliance checks tied to infrastructure lifecycle, and Lambda-backed custom rules encode the business-specific requirements that no managed rule can anticipate.</p>



<h2 class="wp-block-heading">Summary</h2>



<p class="wp-block-paragraph">AWS Config is a flexible compliance monitoring service that goes well beyond its built-in managed rules. By combining CloudFormation-based deployment with Lambda-driven custom rules, DevOps teams can build a compliance framework that evolves alongside their infrastructure, enforces organization-specific policies, and integrates naturally into automated release pipelines.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/tailor-and-create-compliance-rules-with-this-aws-config-tutorial/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Set Up Continuous Compliance on AWS with Config Managed Rules</title>
		<link>https://www.bestdevops.com/set-up-continuous-compliance-on-aws-with-config-managed-rules/</link>
					<comments>https://www.bestdevops.com/set-up-continuous-compliance-on-aws-with-config-managed-rules/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 26 Sep 2019 07:07:59 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[continuous inspection tool]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=8075</guid>

					<description><![CDATA[Manual compliance practices can't keep pace with cloud environments. Learn how AWS Config managed rules help you establish automated, continuous compliance on AWS.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Manual compliance practices can&#8217;t keep pace with the speed and scale of cloud environments. AWS Config provides a managed service approach to continuous compliance, using predefined rules that monitor your AWS resources and alert you to violations automatically. This article explains what AWS Config is, how its rules engine works, and how to get started with managed rules.</p>



<h2 class="wp-block-heading">Why Manual Compliance Fails in the Cloud</h2>



<p class="wp-block-paragraph">Traditional compliance workflows rely on documentation, periodic audits, and manual checks. In on-premises environments, infrastructure changes slowly enough that these processes can keep up. Cloud environments are fundamentally different: new resources can be provisioned in seconds, configurations can drift silently, and teams can scale infrastructure across multiple regions without centralized oversight.</p>



<p class="wp-block-paragraph">The core disadvantages of manual cloud compliance include:</p>



<ul class="wp-block-list">
<li><strong>Scale:</strong> Hundreds or thousands of resources across accounts and regions make manual auditing impractical.</li>
<li><strong>Speed:</strong> By the time a manual audit catches a misconfigured resource, it may already have been exploited or removed.</li>
<li><strong>Documentation gaps:</strong> Manual processes are prone to inconsistent record-keeping, which creates problems during formal audits.</li>
<li><strong>Human error:</strong> Checklists and spreadsheets introduce opportunities for oversight and inconsistency.</li>
</ul>



<p class="wp-block-paragraph">Organizations migrating to AWS need to rethink compliance as an automated, continuous process rather than a periodic manual activity.</p>



<h2 class="wp-block-heading">Replacing Manual Processes with Managed Compliance Services</h2>



<p class="wp-block-paragraph">AWS offers several approaches to automating compliance. Options include AWS Partner Network solutions such as HPE Continuous Compliance and the use of Chef InSpec integrated with AWS Systems Manager. However, the most direct and native starting point is AWS Config with its managed rules, which requires no third-party tooling and integrates tightly with the rest of the AWS ecosystem.</p>



<p class="wp-block-paragraph">The principle behind managed compliance services is straightforward: define the desired configuration state of your infrastructure, then continuously compare actual resource configurations against that desired state. Any deviation is flagged, logged, and optionally remediated automatically. This gives auditors a continuous, queryable compliance record rather than a point-in-time snapshot.</p>



<h2 class="wp-block-heading">AWS Config: Core Concepts</h2>



<p class="wp-block-paragraph">AWS Config is a managed service that provides a detailed, continuously updated inventory of the resources in your AWS account — including EC2 instances, S3 buckets, security groups, IAM roles, VPCs, and more. It records how those resources are configured, tracks relationships between them, and maintains a historical timeline of configuration changes.</p>



<p class="wp-block-paragraph">Key capabilities of AWS Config include:</p>



<ul class="wp-block-list">
<li><strong>Configuration recording:</strong> AWS Config captures the state of supported resources whenever a change occurs, creating a detailed audit trail.</li>
<li><strong>Resource relationships:</strong> It maps how resources relate to each other — for example, which EC2 instances are associated with a given security group.</li>
<li><strong>Change notifications:</strong> Config can notify administrators via Amazon Simple Notification Service (SNS) when a resource is created, modified, or deleted.</li>
<li><strong>Compliance evaluation:</strong> Config evaluates resources against defined rules on a continuous or periodic basis and reports compliance status.</li>
</ul>



<p class="wp-block-paragraph">In practical terms, AWS Config acts as the monitoring, logging, and reporting backbone for your AWS compliance posture.</p>



<h3 class="wp-block-heading">How AWS Config Rules Work</h3>



<p class="wp-block-paragraph">A <strong>Config rule</strong> defines a desired configuration setting for an AWS resource or for your entire account. AWS Config continuously evaluates each in-scope resource against every applicable rule. If a resource violates a rule — either at the moment of a configuration change or during a periodic evaluation — Config marks that resource as <strong>non-compliant</strong> and triggers an SNS notification to alert the responsible team.</p>



<p class="wp-block-paragraph">Rules can be scoped to a specific resource type (for example, all EC2 instances) or applied account-wide. Evaluation can be triggered by configuration changes, on a defined schedule, or both.</p>



<h2 class="wp-block-heading">AWS Config Managed Rules</h2>



<p class="wp-block-paragraph">AWS provides a library of <strong>managed rules</strong> — predefined compliance checks authored and maintained by AWS. These rules cover common security and operational best practices and can be enabled with minimal configuration. Administrators can also customize the parameters of managed rules to fit organizational requirements, though this is distinct from creating fully custom rules using AWS Lambda.</p>



<p class="wp-block-paragraph">Managed rules are organized across several categories:</p>



<ul class="wp-block-list">
<li><strong>Compute:</strong> EC2 instance types, AMI compliance, EBS encryption</li>
<li><strong>Storage:</strong> S3 bucket public access, versioning, server-side encryption</li>
<li><strong>Security, Identity, and Compliance:</strong> IAM password policies, root account MFA, CloudTrail enablement</li>
<li><strong>Network and Content Delivery:</strong> VPC flow logs, security group rules, unrestricted SSH access</li>
<li><strong>Management and Governance:</strong> Required tags, Config recorder status</li>
</ul>



<p class="wp-block-paragraph">As of the original publication date of this article (September 2019), AWS Config offered more than 100 predefined managed rules. The current number is larger; check the <a href="https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html">AWS documentation</a> for the current list.</p>



<h3 class="wp-block-heading">Example: Enforcing EC2 Instance Types</h3>



<p class="wp-block-paragraph">A practical example is the <code>desired-instance-type</code> managed rule. This rule checks whether EC2 instances in scope match a list of permitted instance types. If a developer launches an instance using an instance type not on the approved list — perhaps a large, expensive instance type that violates cost governance — Config marks the instance as non-compliant and sends an alert. The operations or security team can then investigate and take corrective action.</p>



<p class="wp-block-paragraph">Similar rules exist for Amazon RDS, Redshift, S3, and IAM, providing broad coverage out of the box.</p>



<h2 class="wp-block-heading">Getting Started: Enabling AWS Config Managed Rules</h2>



<p class="wp-block-paragraph">Follow these high-level steps to enable managed rules in the AWS Management Console:</p>



<ol class="wp-block-list">
<li><strong>Enable AWS Config</strong> in your account and region via the AWS Management Console, CLI, or CloudFormation. Configure an S3 bucket to receive configuration snapshots and an SNS topic for notifications.</li>
<li><strong>Select a managed rule.</strong> In the Config console, navigate to <em>Rules</em> and choose <em>Add rule</em>. Browse or search the managed rule library to find the rule you want to apply.</li>
<li><strong>Configure the rule scope.</strong> Specify which resource types the rule applies to and set any configurable parameters (for example, the list of permitted instance types for <code>desired-instance-type</code>).</li>
<li><strong>Set the trigger type.</strong> Choose whether the rule evaluates resources on configuration changes, on a periodic schedule, or both.</li>
<li><strong>Review compliance results.</strong> After the initial evaluation runs, the Config console displays each resource&#8217;s compliance status. Non-compliant resources are listed with the specific rule they violated.</li>
<li><strong>Configure remediation (optional).</strong> AWS Config supports automatic remediation actions via AWS Systems Manager Automation documents, allowing you to automatically correct certain violations.</li>
</ol>



<h2 class="wp-block-heading">Beyond Managed Rules: Custom Rules and Automation</h2>



<p class="wp-block-paragraph">Managed rules cover a wide range of common compliance requirements, but every organization has unique policies that no predefined rule can anticipate. AWS Config also supports <strong>custom rules</strong> backed by AWS Lambda functions, giving you full programmatic control over compliance logic. You can also use AWS CloudFormation to deploy Config rules as infrastructure-as-code, ensuring your compliance posture is version-controlled and reproducible across accounts and regions.</p>



<p class="wp-block-paragraph">Integrating AWS Config with AWS Security Hub, AWS CloudTrail, and Amazon EventBridge further strengthens your compliance posture by correlating configuration compliance data with security findings and enabling event-driven remediation workflows.</p>



<h2 class="wp-block-heading">Summary</h2>



<p class="wp-block-paragraph">AWS Config managed rules provide a practical, low-friction entry point into continuous compliance on AWS. By replacing manual audits with automated, rules-based evaluation, teams can maintain a verifiable compliance record at the speed and scale the cloud demands. Start by enabling AWS Config in your account, selecting managed rules relevant to your compliance framework, and reviewing the initial compliance report — then expand coverage with custom rules and automated remediation as your program matures.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/set-up-continuous-compliance-on-aws-with-config-managed-rules/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AWS OpsWorks vs. CloudFormation vs. Elastic Beanstalk: When to Use Each</title>
		<link>https://www.bestdevops.com/when-to-use-aws-opsworks-vs-cloudformation-or-elastic-beanstalk/</link>
					<comments>https://www.bestdevops.com/when-to-use-aws-opsworks-vs-cloudformation-or-elastic-beanstalk/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 25 Sep 2019 05:00:05 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[Deploy resources]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[OpsWorks]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=8042</guid>

					<description><![CDATA[AWS offers multiple overlapping tools for deploying and configuring cloud infrastructure. Learn when to use CloudFormation, OpsWorks, and Elastic Beanstalk—and how to combine them effectively.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">AWS gives engineering teams several overlapping services for deploying and configuring infrastructure. That flexibility is powerful, but it can make tool selection difficult. This article compares three core AWS configuration management services—CloudFormation, OpsWorks, and Elastic Beanstalk—explains what each one does best, and shows when it makes sense to combine them.</p>



<h2 class="wp-block-heading">The Core Question: Declarative vs. Imperative Deployment</h2>



<p class="wp-block-paragraph">Before comparing the three services, it helps to understand the underlying deployment philosophy they share. You <em>can</em> provision AWS infrastructure using shell scripts full of AWS CLI commands—this is an imperative model where every step must be explicitly defined, error handling must be hand-coded, and scripts must be rewritten for each new application.</p>



<p class="wp-block-paragraph">A more maintainable approach is <strong>declarative configuration</strong>: you describe the desired end state in a text file, and a deployment engine figures out how to reach that state, including error handling. All three services discussed here use this declarative model. The text files that describe your infrastructure can be stored in version control, enabling an infrastructure-as-code (IaC) workflow.</p>



<h2 class="wp-block-heading">AWS CloudFormation: Deploying AWS Resources</h2>



<p class="wp-block-paragraph">CloudFormation is AWS&#8217;s foundational infrastructure-as-code service. You write a <strong>CloudFormation template</strong>—a JSON or YAML file—that declares which AWS resources your application needs. CloudFormation reads the template and provisions those resources in the correct order, handling dependencies automatically.</p>



<p class="wp-block-paragraph">CloudFormation works well for:</p>



<ul class="wp-block-list">
<li>Deploying the AWS resource layer of an application (VPCs, subnets, security groups, RDS instances, S3 buckets, load balancers, etc.)</li>
<li>Applications that are relatively static, where the entire infrastructure stack can be replaced on each update rather than patched in place</li>
<li>Teams that need repeatable, version-controlled environment definitions</li>
</ul>



<p class="wp-block-paragraph">CloudFormation supports <strong>change sets</strong>, which let you preview proposed modifications to a running stack—such as adding or removing resources—before applying them. This gives operators an audit step before infrastructure changes take effect.</p>



<p class="wp-block-paragraph"><strong>Key limitation:</strong> CloudFormation manages AWS resources at the provisioning level. It does not orchestrate configuration changes <em>inside</em> a running EC2 instance. For example, it cannot install new packages, update application configuration files, or restart services on an already-running server. Shell scripts can be embedded in CloudFormation user data, but their configuration capabilities are limited.</p>



<h2 class="wp-block-heading">AWS OpsWorks: Configuration Management Inside EC2</h2>



<p class="wp-block-paragraph">AWS OpsWorks bridges the gap that CloudFormation leaves around in-instance configuration. OpsWorks provides managed versions of two popular configuration management tools—<strong>Chef</strong> and <strong>Puppet</strong>—as AWS services (OpsWorks for Chef Automate and OpsWorks for Puppet Enterprise). A third variant, OpsWorks Stacks, uses Chef cookbooks in a proprietary stack model.</p>



<p class="wp-block-paragraph">OpsWorks handles:</p>



<ul class="wp-block-list">
<li><strong>Initial deployment</strong> of applications onto EC2 instances, including OS-level configuration</li>
<li><strong>Ongoing configuration drift remediation</strong>—keeping instances in a defined state over time</li>
<li><strong>Application updates</strong> applied to running instances without replacing them</li>
<li>Operating system package management, user accounts, file permissions, and service management</li>
</ul>



<p class="wp-block-paragraph">Use OpsWorks instead of CloudFormation alone when your application requires ongoing updates to the configuration of its EC2 instances—for example, rolling out new application versions, patching OS packages, or managing configuration files that change independently of the underlying infrastructure.</p>



<h2 class="wp-block-heading">Combining CloudFormation and OpsWorks</h2>



<p class="wp-block-paragraph">For applications that use many AWS services <em>and</em> require detailed EC2 configuration management, CloudFormation and OpsWorks complement each other well. The recommended division of responsibility is:</p>



<figure class="wp-block-table"><table><thead><tr><th>Layer</th><th>Tool</th></tr></thead><tbody><tr><td>AWS resource provisioning (VPC, RDS, ELB, S3, security groups, etc.)</td><td>CloudFormation</td></tr><tr><td>EC2 instance OS and application configuration</td><td>OpsWorks (Chef or Puppet)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">In this model, CloudFormation bootstraps the OpsWorks stack as part of resource provisioning. Once EC2 instances are running, OpsWorks takes over to apply Chef recipes or Puppet manifests. When changes are needed, AWS resource changes go through CloudFormation change sets; application and OS changes go through OpsWorks. This separation of concerns keeps each tool focused on what it does best.</p>



<h2 class="wp-block-heading">AWS Elastic Beanstalk: Managed Platform for Web Applications</h2>



<p class="wp-block-paragraph">Elastic Beanstalk takes a higher-level approach. Rather than requiring you to define individual AWS resources, Elastic Beanstalk is a <strong>platform-as-a-service (PaaS)-style provisioning service</strong>. You upload your application code, tell Elastic Beanstalk which platform to use (e.g., Python, Node.js, Java, Docker), and it provisions and configures the underlying infrastructure automatically.</p>



<p class="wp-block-paragraph">Elastic Beanstalk automatically handles:</p>



<ul class="wp-block-list">
<li>Web server provisioning and configuration</li>
<li>Auto Scaling group setup</li>
<li>Load balancer configuration</li>
<li>Health monitoring and alerting</li>
<li>Log aggregation</li>
<li>Rolling deployments and environment cloning</li>
</ul>



<p class="wp-block-paragraph">If your application is a self-contained web application or API and fits neatly within a supported Elastic Beanstalk platform, you may not need CloudFormation or OpsWorks at all. Elastic Beanstalk is the fastest path from code to a running, monitored web environment.</p>



<p class="wp-block-paragraph"><strong>When to combine Elastic Beanstalk with CloudFormation:</strong> Most real-world applications need resources that Elastic Beanstalk does not manage on its own—a managed database (RDS), object storage (S3), a cache layer (ElastiCache), or a message queue (SQS). In these cases, use CloudFormation to define the full environment: let CloudFormation provision the Elastic Beanstalk environment alongside the supporting AWS resources. This gives you the convenience of Elastic Beanstalk for the application tier plus the full resource coverage of CloudFormation.</p>



<h2 class="wp-block-heading">Decision Guide: Which Tool to Use</h2>



<p class="wp-block-paragraph">Use the following guidance to select the right tool or combination of tools for your use case:</p>



<ul class="wp-block-list">
<li><strong>CloudFormation only</strong> — You need repeatable provisioning of AWS resources for a relatively static application, and you do not need to manage configuration inside EC2 instances beyond simple startup scripts.</li>
<li><strong>OpsWorks only (or OpsWorks + CloudFormation)</strong> — You have an application running on EC2 that requires ongoing configuration management, package updates, or application deployments to live instances. Add CloudFormation when you also have significant AWS resource dependencies.</li>
<li><strong>Elastic Beanstalk only</strong> — You are deploying a web application or API that fits a supported platform runtime and has minimal external AWS dependencies.</li>
<li><strong>Elastic Beanstalk + CloudFormation</strong> — Your web application needs Elastic Beanstalk&#8217;s managed platform conveniences but also depends on additional AWS resources such as RDS, S3, or ElastiCache that must be provisioned alongside it.</li>
</ul>



<h2 class="wp-block-heading">Summary Comparison</h2>



<figure class="wp-block-table"><table><thead><tr><th>Feature</th><th>CloudFormation</th><th>OpsWorks</th><th>Elastic Beanstalk</th></tr></thead><tbody><tr><td>Primary role</td><td>AWS resource provisioning (IaC)</td><td>In-instance OS &amp; app configuration management</td><td>Managed application platform</td></tr><tr><td>Abstraction level</td><td>Low (full control)</td><td>Medium (Chef/Puppet abstraction)</td><td>High (platform-managed)</td></tr><tr><td>Manages EC2 internals</td><td>No (limited user data scripts)</td><td>Yes</td><td>Partially (platform-managed only)</td></tr><tr><td>Ongoing config drift management</td><td>No</td><td>Yes</td><td>No</td></tr><tr><td>Best for</td><td>Any AWS resource topology</td><td>Long-lived EC2 fleets needing config management</td><td>Web apps and APIs on supported platforms</td></tr><tr><td>Combines well with</td><td>OpsWorks, Elastic Beanstalk</td><td>CloudFormation</td><td>CloudFormation</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">All three services support a declarative approach to infrastructure management and can be stored as code in version control. Choosing between them—or combining them—depends primarily on how much control you need over the underlying EC2 configuration, how complex your AWS resource dependencies are, and how quickly you need to get a web application running.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/when-to-use-aws-opsworks-vs-cloudformation-or-elastic-beanstalk/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AWS CloudFormation Public Roadmap: What It Means for DevOps Teams</title>
		<link>https://www.bestdevops.com/aws-cloudformation-public-roadmap-released-after-user-gripes/</link>
					<comments>https://www.bestdevops.com/aws-cloudformation-public-roadmap-released-after-user-gripes/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 01 Aug 2019 09:09:04 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[gripes]]></category>
		<category><![CDATA[public]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=6584</guid>

					<description><![CDATA[AWS released a public roadmap for CloudFormation in response to user frustration over slow feature coverage. Here is what the roadmap contains, what it does not promise, and what it means for teams evaluating CloudFormation versus alternatives like Terraform.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on reporting originally published by TechTarget (techtarget.com) in 2019.</em></p>



<h2 class="wp-block-heading">Background: Why CloudFormation Users Were Frustrated</h2>



<p class="wp-block-paragraph">AWS CloudFormation is one of the most widely used infrastructure-as-code (IaC) tools in the cloud ecosystem, allowing engineers to define and provision AWS infrastructure through declarative templates. However, for years, a persistent complaint from the CloudFormation community was that AWS&#8217;s own IaC tool lagged behind the pace of new AWS service releases — meaning engineers could not manage newly launched services through CloudFormation on day one of general availability.</p>



<p class="wp-block-paragraph">In response to sustained user pressure, AWS released a public roadmap for CloudFormation in mid-2019, hosted on GitHub. The move was intended to give teams greater visibility into which CloudFormation resource types were being worked on and roughly when they might become available.</p>



<p class="wp-block-paragraph">AWS evangelist Jeff Barr acknowledged the gap directly in a blog post at the time: <em>&#8220;While our goal of providing 100% coverage remains, the reality is that it will take us some time to get there.&#8221;</em> He attributed the lag to AWS prioritising scalability of the CloudFormation service itself over complete service coverage.</p>



<h2 class="wp-block-heading">What the CloudFormation Public Roadmap Contains</h2>



<p class="wp-block-paragraph">The CloudFormation roadmap, modelled after a similar roadmap AWS had released for containers earlier that year, organises planned work into four status categories:</p>



<ul class="wp-block-list">
<li><strong>Shipped:</strong> The CloudFormation resource type is complete and available for production use across all AWS public regions.</li>
<li><strong>Coming Soon:</strong> Work is well underway; expect availability within a few months.</li>
<li><strong>We&#8217;re Working On It:</strong> Active development is in progress, but on a longer timeline than &#8220;Coming Soon.&#8221;</li>
<li><strong>Researching:</strong> AWS has not yet determined how to implement the feature and is in an exploratory phase.</li>
</ul>



<p class="wp-block-paragraph">Importantly, the roadmap is scoped specifically to coverage updates for existing CloudFormation resource types and resource types with no existing CloudFormation support. It does not include information about AWS services that have not yet been publicly released.</p>



<p class="wp-block-paragraph">AWS also made clear in its FAQ that specific release dates would not be provided on the roadmap, citing security and stability as primary priorities that could affect timelines.</p>



<h2 class="wp-block-heading">Community Reaction: Cautious Optimism</h2>



<p class="wp-block-paragraph">Reaction from experienced AWS practitioners was generally positive but measured. Ryan Marsh, a DevOps and serverless coach at TheStack.io in Houston, offered qualified praise:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;This is exactly what we&#8217;ve been asking for, in lieu of same-day GA of course. Furthermore, we need to see more of this type of leadership with AWS&#8217;s various open source endeavors, many of which still feel controlled by the company — not the community — and yet have no public roadmap.&#8221;</p></blockquote>



<p class="wp-block-paragraph">Scott Piper, an AWS security consultant at Summit Route in Salt Lake City, took a more sceptical view of how much practical impact the roadmap would have:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;I think the increased transparency is good, although I wonder how many people actually monitor or care about it. I think most people have maybe one feature they want to have happen and so this gives them a better way of tracking the progress of that feature.&#8221;</p></blockquote>



<p class="wp-block-paragraph">Piper also raised a practical concern about the GitHub thumbs-up mechanism AWS uses to gauge user interest in features: <em>&#8220;GitHub suffers from bots like every other social platform, and probably more so.&#8221;</em> He suggested that for most customers, feature prioritisation at AWS still ultimately correlates with AWS spend — large enterprise customers with significant annual contracts having more direct influence over AWS engineering priorities than community votes.</p>



<h2 class="wp-block-heading">CloudFormation vs. Terraform: The Coverage Gap Problem</h2>



<p class="wp-block-paragraph">The frustration driving the roadmap request was not merely academic. Several organisations reported that CloudFormation&#8217;s coverage lag had pushed them toward Terraform, the open-source IaC tool developed by HashiCorp. Because Terraform&#8217;s AWS provider is maintained by both HashiCorp and the community, it often gains support for new AWS services faster than CloudFormation itself does.</p>



<p class="wp-block-paragraph">This is a notable irony: AWS&#8217;s own IaC tooling has at times provided less coverage of AWS services than a third-party tool. The public roadmap was partly AWS&#8217;s acknowledgement of this tension and an attempt to rebuild trust with teams who had already switched or were considering switching.</p>



<h2 class="wp-block-heading">The CDK Factor: Has AWS Shifted Focus?</h2>



<p class="wp-block-paragraph">One context point worth understanding is that 2019 was also the year AWS launched the AWS Cloud Development Kit (CDK). CDK is an IaC framework that allows developers to define cloud infrastructure using familiar general-purpose programming languages — TypeScript, Python, Java, and others — rather than the JSON or YAML templates that CloudFormation requires.</p>



<p class="wp-block-paragraph">CDK compiles down to CloudFormation templates under the hood, so it inherits CloudFormation&#8217;s coverage limitations. However, its developer experience is significantly different and was well received. Amazon CTO Werner Vogels, in an interview with TechTarget at the time, indicated that AWS had been directing more engineering attention toward CDK based on developer demand:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;I think overall, we&#8217;re on a good path — the right path. But I love the fact that there is a long list of requests for CloudFormation. It means that customers are passionate about it and want us to do more.&#8221;</p></blockquote>



<p class="wp-block-paragraph">For DevOps teams evaluating their IaC strategy, this raises a practical question: if AWS&#8217;s own engineering investment was increasingly going into CDK rather than raw CloudFormation template coverage, how quickly would the coverage gap actually close?</p>



<h2 class="wp-block-heading">Key Takeaways for DevOps Engineers</h2>



<ul class="wp-block-list">
<li><strong>The roadmap provides visibility, not velocity guarantees.</strong> AWS explicitly declined to commit to specific release dates. Teams should treat the roadmap as a planning input, not a delivery contract.</li>
<li><strong>Scope is limited to existing services.</strong> If you are waiting for a brand-new, unreleased AWS service to get CloudFormation support, the roadmap will not tell you anything until that service is publicly available.</li>
<li><strong>Community input has limits.</strong> GitHub reactions do factor into prioritisation, but large enterprise spend is a more direct lever. Small teams should not assume a popular GitHub issue will move quickly.</li>
<li><strong>CDK is an alternative worth evaluating.</strong> If template verbosity is a pain point in addition to coverage, CDK&#8217;s programming-language-native approach addresses a different set of frustrations than raw CloudFormation.</li>
<li><strong>Terraform remains a valid option for coverage-sensitive workflows.</strong> For teams where day-one support of new AWS services is a hard requirement, Terraform&#8217;s provider ecosystem may still be a better fit.</li>
</ul>



<h2 class="wp-block-heading">Summary</h2>



<p class="wp-block-paragraph">The release of the AWS CloudFormation public roadmap in 2019 was a meaningful transparency improvement, responding directly to years of user criticism about feature lag. Hosted on GitHub and organised into four clear status categories, it gave CloudFormation users a structured way to track resource type coverage progress and provide feedback. However, the roadmap came with important caveats: no release dates, limited scope, and no explicit commitment to accelerated delivery. For DevOps teams building on AWS, it remains one useful signal among several when making IaC tooling decisions.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/aws-cloudformation-public-roadmap-released-after-user-gripes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DevOps Shops Weather Growing Pains with Infrastructure-as-Code Tools</title>
		<link>https://www.bestdevops.com/devops-shops-weather-growing-pains-with-infrastructure-as-code-tools/</link>
					<comments>https://www.bestdevops.com/devops-shops-weather-growing-pains-with-infrastructure-as-code-tools/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 30 Jun 2017 08:36:57 +0000</pubDate>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[clod computing]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[code tools]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[network automation]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=1987</guid>

					<description><![CDATA[Chef, Puppet, Ansible, CloudFormation, and Terraform are all evolving fast — and so are the headaches that come with adopting them. Here's what DevOps teams were dealing with as IaC tooling matured.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on reporting originally published at searchitoperations.techtarget.com (2017). Tool versions and feature sets referenced reflect the state of the ecosystem at that time.</em></p>



<h2 class="wp-block-heading">The Infrastructure-as-Code Landscape Was Evolving Fast</h2>



<p class="wp-block-paragraph">By mid-2017, IT operations teams were leaning heavily on infrastructure-as-code (IaC) tools to keep pace with the demands of DevOps. But the tools themselves were advancing almost as quickly as the applications they were meant to support — bringing both capability improvements and painful breaking changes.</p>



<p class="wp-block-paragraph">Established players Chef and Puppet had recently restructured their products to support containers and the underlying infrastructure changes that came with them. Chef refactored its codebase into three major open-source projects and introduced Habitat, which many users were still trying to understand. Puppet published a roadmap for improved container support and was working toward a container management API. AWS CloudFormation, released in 2011, had been receiving roughly monthly feature updates in the preceding year.</p>



<p class="wp-block-paragraph">Among newer entrants, Ansible — launched around 2012 and acquired by Red Hat in 2015 — had added network automation integrations and Red Hat CloudForms support for multicloud environments. HashiCorp Terraform, first released in 2014, had gained momentum quickly but had not yet reached a stable 1.0 release, leaving users to absorb breaking changes with each pre-1.0 update.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;It&#8217;s a rapidly evolving area, and a lot of companies are just getting into this space. Most of the people working with these tools are sys admins who are trying to figure out how to scale, rather than developers.&#8221;</p><cite>Brandon Cipes, Managing Director of DevOps, cPrime</cite></blockquote>



<h2 class="wp-block-heading">Most Teams Mix and Match IaC Tools</h2>



<p class="wp-block-paragraph">Few organizations relied on a single IaC tool. Most combined two or more, which added its own layer of complexity. A common pattern was to start with AWS CloudFormation — a natural first choice for companies building on AWS — and then layer in additional tools as infrastructure needs grew more complex or extended to other cloud providers.</p>



<p class="wp-block-paragraph">CloudFormation&#8217;s verbosity and configuration demands were a recurring complaint. Its JSON (and later YAML) templates require precise parameter configuration, and a misconfigured template will often fail entirely rather than partially recover.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;It&#8217;s just not the most friendly tool in the world. It doesn&#8217;t use an easy-to-read language, it requires a lot of parameters to be set, and all of those parameters and details have to be very particularly configured or it will break.&#8221;</p><cite>Brandon Cipes, cPrime</cite></blockquote>



<p class="wp-block-paragraph">Despite its friction, CloudFormation couldn&#8217;t simply be abandoned. Its ubiquity within the AWS ecosystem meant teams had to remain fluent in it to collaborate effectively with the broader AWS community.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;CloudFormation is the lingua franca to exchange ideas about infrastructure and AWS resources. We definitely need to know the technology to be able to exchange ideas with the rest of the community because of its ubiquity.&#8221;</p><cite>Joaquin Menchaca, DevOps Engineer, goBalto Inc.</cite></blockquote>



<h3 class="wp-block-heading">Ansible&#8217;s Appeal — and Its Gaps</h3>



<p class="wp-block-paragraph">Ansible&#8217;s YAML-based approach made it attractive to teams that wanted their infrastructure definitions to sit naturally alongside application code. Its agentless architecture and low barrier to entry made it popular with sysadmins transitioning into DevOps roles.</p>



<p class="wp-block-paragraph">However, some practitioners felt that Ansible&#8217;s investment in new areas — particularly network automation — was coming at the expense of progress elsewhere. Container support, for example, was seen as underdeveloped. Ansible Container, a project intended to give operators a familiar interface for container workflows, saw limited adoption in practice.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Their efforts with Docker have been disappointing, as they focus more on Ansible Container projects. It begs the question, &#8216;Why not just use shell?'&#8221;</p><cite>Joaquin Menchaca, goBalto Inc.</cite></blockquote>



<h2 class="wp-block-heading">Terraform: Easier to Use, Harder to Upgrade</h2>



<p class="wp-block-paragraph">HashiCorp Terraform had built a following among DevOps teams who found its HCL (HashiCorp Configuration Language) significantly more readable than CloudFormation&#8217;s verbose JSON templates. Its cross-cloud provider model was another major draw: teams could manage AWS resources, Google Cloud infrastructure, monitoring services like Datadog, and more — all from a single, consistent configuration language.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Terraform is a general language for working across clouds and various resources so that we can work with things like Datadog alerts, AWS resources or potentially spin up parts of Google&#8217;s cloud infrastructure, all from one place with one uniform configuration language.&#8221;</p><cite>Calvin French-Owen, Co-founder, Segment</cite></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;CloudFormation makes you want to poke your eyes out, whereas Terraform is much simpler to understand.&#8221;</p><cite>Calvin French-Owen, Segment</cite></blockquote>



<p class="wp-block-paragraph">The trade-off was instability in pre-1.0 releases. HashiCorp&#8217;s 0.9 release, for example, significantly changed how remote state was stored and managed — a change that was necessary for teams sharing infrastructure, but required substantial rework to adopt.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;We have to reimplement a few things on our side as far as our workflow and re-educate ourselves to move our state as it is now to the 0.9 version.&#8221;</p><cite>Dale Ragan, Senior Software Engineer, SAP Concur Technologies</cite></blockquote>



<p class="wp-block-paragraph">Teams using Terraform Enterprise also reported bugs in remote state management, leading some to prefer self-managed state stored in Amazon S3 rather than relying on the managed offering.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;In some cases, we&#8217;ve found it&#8217;s not quite a first-class citizen compared to when we were managing state ourselves and putting it on S3.&#8221;</p><cite>Calvin French-Owen, Segment</cite></blockquote>



<h2 class="wp-block-heading">The Stateful vs. Stateless Debate</h2>



<p class="wp-block-paragraph">Terraform&#8217;s use of state files to track real-world infrastructure was one of its defining characteristics — and one of its most polarizing. Tools like Ansible, Chef, and Puppet had traditionally taken a stateless, declarative approach: describe the desired state of the system and let the tool reconcile the difference. Terraform broke from this convention by maintaining a state file that records what infrastructure exists.</p>



<p class="wp-block-paragraph">Proponents argued that state tracking was genuinely useful: it let teams know exactly what resources existed, enabled remote state sharing across teams, and allowed infrastructure to be built incrementally on top of resources managed by others.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Knowing about the resources you have is important, and state gives you that. Also, remote state is tracked to allow teams to build on top of infrastructure they may not control.&#8221;</p><cite>Dale Ragan, SAP Concur Technologies</cite></blockquote>



<p class="wp-block-paragraph">Critics were more cautious. A corrupted or out-of-sync state file could lead to destructive outcomes — including accidental deletion of infrastructure with a single command.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Terraform is scary, because if the state is incorrect, you can destroy your entire organization&#8217;s infrastructure with a single command. Stateless has always been the preferred way to manage configuration, from CFEngine to Puppet, to Chef and to Ansible; Terraform broke away from this and tries to sell it as a feature.&#8221;</p><cite>Joaquin Menchaca, goBalto Inc.</cite></blockquote>



<p class="wp-block-paragraph">The mitigation, according to practitioners who had adopted Terraform at scale, was modularization. A well-structured, modular Terraform configuration limits the blast radius of any single operation — a monolithic configuration is far more vulnerable than one broken into composable, independently managed modules.</p>



<h2 class="wp-block-heading">Where Terraform Fits — and Where It Doesn&#8217;t</h2>



<p class="wp-block-paragraph">The consensus among practitioners at the time was that Terraform was not a wholesale replacement for Chef, Puppet, or Ansible — it occupied a different part of the stack. Terraform excelled at provisioning and managing cloud infrastructure: spinning up VPCs, compute instances, DNS records, load balancers, and similar resources. Configuration management tasks — installing packages, managing services, applying OS-level configuration — remained the domain of Chef, Puppet, and Ansible.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;You could call Terraform a subset of Chef, Puppet and Ansible. It&#8217;s a tool people like to get infrastructure up quickly, cloud-agnostically, without having to build out all the other stuff those other products necessitate.&#8221;</p><cite>Brandon Cipes, cPrime</cite></blockquote>



<p class="wp-block-paragraph">In practice, many teams used Terraform to provision infrastructure and then handed off to Ansible or Chef for configuration management — combining the strengths of each tool while accepting the overhead of maintaining expertise across multiple systems.</p>



<h2 class="wp-block-heading">Key Takeaways for IaC Practitioners</h2>



<ul class="wp-block-list"><li><strong>No single tool does everything.</strong> Most mature DevOps shops combine IaC tools, using each where it fits best. Plan for multi-tool complexity from the start.</li><li><strong>CloudFormation&#8217;s ubiquity matters.</strong> Even if your team prefers other tools, understanding CloudFormation remains important for communicating infrastructure intent within the AWS ecosystem.</li><li><strong>Ansible is approachable, but watch the gaps.</strong> Its YAML syntax integrates well with application code, but container support and specific integration areas may lag.</li><li><strong>Terraform&#8217;s pre-1.0 releases carry real risk.</strong> Breaking changes between minor releases require disciplined upgrade processes and thorough testing before applying to production state.</li><li><strong>Modularize Terraform configurations early.</strong> Monolithic configurations amplify the risk of state-related failures. Decompose infrastructure into small, independently managed modules.</li><li><strong>State management is a first-order concern.</strong> Whether you store Terraform state in S3, Terraform Cloud, or another backend, ensure it is versioned, locked, and backed up before operating at scale.</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/devops-shops-weather-growing-pains-with-infrastructure-as-code-tools/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
