Security and Scalability - sebas0163/My_RESTaurante GitHub Wiki

Security considerations

  • Authentication an Authorization: This becomes a critical factor when the service anticipates a significant amount of users. Authentication is handled by username/password pair, and once the user's been authenticated, the session is maintained by using JWTs and encrypted using HTTPS.

  • Data Encryption: Every piece of data transferred to the backend API is secured on-the-flight by means of HTTPS.

Scalability Considerations

  • Horizontal Scalability: By the use of minikube, horizontal scalability can be automated using tools like HorizontalPodAutoscaler we can get a seamless scaling, being able to distribute loads across available replicas and maintaining the desired performance.
  • Vertical Scalability: While not as automated as horizontal scalability, it has to be done manually, minikube allows to define resource requests and limits for each pod.
  • Database: The use of a noSQL database makes it easy to add new dishes to the menu as well as more future features without disrupting the information already stored.