This repository complements the masters thesis: Evaluating Cost Implications of Cloud-Native Application Characteristics with a Focus on Reliability Aspects.
The repository includes the review protocol of the conducted systematic literature review, as well as the implementation of the microserivce application with a focus on the reliability aspects for cloud-native applications defined by Lichtenthäler and Wirtz (Paper, Model).
The literature review was conducted to identify common research approaches to analyze and work with cloud costs and cloud pricing strategies. The literature serves as a basis for categorizing cloud costs and identifying how these are linked to software quality aspects.
The review protocol contains all steps of the literature review, as well as the individual search strings, selection criteria, and the resultset.
Aside from the literature review, the product factors of the quality aspect Reliability from the cloud-native quality model by Lichtenthäler and Wirtz were implemented using the microservice reference application Teastore.
The baseline architecture of the cloud-native application deployment was implemented using the AWS EKS.
In addition, the implementation options for each product factor were added in a modular manner to complement the baseline architecture.
The repository is structured as follows: Each directory of a product factor contains the various options and solutions that contribute to the implementation of the reliability aspect. Corresponding implementation instructions are provided, as well as corresponding changes to the workload definition of the TeaStore.
The following table shows a summary of implemented concepts.
Product Factor | Implementation Options | ||||
---|---|---|---|---|---|
Built-In Autoscaling | AWS Auto Scaling Groups & Policies | Cluster Autoscaler | Karpenter | Horizontal Pod Autoscaler | Vertical Pod Autoscaler |
Physical Data / Service Distribution | StatefulSets and Persistent Volumes | AWS Relational Database Service | Node / Pod (Anti-) Affinity Rules | Pod Topology Spread Constraints | |
Guarded Ingress | AWS Web Application Firewall | Ingress Controller | (ModSecurity) | ||
Health and Readiness Checks | Liveness and Readiness Probes | AWS Load Balancer Health Checks | |||
Seamless Upgrades | K8s Rolling Update Strategy | Blue-Green Update Strategy |