What opportunities exist for automation within AWS?

What tools and services can and should I be using and familiar / expert in for being an automation engineer in 2020?


Improving quality through automation in AWS

There are many opportunities for adding value and improving quality by using automation within the AWS ecosystem. This continues the quality software path from Manual Testing to Automated Scripts to Infrastructure As Code. Automation in AWS provides rich new areas of learning and practice for an automation engineer in 2020 and will require the rapid acquisition of new skills and approaches plus the de-emphasis of older skills no longer as relevant.

An increasing part of the role is essentially becoming a devops engineer.

The primary areas of automation within AWS that I will examine here are:

Infrastructure as Code is the Holy Grail of modern development. Aws have a detailed offering with CloudFormation to create controlled, replicable infrastructure. You create templates in YAML/JSON and use them as the method to provision the resources for a given implementation (stack). You can eliminate instance drift with immutable deployments.

OpsWorks Lets you use chef and puppet to automate setting up servers and installing software.

Device Farm
The aws Mobile device farm allow you to test both native and mobile web applications on a wide number of Android and Apple devices. But not desktop webbrowsers was also my finding.

Version Control
Code Commit provides versioning, Pull Requests and git integration. So far I still like github for PR's more.

API Gateway Environments
Built in support for your different development, test and production environments to reduce manual management of them.

CI - Continuous Integration
CodeBuild can be used to automatically build your code and run your tests in the cloud. My favorite tools is CircleCI and I don't think the aws offering matches it in ease of use yet but that will likely change as there is churn in this area.

CD - Continuous Deployment
CodeDeploy deploys code to environments and gives options for how to roll out changes automatically

Code Pipeline (CI/CD) CodePipeline offers the ability to visually manage and automate the overall Integration / Deployment processes

Automatically provision servers based on machine utilization

Elastic Load Balancing
Automatically provision services based on user need

RDS Failover
Automatic failover to a Multi-AZ synchronous read replica

Automatic Notification of when things are a bit out of whack. Costs, machines, usage, many metrics

Pretty much any services which describes 'automatically doing x' is an opportunity for an automation engineer, because, at some point, a person needs to write that automation or the parameters to use. At least for a little longer.

Some resources that have helped me:

  • Kindle books (many)
  • aws certifications (provide structure and pace to learning)
  • aws site - high quality Q&As, Whitepapers, etc.
  • Udemy courses - amazing value, high quality
  • +1, Thanks Michael for such useful info It would be great if can add few good links for self study further for aspiring QA folks. – Vishal Aggarwal Sep 29 '19 at 22:31
  • Updated. I mixed up CloudFront and CloudFormation names. Corrected. CloudFormation (IAC) is what I meant – Michael Durrant Oct 16 '19 at 12:40
  • +1 - Nice work (as always) Michael. – Brian Oct 16 '19 at 17:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.