• about reply
Storm Reply Logo
Menu
    Choose language:
    • about Reply
    Storm Reply Logo
    Focus On

    Article

    AWS CloudFormation

    AWS CloudFormation is a service that helps you model and set up your Amazon Web Services resources so that you can spend less time managing those resources and more time focusing on your applications that run in AWS.

    AWS CloudFormation gives you an easy way to model a collection of related AWS and third-party resources, provision them quickly and consistently, and manage them throughout their lifecycles, by treating infrastructure as code. A CloudFormation template describes your desired resources and their dependencies so you can launch and configure them together as a stack. You can use a template to create, update, and delete an entire stack as a single unit, as often as you need to, instead of managing resources individually. You can manage and provision stacks across multiple AWS accounts and AWS Regions.

    Benefits

    Automate best practices

    With CloudFormation, you can apply DevOps and GitOps best practices using widely adopted processes such as starting with a git repository and deploying through a CI/CD pipeline. You can also simplify auditing changes and trigger automated deployments with pipeline integrations such as GitHub Actions and AWS CodePipeline.

    Scale your infrastructure worldwide

    Manage resource scaling by sharing CloudFormation templates to be used across your organization, to meet safety, compliance, and configuration standards across all AWS accounts and regions. Templates and parameters enable easy scaling so you can share best practices and company policies. Additionally, CloudFormation StackSets enables you to create, update, or delete stacks across multiple AWS accounts and Regions, with a single operation.

    Integrate with other AWS services

    To further automate resource management across your organization, you can integrate CloudFormation with other AWS services, including AWS Identity and Access Management (IAM) for access control, AWS Config for compliance, and AWS Service Catalog for turnkey application distribution and additional governance controls. Integrations with CodePipeline and other builder tools let you implement the latest DevOps best practices and improve automation, testing, and controls.

    Manage third-party and private resources

    Model, provision, and manage third-party application resources (such as monitoring, team productivity, incident management, CI/CD, and version control applications) alongside your AWS resources. Use the open source CloudFormation CLI to build your own CloudFormation resource providers – native AWS types published as open source.

    Extend CloudFormation with the community

    The AWS CloudFormation GitHub organization offers open source projects that extend CloudFormation’s capabilities. The CloudFormation Registry and CloudFormation CLI let you define and create resource providers to automate the creation of resources safely and systematically. Using CloudFormation GitHub projects, you can do things like check CloudFormation templates for policy compliance (using cfn-guard), or validate use of best practices (using cfn-lint).


    Storm Reply IaC Best Practices

    At Storm Reply we have developed a set of best practices for AWS CloudFormation by leveraging the use of Infrastructure as Code (IaC) methodology.

    Organize your stacks by lifecycle and ownership

    Use the lifecycle and ownership of your AWS resources to help you decide what resources should go in each stack. Initially, you might put all your resources in one stack, but as your stack grows in scale and broadens in scope, managing a single stack can be cumbersome and time consuming. By grouping resources with common lifecycles and ownership, owners can make changes to their set of resources by using their own process and schedule without affecting other resources.

    Use cross-stack references to export shared resources

    When you organize your AWS resources based on lifecycle and ownership, you might want to build a stack that uses resources that are in another stack. You can hard-code values or use input parameters to pass resource names and IDs. However, these methods can make templates difficult to reuse or can increase the overhead to get a stack running. Instead, use cross-stack references to export resources from a stack so that other stacks can use them. Stacks can use the exported resources by calling them using the Fn::ImportValue function.

    Reuse templates to replicate stacks in multiple environments

    After you have your stacks and resources set up, you can reuse your templates to replicate your infrastructure in multiple environments. For example, you can create environments for development, testing, and production so that you can test changes before implementing them into production. To make templates reusable, use the parameters, mappings, and conditions sections so that you can customize your stacks when you create them.

    Use nested stacks to reuse common template patterns

    As your infrastructure grows, common patterns can emerge in which you declare the same components in each of your templates. You can separate out these common components and create dedicated templates for them. That way, you can mix and match different templates but use nested stacks to create a single, unified stack. Nested stacks are stacks that create other stacks. To create nested stacks, use the AWS::CloudFormation::Stack resource in your template to reference other templates.

    Create change sets before updating your stacks

    Change sets allow you to see how proposed changes to a stack might impact your running resources before you implement them. AWS CloudFormation doesn't make any changes to your stack until you run the change set, allowing you to decide whether to proceed with your proposed changes or create another change set.

    Use code reviews and revision controls to manage your templates

    Your stack templates describe the configuration of your AWS resources, such as their property values. To review changes and to keep an accurate history of your resources, use code reviews and revision controls. These methods can help you track changes between different versions of your templates, which can help you track changes to your stack resources. Also, by maintaining a history, you can always revert your stack to a certain version of your template.

    RELATED CONTENTS

    Article

    AMAZON ECS

    Highly scalable, fully managed, and high performance container orchestrator to deploy containerized application on AWS.

    Cloud Migration

    Service

    AWS for Independent Software Vendors

    Public clouds are constantly gaining importance - especially for independent software vendors (ISVs). We explain what is behind this and how the migration to the cloud succeeds with the support of our experts.

    31.01.2023 - 02.02.2023 / Barcelona

    Event

    IoT Solutions World Congress 2023

    Sense Reply and Storm Reply participate at the IoT Solutions World Congress 2023 event. Experts and innovators will share their expertise and use cases on disruptive technologies such as the Internet of Things, Artificial Intelligence, Digital Twins, Augmented Reality and Quantum Computing .

     ​
     
     
     
    Reply ©​​ 2023 - Company Information -
     PrivacyCookie Settings​
    • Abou​t Reply​​​​
    • Investors​​​
    • Newsroom
    • Follow Reply on
    ​
    • ​About Storm ​Reply​
    • Privacy & Cookies Policy
    • Information (Client)
    • Information (Supplier)