Challenge Overview

In this challenge series we will design the architecture and implement a POC serverless SPA using various AWS services.

Our client currently has an Angular 2+ Single Page App hosted on an EC2 instance with Apache serving it. This infrastructure uses a firewall for DDoS, XSS, Basic SQL, and other protection. It employs Apache Webgate to check for authentication tokens and redirect to Oracle Access Manager (OAM) if the token is not found, for SSO/login. Our goal in this challenge series is to define and implement a POC architecture within the AWS ecosystem to replace the current EC2 setup with a serverless infrastructure.

In previous challenges we have developed a POC app (Angular) with SSO implemented using Lambda@Edge - it intercepts all requests and redirects to Auth0 if the request is unauthorised (sso cookie). Angular app is served using Cloudfront. Another lambda function is used to insert custom headers to http response. Amazon WAF and Shield are used to prevent DDoS, XSS, etc. 

In this challenge we want to develop a simple calculator for the costs of running this app with all infrastructure, based on number of users. Please read the application docs to get a list of services are used and how are they configured - the calculator has to include cost estimates for all used services.
It's up to you how you will implement the calculator as long as the user can configure (through the UI) the input values (number of users, app storage size, number of WAF rules, etc) and get the output in a spreadsheet format broken down by each service. You can implement the calculator as a standalone app or as an Excel spreadsheet. For example the user might configure 100 users/hr, 15 waf rules, 1gb storage and get the costs for all involved services.



Final Submission Guidelines

Submit the code for the calculator
Submit a short deployment/verification guide
Submit a short demo video

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30064514