17: Automation

Why Use Automation

  • Manual build are a gamble. You are more likely to make some costly errors.
  • Computers don't make mistakes.


  • Time: You have more important things to do.
  • Security: Manually you will create a security hole.
  • Consistency: You get the same results, every time.

Upcoming Services to learn about

  1. CloudFormation: Provision resources quickly and consistently and manage them throughout their lifecycles by treating infrastructure as code.
  2. Elastic Beanstalk: Easy-to-use all in one service for deploying and scaling web applications and services developed with a variety of supported languages.
  3. Systems Manager: Gives you the ability to easily patch, update, maange and configure your EC2 instances along with on-premise architecture.

Exam tip:

  1. Replace manual steps with automated tools.
  2. Automate yourself out of your job.
  3. You'll need to know the right tool for the right job.
  4. Benefits to automatio: it's more reliable and faster.
  5. Immutable: allows you to easily create and destroy your architecture as needed.


  • Step 1 Write code: Declarative JSON or YAML.
  • Step 2 Deploy template: CF will go through the process of making the needed AWS API calls on your behalf.

Exam tips:

  • CF is great for immutable architecture. You can easily pick that template up and run it anywhere you want.
  • Know the basics of a CL tempalte and what the sections do.
  • Cross-Region: Hard-coded values and resource IDs can be the reason templates fail to create.
  • Troubleshooting: CF rolls back to last known good state (or deletes if first time).
  • It's just an API call.
  • Immutable: Can easily create and destroy your entire architecture.

Elastic Beanstalk

Platform-as-a-Service. A single-stop app deployment model.

You bring your code and the provider builds everything for you, deploys your app and manages going forward.

EB is that PaaS tool for AWS.

  • Automation: EB automates all of your deployments. You can template what your environment looks like.
  • Deployment: It handles deployments for you.
  • Management: Keeps instances online and healthy.

In the dashboard, you can click and deploy a sample application.

You can edit extra settings around things that we have seen previously from other services.

Exam tips:

  • EB is easy.
  • Not heavily featured on the exam.
  • Platform types: contains, Windows and Linux applications.
  • Hand holding: a great solution to start with, but in general it's only for simpler web applications.
  • Traditional: not serverless.

Systems Manager

A suite of tools designed to let you view, control and automate both your AWS architecture and on-prem resources.

Features of Systems Manager

  • Automation documents: control your instances of AWS resources. Technically now called runbooks.
  • Run command: execute commands on your hosts.
  • Patch manager: Managers your app versions.
  • Parameter Store: Securely store your secret values.
  • Hybrid Activations: Control your on-premises architecture using Systems Manager.
  • Session Manager: Remotely connect and interact with your architecture.

There is more, but won't be covered in the associate exam.

Prerequisites to use it:

  1. An EC2 instance created.
  2. A systems manager agent installed on that instance.

A role is required for the EC2 in order to talk to the Systems Manager agent.

Exam tips:

  • Systems Manager will rarely be called out by name. Instead, the name of the features will be used. Example: Automation documents (runbooks) to fix S3 bucket permissions or using Session Manager to connect to an instance.
  • You don't need to deep dive.
  • On-site support: both on prem and cloud architecture.
  • Unpaid SysAdmin: If an admin can do it, Systems Manager can as well.
  • Automation Documents: Usable by AWS Config to enforce architecture state.