AWS CloudFormation

Simplified way to model, create, and manage a collection of AWS resources. You provide a document with the resources and services your architecture requires. It is free and enables you to use version control. Even though it can create many resources, it can’t create ALL resources.

The create stack action runs the template and creates the resources. It only affects one region across multiple services. Before applying an update, you can use a Change Set to preview the changes in your infrastructure. Deletion Policies can be used to preserve or backup a resource when a stack is deleted/updated, if no policy, AWS deletes the resource.

Drift is detected when a user makes a change to the infrastructure outside CloudFormation. Can be detected running drift detection.

Infrastructure as Code (IaC)

Process of provisioning and managing cloud resources being human readable and machine consumable. They allow you to roll back to previous versions.

Benefits are reusability, repeatability, and maintainability

AWS QuickStarts

Built by experts, these are quick ways to create well-architected solutions. They are based on CloudFormation templates that you can run. You can copy the files or customize them to your needs.

AWS Service Catalog

Create, manage, and distribute catalogs of approved products to end users.

Templates

Templates can be written in JSON (more widely used) and YAML (less verbose and can have comments). They should be scoped to different areas, applications, or department needs.

Components (CloudFormation template version is 2010-09-09):

Automate Deployments

AWS Systems Manager (SSM)

Automates operational tasks such as applying EC2 patches. Simplifies resource and application management. Can manage on-premise services or in the cloud.

Commands:

AWS OpsWorks

Configuration management service. Automates how servers are deployed, configured, and managed.

Types:

AWS Elastic Beanstalk

Managed service used to deploy web applications (Tomcat, Passenger, Puma, and Docker). It handles infrastructure provisioning and configuration (RDS as DB), load balancing, logging, deployment, auto scaling, health check, and analysis and debugging. It is free, you only pay for the underlying resources. All resources created are fully visible in the console.

Lightsail

Offers everything needed to launch an application or website → Ideal for simple workloads and fast deployments. Cost-effective monthly plan.

AWS Amplify

Simplifies the development of full-stack applications. No cloud expertise required.

AWS Device Farm

Application testing service using a range of desktop and mobile browsers. Better simulate real-world environments and reproduce errors.

Migration