How can a quality automation engineer add value in aws?



  • 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:

    CloudFormation
    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

    Autoscaling
    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

    CloudWatch
    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

Log in to reply
 

Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2