# Railway Cloud Resource Management as a Service
## 4 Performance Management of Railway Cloud Resources  
### Performance Management Use Cases  
Cloud Performance Management (PM) refers to the process of monitoring, measuring, and optimizing the performance of cloud-based applications, infrastructure, and services. It involves collecting and analyzing data from various sources to identify areas of improvement, to troubleshoot issues, and to ensure that cloud resources are utilized efficiently. The primary goal of CPM is to ensure that cloud-based systems meet the required performance standards, while also providing a cost-effective and scalable solution for businesses. This is achieved as follows:  
_Monitoring performance metrics_: Collecting data on key performance indicators (KPIs), such as response time, throughput, latency, and resource utilization. For example, latency is an important KPI, because of the requirements of real-time railway cloud operation derived from the demands for highly responsible, safe, secure, and time-determined railway services. The high throughput is required to provide the availability and continuity of the railway mission critical services, and it is related to resilience, which is the ability of the system to deal with certain types of failures and to remain reliable despite them. _Identifying bottlenecks_: Analyzing performance data to identify areas of inefficiency or congestion in the cloud infrastructure. _Optimizing resource allocation_: Adjusting resource allocation to ensure that the right resources are available for the workload, thereby reducing waste and costs. This refers also to dynamic resource allocation and load balancing. _Ensuring scalability_: Proactively scaling up or down to match changing railway demands and to prevent over-provisioning or under-provisioning of resources. _Providing visibility and control:_ Offering real-time insights into cloud performance, enabling railway cloud operator to make informed decisions about resource allocation and optimization. Application performance metrics include average response time, error rate, and load, among others. Typical infrastructure performance metrics include CPU utilization, memory usage, disk space utilization, network bandwidth utilization, and storage performance metrics. Among the cloud provider performance metrics are availability, reliability, scalability, security metrics, and the percentage of resources being used efficiently and cost-effectively. Other performance metrics include time to repair, mean time between failures, throughput, latency, and packet loss. These performance metrics can be collected using various tools and techniques, including cloud provider APIs. By monitoring these performance metrics, railway operators can gain visibility into their cloud-based systems and make data-driven decisions to optimize resource allocation, improve user experience, and reduce downtime. A PM job is a means to measure the cloud resource KPIs, and it is required for coordinating the PM activities. The cloud resource management services collect data from measuring of cloud resource KPIs. PM jobs may be created, queried, updated, deleted, suspended, or resumed. This functionality may be designed as a Cloud Resource Performance Management (CRPM) service. Figure 9 shows the communication model of a PM job creating, collecting, and processing performance data for the PM job, and for PM job updating. The PM job is created in the cloud resource management services. The creation begins with the start of default PM jobs during the railway cloud operation. If the CM application has an active subscription, it is notified of the status of the default PM jobs. The RMAO may decide to activate additional PM jobs, and the CM application sends a request. If the request contains subscription related information (e.g., thresholds for notifications), then a subscription is created for the PM job duration, and the CRPM service notifies the CM application of the new PM job status. The railway cloud resource operates, and the performance data are collected.