Developing a Graphical User Interface for Describing Cloud-native Applications for Elastic Container Platforms

28 Jun 2018

Meta

  • Author: Yuhang Chen
  • State: completed
  • Study programme: Information Technology
  • Degree: Bachelor (B. Sc.)
  • Company: CoSA
  • Thesis report

Thesis

Cloud-native applications are intentionally designed for the cloud in order to leverage cloud platform features like korizontal scaling and elasicity - benefits coming along with cloud platforms. In addition to classical (and very often static) multi-tier deployment scenarios, cloud-native applications are typically operated on much more complex but elastic infrastructures. Furthermore, there is a trend to use elastic container platforms like Kubernetes, Docker Swarm or Apache Mesos. However, describing this service can be extensive and platform specific. Therefore, we developed a domain specific language for describing cloud-native applications, including features like model-to-model generation for specific elastic container platforms.

In this thesis, a graphical user interface for describing cloud-native application for multi-cloud deployments has to be implemented.

For this purpose, the following sub-tasks have to be dealt with and documented:

  • Familiarization with UCAML (Universal Cloud Application Modeling Language), cloud-native applications (especially Docker), cloud computing and elastic container platforms
  • Identification of the GUI requirements
  • Design the software architecture of the GUI service
  • Implementation and evaluation of the GUI
  • Implementation of the GUI as a web-service
  • Automatic validation of the user input
  • Practical evaluation of the GUI by using it for describing a cloud-native demo application (e.g. the Sock Shop)
  • Writing a developer documentation

Note: Should individual aspects shown to be to difficult to achieve during the processing of this work, the task can be adapted - after plausible proof of difficulty.