# Railway Cloud: Management and Orchestration Functionality Designed as Microservices
## 3 Railway Cloud Basic Concepts, Management, and Orchestration Services  
A railway cloud platform may be regarded as a cloud computing platform that meets the requirements to host the relevant cloudified railway functions and supporting software components. It is required to expose the appropriate management and orchestration functions through service-based interfaces. A railway operator may employ clouds from different providers, but they need to manage them in a uniform way. The railway cloud platform hardware is composed of computing, storage, and networking resources grouped in one centralised or more distributed railway cloud resource pool. The railway cloud platform software, including virtualisation software, services, and management tools, is decoupled from the hardware and exposes open API, which improves flexibility and mitigates dependency on a single vendor. Railway cloud resources are organised in resource pools. A railway cloud node, or simply a node, is a logical or physical server with assigned cloud resources and an operating system. Several nodes form a group. One or more groups form railway cloud clusters with the aim of achieving the required availability. Within a group, the nodes are interconnected in a group network. Within a railway cloud cluster, communication is based on a cluster network, which unites all group networks included in it. One or more railway cloud clusters can be installed at a given location (site). A united network exists for the site clusters. For each site, there is a gateway from one or more network providers to enable communication across the whole railway cloud. A specific role is assigned to each node. Some of the nodes may be dedicated to cloud management functions, whereas other nodes may be exposed to functions that manage the resources assigned to the cloudified functions, and there may be some nodes that host the cloudified railway functions. The Railway Management Automation and Orchestration (RMAO) platform, as an integral part of the intelligent railway control system, is responsible for the management and orchestration of resources and services. It is responsible for service provisioning and lifecycle management, resource orchestration, and service assurance. The management interface between the RMAO platform and the railway cloud platform (RCP) needs to support two types of services:  
* Cloud resource management (CRM) services which are responsible for the allocation and delivery of cloud resources and resource management software, i.e., services that orchestrate railway cloud lifecycle processes, e.g., cloud deployment services, cloud infrastructure catalogue services, railway cloud monitoring services, railway cloud provisioning services, etc. * Cloudified function management (CFM) services which manage the lifecycles of the cloudified railway functions deployed on the railway cloud. Figure 1 shows the basic concepts and services related to the railway cloud. Figure 1: High-level railway cloud concepts and services. The basic orchestration of the railway cloud is related to the railway cloud's provisioning. The provisioning of the railway cloud includes the railway cloud's deployment and the integration of cloud services within the railway infrastructure. It assumes that the basic infrastructure (e.g., physical resources) is built and installed and that secured connectivity between the components of the intelligent railway control systems exists. The focus is on the deployment of railway cloud services and resource allocation. The following use cases represent well-known steps in the basic orchestration of the railway cloud, as show in Figure 2:  
* _Railway cloud pre-deployment processing_. The RMAO creates a record associated with the new railway cloud in its catalog. * _Railway cloud platform software installation_. The RMAO initializes the railway cloud, enabling communication with the RCP. * _Railway cloud registration and initialization_.