Microservice placement guided by user language to meet service goals
MicroIntent: Intent-Based Placement Strategy for Microservice Application in the Compute Continuum Using LLMs
Distributed, Parallel, and Cluster Computing
Summary
Choosing where to run small parts of a big app, called microservices, is important to make apps faster and reliable. The authors found that asking users for detailed technical goals is hard, so they designed a system that understands simple user wishes written in natural language. This system uses artificial intelligence to convert these wishes into technical instructions to decide the best places to run each microservice. They tested a prototype to show this idea can work in the diverse computing environments called the compute continuum.
microservicescompute continuumservice level objectivesnatural languagegenerative artificial intelligenceapplication placementlatencyquality of serviceinfrastructure descriptionprototype evaluation
Authors
Koushikur Islam, Guilherme Da Cunha Rodrigues, Bahman Javadi, Rodrigo N. Calheiros
Abstract
The placement of microservices in the compute continuum plays a vital role in delivering services that comply with customers' needs, such as reduced latency, storage requirements, quality of service and availability. To achieve customers' needs in the geographically dispersed architecture of the compute continuum, Service Level Objectives (SLOs) have been largely used in decision-making to place microservices. However, because low-level SLOs increase the barrier to entry for continuum users, placement decisions based on high-level business vocabulary are required if the compute continuum is to be adopted at scale. This paper proposes an architecture for microservices placement decisions in the computing continuum utilizing high-level user intents described in natural language as input. The approach utilizes Generative Artificial Intelligence to translate the intents to low-level SLOs, which are used along with the infrastructure description to decide where different microservices that compose an application must be deployed so that SLOs are met. We implement and evaluate a prototype of the architecture to demonstrate the approach's feasibility.