ITOps Cloud Automation Puzzle
The aim of this puzzle is to assess coding style and efficiency as well as demonstrate
breadth of knowledge across a number of available cloud technologies applicable to the role.
This puzzle will demonstrate limited application-level coding along with infrastructure-level
coding. It is anticipated that this puzzle take no longer than 3 hours to complete given a
moderate level of coding and exposure to cloud-based technologies.
This puzzle will require the use of commercial cloud technologies, however, there are
providers available that offer suitable tools under a free trial basis that can be used.
Genie Solutions will not be liable for any usage charges incurred during the development
of the puzzle solution and we will use our own access credentials for our own accounts
to run and test the candidate's solutions.
It is expected that candidates provide sufficient commenting within the codebase and provide
a root-level README file detailing how to run and access the application from a local machine.
The candidate's solution should also provide a small test suite able to test any logic/calculations
written by the candidate and the README file should provide instructions on how to run the test suite
from a local machine.
It is expected that any user input will be validated appropriately for its purpose.
Task & Requirements
Create a simple web application that is able to interface with a Amazon Web Services
via the relevant SDK's. The choice of languages and/or frameworks is at the discretion of the candidate.
The web application will allow the user to input:
- Qty (number)
- Name (string)
This input can be via a standard web form. Styling and appeal of the web form will not be taken into account
when assessing the viability of this solution.
Upon clicking the "Deploy" button, the
qtynumber of EC2 instances will be booted within the AWS account and will have
nameapplied as the instance name. The instances should be
t2.microinstances running an Amazon Linux AMI.
The web application will display some information about the instances booted (eg. ID, public IP, boot image) and
in addition to this AWS information, also display whether the
qtyvalue is a prime number.
The web application will provide a facility to destroy the instances created during its use.
It shall not allow the destruction of instances created outside of the application.
The application will be built into a docker container able to run in two modes:
- application (Mode to run the web server)
- test (Mode to execute the test suite)
The source code and docker container should be made publicly available via the candidates preferred providers.