17: Automation
Why Use Automation
- Manual build are a gamble. You are more likely to make some costly errors.
- Computers don't make mistakes.
Benefits
- 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
- CloudFormation: Provision resources quickly and consistently and manage them throughout their lifecycles by treating infrastructure as code.
- Elastic Beanstalk: Easy-to-use all in one service for deploying and scaling web applications and services developed with a variety of supported languages.
- Systems Manager: Gives you the ability to easily patch, update, maange and configure your EC2 instances along with on-premise architecture.
Exam tip:
- Replace manual steps with automated tools.
- Automate yourself out of your job.
- You'll need to know the right tool for the right job.
- Benefits to automatio: it's more reliable and faster.
- 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:
- An EC2 instance created.
- 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.