...
Recommendation: Web Portal
Web Portal Design
The web portal will be built with the following components:
- Spring Web MVC framework w/ Spring Boot - Given the lack of support for Play Framework, we decided to try using Spring MVC instead.
- AWS Elastic Beanstalk - We found that Heroku is too simple and too restrictive for our use-case. On the other end of the spectrum, AWS OpsWorks is powerful but incredibly complex. We chose Elastic Beanstalk because it gives us enough power to do what we need to do without the restrictions of Heroku. Additionally, Heroku is currently only available in US an EU, while Elastic Beanstalk is available anywhere AWS is available.
- Travis - Travis is a hosted solution while Jenkins requires us to build and maintain our own infrastructure. In the interest of rapid development, we chose to use Travis over Jenkins. We also considered AWS Code Pipeline. Unfortunately, Code Pipeline doesn't host any builds itself and requires Jenkins as a build solution.
- Maven - Maven was chosen as a dependency management system because it's well-supported and most (if not all) Sage engineers are already familiar with Maven.
Future Improvements
These are things we want for future versions, but not things we need for the initial launch.
...