Skip to content

Milestone 3 Proposal

CleverParty edited this page Apr 23, 2020 · 8 revisions

Problem Statement :

We have observed that our system seems to falter after the number of users/clients exceeds 1000, this serves as a bottleneck that we would like to tackle by using a leading Service Mesh technology like linkerd, or istio. As the service mesh architecture has been a relatively new addition to the software development arena. We would like to address the issue with secure access to our services, and securing the communication between micro-services through the use of in-built features in istio and linkerd to test their viability.

We also noticed that the traffic to the endpoints on our system do not natively support load balancing, we plan to implement the load-balancing features on istio and linkerd. The sidecar implementations of service meshes like istio and convoy also provide additional secure communication pipelines between essential microservices, we would like to test and compare between the different service meshes.

Service mesh Implementation:

We have observed that our system seems to falter after the number of users/clients exceeds 1000, this serves as a bottleneck that we would like to tackle by using a leading Service Mesh technology like linkerd, or istio. We plan to try other systems like kong and envoy to see if they can offer any performance advantages to our current system.
The perfomance advantage would mainly come about in the different service meshes support for circuit breaking. As linkerd seems to have an inbuilt support for testing "backpressure" , we would like to test our system with it.

Implementation :

Phase 1:

  • Identify the different service meshes and their core functionalities, and see the individual benefits each service would provide to our service.
  • We'd like to use the capability of the service mesh integration as a measure of the systems' viability.

Phase 2 :

  • Creating a version of our system that handles the load of more than 1000 users/clients.
  • Test and compare circuit breaking capabilities of istio and linkerd, with the rich set of graphing features that come as a part of these systems.

Phase 3 :

  • Creating an open layout version of our system, that users can interact with the features of our system.
  • Testing the bottlenecks of our system after the service mesh integration.

Thread for discussion :