# SatEC: A 5G Satellite Edge Computing Framework Based on Microservice Architecture
## 3 System Framework
### Software Framework  
We built a 5G satellite edge computing service architecture based on microservices for SatEC. According to the concept of \"Software as a service\" (SaaS), we built all the applications of the system on \"service\" [42]. SatEC services can be divided into three categories: system services, basic services, and user services. A system service is used for system management. It can provide services such as external/internal interface, resource/service management, resource/service scheduling, high availability database, and security management, and is the foundation of all other services. Basic services include some general functions that are open to external users. A user service is based on core services and basic services. It summarizes the common services of 5G satellite nodes at a higher level. Figure 3 shows the service architecture and typical services of 5 GsatEC. End-users can use all services by way of the IP address: port number. (1) System services: System services are consists of many components. These components are deployed in management nodes and different resource nodes. Components that will be deployed on the master node include: user management (including user registration and management services, user privilege management, etc. ), interface management (API server, including the inside and outside interface), system management (resource node management/service management/service-resource mapping table/system log, etc. ), resource scheduling, security management, network management, a high availability database, and so forth. The system service components that will be deployed in  
Figure 3: 5 GsatEC services. resource nodes are interface management (resource node API), container management components, and so on. (2) Basic services: Typical basic services include message transmission services, data distribution services, Consultative Committee for Space Data Systems (CCSDS) services, database services, object storage services, Map-Reduce services, and TensorFlow services, among others. Basic services of the 5 GsatEC are deployed by the system service through service images. Service images are stored in the image repository. Basic services are maintained by the system manager, and ordinary users only have the authority to use these services. Basic services can be extended, and also can be added or deleted when the system requirements change or the technology is upgraded. Basic services are always running. Message transport service: Provides distributed messaging services based on a publish/subscribe mechanism. Messages can be divided into different topics. The producer releases messages, and the consumer reads messages by subscribing to topics. Database services: Providing database services for massive data storage. CCSDS services: Providing CCSDS protocol conversion, parsing CCSDS packets, and package data in the CCSDS protocol format. Map-Reduce services: Services for big data computing, and also for networks resource control. Spark services: A computing framework for data analysis. TensorFlow services: Providing deep neural network services for video, image processing, and so on. (3) User services: Typical user services include map services, disaster alarm services, unmanned aerial vehicle (UAV) control services, pipeline monitoring services, and global container tracking services. Most of the user services are developed by third party developers for specific applications of end-users. Service images are saved in the image repertory. When the user needs to use a service, it is deployed immediately with the service image, and when the user stops using the service, it will be deleted from the system. Map services: Provide map services in remote areas that cannot be covered by 5G terrestrial base stations, such as mountains, oceans, and other areas. User information can also be collected at the same time. Disaster warning services: release disaster alarm information to users in specific areas when disaster events are detected.