Giter VIP home page Giter VIP logo

base-eng-test's Introduction

Cloud Systems Engineering Tests

Please fork this repo and begin your work locally.

Scope of Work

Deploy a simple python application to AWS that responds to HTTP POST requests and returns a JSON response. All resources need to be provisioned using Terraform and state managed through Terraform Cloud.

High level objectives:

  • Configure a pipeline in Github actions and deploy the packaged python code. (CircleCi can be used if Github actions is not preferred)
  • Authenticate with AWS (Applicants choice)
  • Review and deploy the Terraform configuration to provision the required resources.
  • Display proper Terraform state management through Terraform Cloud.
  • Provide the API endpoint URL to the deployed application.

Prerequisites

  • Credentials to sandbox AWS account will be provided to you.
  • Github (or other VCS provider supported by CircleCI) account
  • CircleCI account (If Github is not preferred)
  • Python3 (At least version 3.10)
  • Pipenv
  • AWS Boto3 (at least version 1.26.0)
  • AWS CLI
  • Terraform (At least version 1.5.0)
  • Terraform Cloud Account (TFC provide a free tier)

Deployment Success Criteria

Deployment is largely up to the applicant on how to execute this. Below are the basic rquirements:

  • The fundamental requirement is to successfully complete provisioning and deployment using Terraform.
  • Deployment should be achieved through a chosen pipeline, using best practices.
  • Test and validate terraform configuration before applying.
  • Correctly package and deploy the code to a Lambda function. The type of Lambda function is up to the applicant. (Zip archive, container, etc.)
  • The function should be able to respond to HTTP POST requests and return a JSON response.
  • Deployment pipeline should be able to update the Lambda function with new code changes.

References

Github Actions

CircleCI

AWS

Terraform

LICENSE See LICENSE

base-eng-test's People

Contributors

kolly83 avatar david-base avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.