In today’s distributed systems, service mesh technologies like Istio are vital tools for DevOps teams and Site Reliability Engineers (SREs) to monitor and manage service meshes comprising multiple microservices across Kubernetes clusters. The Istio control plane allows engineers to observe the service mesh and define governance policies for traffic control, network security, and resiliency. However, creating and updating these policies in real time is prone to human error and misses the potential of machine learning (ML). This paper introduces a novel framework for the DevOps engineers to divide an enterprise application into several smaller, programmable, self-managed service domains comprising fewer interconnected microservices in the form of a sub graph or traffic zone. The DevOps engineer can program these traffic zone to autonomously detect and respond to anomalies in the respective traffic zone using a Service Mesh Manager (SMM) at a granular level. The SMM uses ML model to observe the telemetry data, learn traffic patterns and find traffic anomaly. Further, it triggers an automation, to dynamic adjust the Kubernetes and Istio YAML policy that controls the traffic flow and resource allocation without constant human intervention. The ML model is matured using a novel MLOps pipeline with collaborative inputs from the data-scientist, ML engineer and DevOps engineer. The ML model used by the SMM and the related automation is continuously improved based on feedback provided by the DevOps practitioners. This SMM based approach would result in more efficient microservice management with potential applications such as DDoS prevention, and workload scaling.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Autonomic Service Mesh Using Machine Learning Operations

  • Melvin A. Gomez,
  • Ananya Bhatia,
  • Anurag Vadhyar,
  • S. Afnaan Mohammed,
  • Saritha Prajwal

摘要

In today’s distributed systems, service mesh technologies like Istio are vital tools for DevOps teams and Site Reliability Engineers (SREs) to monitor and manage service meshes comprising multiple microservices across Kubernetes clusters. The Istio control plane allows engineers to observe the service mesh and define governance policies for traffic control, network security, and resiliency. However, creating and updating these policies in real time is prone to human error and misses the potential of machine learning (ML). This paper introduces a novel framework for the DevOps engineers to divide an enterprise application into several smaller, programmable, self-managed service domains comprising fewer interconnected microservices in the form of a sub graph or traffic zone. The DevOps engineer can program these traffic zone to autonomously detect and respond to anomalies in the respective traffic zone using a Service Mesh Manager (SMM) at a granular level. The SMM uses ML model to observe the telemetry data, learn traffic patterns and find traffic anomaly. Further, it triggers an automation, to dynamic adjust the Kubernetes and Istio YAML policy that controls the traffic flow and resource allocation without constant human intervention. The ML model is matured using a novel MLOps pipeline with collaborative inputs from the data-scientist, ML engineer and DevOps engineer. The ML model used by the SMM and the related automation is continuously improved based on feedback provided by the DevOps practitioners. This SMM based approach would result in more efficient microservice management with potential applications such as DDoS prevention, and workload scaling.