Skip to content

Instantly share code, notes, and snippets.

@keithoconnell
Last active April 10, 2024 17:44
Show Gist options
  • Save keithoconnell/c87d956283d731ec72c83a6c2f5a0ea2 to your computer and use it in GitHub Desktop.
Save keithoconnell/c87d956283d731ec72c83a6c2f5a0ea2 to your computer and use it in GitHub Desktop.

DevOps Technical Assignment 01

The point of this exercise is to demonstrate capabilities with some of the core technologies we use on a day-to-day basis. This is completely “open book” and meant to be completed within one day. All of this can be googled. If you get stuck, feel free to reach out for guidance. This is as much about the process as it is the result.

Requirements

  • Create a set of terraform modules that will provision a basic AWS environment. AWS resources provisioned should include the following:
    • A VPC
    • Public subnet(s)
    • Private subnet(s)
    • A custom security group
  • Create terraform scripts that leverage your modules to instantiate the above resources. The target environment should contain the following:
    • 1 VPC
    • 2 public subnets
    • 2 private subnets
    • 1 security group with a rule allowing traffic from anywhere to port 443 for resources in the security group
  • Naming for these resources should be consistent, prepending a consistent prefix to each resource name
  • Follow best practices for externalization, making your Terraform modules potentially useable for multiple regions
  • Version control all of these files into a public GitHub repository. Meaningful and concise commit messages that show how you worked through this problem are a big plus.

Submission

Please reply to the email with the url of the git repository containing your code; this repository should include the terraform code that you write to provision the resources along with any supporting assets (i.e. bash scripts, etc.). Please also include the terraform state file from a successful run of your code and the log output of the terraform apply command.

NOTE: AWS offers a free tier of many of their services (including S3) for new accounts. If you do not have a personal AWS account, we recommend that you create an account to test out your code. None of the activities in this exercise require anything outside of the Free tier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment