To provide a centralized resource management tool that provides a low latency container management system, cluster matrics gathering, resiliency management, and finally provide the optimal microservice deployment strategy.
- Need to configure multiple monitoring sources to make an effective decision.
- Difficult to manage and maintain the Kubernetes cluster manually in large-scale microservice applications.
- Even after an issue has been identified, it might be difficult to comprehend why it happens.
- How to reduce the network latency added by the containers to the Kubernetes cluster.
- How effective is the proposed optimization model compared to current optimization models?
- How monitor and structure pod-level and app-level matrics to determine optimal deployment strategy?
- Can the current container management system reduce the network overhead added to the Kubernetes cluster?
- How to maintain resiliency in optimal microservice deployment?
- Create a centrality analysis layer to identify the importance of a particular service to the cluster using approaches such as centrality analysis.
- Develop an algorithm that predicts the load of the microservice through the time series data queried from the cluster.
- Identify the important factors associated with the performance bottlenecks in the microservice-based cluster.
- Facilitate the development of an autoscaling policy taking the optimal deployment strategy into account.
- Evaluate the effectiveness of the proposed deployment strategy of the optimization server compared to the existing strategy.
- Configure Kubernetes Cluster
- Configure Istio, Prometheus, Graphana, Kiali in the Kubernetes cluster
- Get the time series metrics of the microservices and nodes from the above, open-source tools
- Implement a way to structure those gathered metrics properly and send them to a persistence database and exposed through an API
- Create a namespace inside the Kubernetes cluster & implement the server
- Develop a script to fetch the latest code from the repository
- Analyze the Dockerfile and record required base images to build the container image
- Store the container images metadata inside the database
- Store built container images inside the Fast-Provider storage server
- Implement Kubernetes deployment configuration that use the Fast-Provider machanism
- Gathers system data through Datadog
- Build a monitoring server
- Provide a resilience management system to handles the failures of the system
- Docker Hub
- Kubernetes
- Azure Kubernetes Server (AKS)
- Azure Container Registry (ACR)
- Grafana
- Prometheus
- Kiali
- Istio Service Mesh
- Jupyter Notebook
- Numpy
- TenserFlow
- Anaconda
- Datadog
- Chaos Monkey
- Chaos Toolkit
- Golang (Go)
- Python
- Node JS
- Java
- React
- Spring Boot
- Express
- Redux