Challenge Overview
-
Migrate the provided calendar tool to use AWS services.
Project Background
We have a calendar tool, and we want to migirate to AWS.
Technology Stack
-
Python
-
AWS Lambda
-
AWS API Gateway
Requirements
Here is the codebase: https://github.com/linkedin/oncall
The existing codebase is based upon the Falcon web framework, which serves the REST API and renders the UI pages.
The UI pages call the REST API on server side, and the Jinjia2 python template library is used to render the page.
In this challenge, we want to break existing codebase into 2 parts:
-
REST API - the api part should be moved to the AWS Lambda, and we expect to make the existing code work in Lambda by adding serverless feature (refer to this: https://read.iopipe.com/the-right-way-to-do-serverless-in-python-part-2-63430131239). This allows us to make minimum changes to existing code.
-
UI - The UI part should stay almost the same, and it’s only changed to communicate with the Lambda through the AWS API Gateway. It should be deployed to AWS EC2.
Note that the the existing codebase contains some api unit-tests (in e2e directory), you can use it to verify the API is migrated correctly.
Please provide a working deployment for the reviewer to test the functionality, and ensure all the functionalities from existing codebase are migrated correctly.
Final Submission Guidelines
Submission Deliverable
-
Two codebases for REST API and UI respsectively.
-
Clear deployment guide and verification guide