AWS Bites by AWS Bites
AWS Bites
Categories: Technology
Listen to the last episode:
In this episode, we discuss 5 different ways to extend CloudFormation capabilities beyond what it natively supports. We started with a quick recap of what CloudFormation is and why we might need to extend it. We then covered using custom scripts and templating engines, which can be effective but require extra maintenance. We recommended relying instead on tools like Serverless Framework, SAM, and CDK which generate CloudFormation templates but provide abstractions and syntax improvements. When you need custom resources, CloudFormation macros allow pre-processing templates, while custom resources and the CloudFormation registry allow defining new resource types. We summarized recommendations for when to use each approach based on our experience. Overall, we covered multiple options for extending CloudFormation to support more complex infrastructure needs.
💰 SPONSORS 💰 AWS Bites is brought to you by fourTheorem, an AWS Partner that specialises in modern application architecture and migration. If you are curious to find out more and to work with us, check us out on fourtheorem.com!
In this episode, we mentioned the following resources:
- Ep. 31 "Cloudformation or Terraform": https://awsbites.com/31-cloudformation-or-terraform/
- Serverless Framework: https://www.serverless.com/
- SAM (Serverless Application Model): https://aws.amazon.com/serverless/sam/
- CDK (Cloud Development Kit): https://aws.amazon.com/cdk/
- Ep. 119 "The state of AWS 2024 (AnsWeRS community survey commentary)": https://awsbites.com/119-the-state-of-aws-2024-answers-community-survey-commentary/
- Ep. 93 "CDK Patterns - The Good, The Bad and The Ugly": https://awsbites.com/93-cdk-patterns-the-good-the-bad-and-the-ugly/
- SLIC Watch: https://github.com/fourTheorem/slic-watch
- AWS SSO Utils by Ben Kehoe: https://github.com/benkehoe/aws-sso-util
- JavaScript library to safely create custom CloudFormaion resources: https://www.npmjs.com/package/safe-cfn-custom-resource
- Clouformation CLI: https://github.com/aws-cloudformation/cloudformation-cli
- Cloudformation CLI docs: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html
- Cloudonaut podcast "3½ ways to workaround missing CloudFormation support": https://cloudonaut.io/three-and-a-half-ways-to-workaround-missing-cloudformation-support/
Do you have any AWS questions you would like us to address? Leave a comment here or connect with us on X, formerly Twitter: - https://twitter.com/eoins - https://twitter.com/loige
Previous episodes
-
125 - 121. 5 Ways to extend CloudFormation Thu, 18 Apr 2024
-
124 - 120. Lambda Best Practices Thu, 04 Apr 2024
-
123 - 119. The state of AWS 2024 (AnsWeRS community survey commentary) Fri, 22 Mar 2024
-
122 - 118. The landing zone: Managing multiple AWS accounts Fri, 15 Mar 2024
-
121 - 117. What do EBS and a jellyfish have in common? Fri, 08 Mar 2024
-
120 - 116. What is RAM (Resource Access Manager)? Fri, 01 Mar 2024
-
119 - 115. What can you do with Permissions Boundaries? Fri, 23 Feb 2024
-
118 - 114. What's up with LLRT, AWS' new Lambda Runtime? Fri, 16 Feb 2024
-
117 - 113. How do you revoke leaked credentials? Fri, 09 Feb 2024
-
116 - 112. What is a Service Control Policy (SCP)? Fri, 02 Feb 2024
-
115 - 111. How we run a Cloud Consulting business Fri, 26 Jan 2024
-
114 - 110. Why should you use Lambda for Machine Learning? Fri, 19 Jan 2024
-
113 - 109. What is the AWS Project Development Kit (PDK)? Fri, 12 Jan 2024
-
112 - 108. How to Solve Lambda Python Cold Starts Fri, 15 Dec 2023
-
111 - 107. Expert opinions from re:Invent 2023 Fri, 08 Dec 2023
-
110 - 106. Luciano at re:Invent Fri, 01 Dec 2023
-
109 - 105. Integration Testing on AWS Fri, 24 Nov 2023
-
108 - 104. Explaining Lambda Runtimes Fri, 17 Nov 2023
-
107 - 103. Building GetAI Features with Bedrock Fri, 10 Nov 2023
-
106 - 102. Getting Ampt with Jeremy Daly Fri, 03 Nov 2023
-
105 - 101. Package and Distribute Lambda Functions for fun and profit Thu, 26 Oct 2023
-
104 - 100. Exploring Ampt, a new way to build cloud apps on AWS Thu, 19 Oct 2023
-
103 - 99. The fears of adopting AWS (and how to fight them) Thu, 12 Oct 2023
-
102 - 98. Is AWS Going to Kill Pinpoint? Fri, 06 Oct 2023
-
101 - 97. Configuration for AWS Applications (Env vars, SSM, Secrets Manager, AppConfig) Thu, 28 Sep 2023
-
100 - 96. AWS Governance and Landing Zone with Control Tower, Org Formation, and Terraform Thu, 21 Sep 2023
-
99 - 95. Mounting S3 as a Filesystem Thu, 14 Sep 2023
-
98 - 94. Get the Most out of CloudTrail with Athena Thu, 17 Aug 2023
-
97 - 93. CDK Patterns - The Good, The Bad and The Ugly Thu, 10 Aug 2023
-
96 - 92. Decomposing the Monolith Lambda Thu, 03 Aug 2023
-
95 - 91. Our Journeys into Software and AWS Thu, 27 Jul 2023
-
94 - 90. 9 Ideas that would Skyrocket AWS to New Heights Thu, 20 Jul 2023
-
93 - 89. Should you simulate AWS locally? Thu, 13 Jul 2023
-
92 - 88. What is VPC Lattice? Thu, 06 Jul 2023
-
91 - 88. What is VPC Lattice? Tue, 06 Jun 2023
-
90 - 87. Interviewing for AWS Roles Thu, 29 Jun 2023
-
89 - 86. How do you integrate AWS with other clouds? Thu, 22 Jun 2023
-
88 - 85. Tip for Attending AWS Events Thu, 15 Jun 2023
-
87 - 84. Are VPCs an anti-pattern? Thu, 08 Jun 2023
-
86 - 83. Bucket List of S3 Best Practices Thu, 01 Jun 2023
-
85 - 82. Redis on AWS: Is ElastiCache the Right Choice? Thu, 25 May 2023
-
84 - 81. Remote VSCode with EC2 and Cloud9 Thu, 18 May 2023
-
83 - 80. Can you do private static websites on AWS? Thu, 11 May 2023
-
82 - 79. How do you do Functionless APIs? Thu, 04 May 2023
-
81 - 78. When do you need a bastion host? Thu, 27 Apr 2023
-
80 - 77. How do you use Lambda Response Streaming? Thu, 20 Apr 2023
-
79 - 76. Unboxing AWS Copilot Thu, 13 Apr 2023
-
78 - 75. GitHub Copilot and ChatGPT: Game Changers for Developers? Thu, 06 Apr 2023
-
77 - 74. Function URLs vs API Gateway Thu, 30 Mar 2023
-
76 - 73. What is AWS Application Composer? Fri, 24 Mar 2023