# EdgeX over Kubernetes: Enabling Container Orchestration in EdgeX
## 2 Related Work  
In this section, we discuss existing research related to building an IoT edge computing infrastructure. In the traditional IoT environment, IoT gateways play a key role in building the IoT infrastructure; [PERSON] [10] defined IoT gateways by dividing them into three layers: sensing, network, and application layers. [PERSON] et al. [11] and [PERSON] et al. [12] highlighted the lack of compatibility between heterogeneous protocols as the fundamental problem--i.e., different types of gateways are required for each protocol--and suggested IoT gateway structures to solve this problem. The authors of [11] proposed a smart IoT gateway that can customize user cards according to the protocol environment. Meanwhile, the authors of [12] proposed a plug-configuration-play service-oriented gateway structure for fast and easy connection with various protocols. Moreover, with the development of container technologies, such as Docker, IoT gateways have evolved to distribute and operate container-based microservices. According to [13; 14], microservices are better than monolithic architecture in aspects such as scalability, changeability, and upgrades. For example, microservice architecture can facilitate simple system migration because the demanded microservice only needs to be replicated at a new location. Furthermore, microservices can be changed or upgraded easily when a problem occurs or an update is needed. These microservice characteristics can accelerate the spread of IoT gateway-based services. EdgeX Foundry [3] is a promising microservice-based IoT edge gateway platform that supports various IoT connectivity protocols and provides interoperability between heterogeneous devices. EdgeX Foundry offers multiple strategic advantages for gateways, as follows. First, it provides reference implementations for IoT protocols and software development kits so that users can add new ones. Second, it provides flexible connectivity to various enterprise and IoT environments. Third, EdgeX Foundry communicates with devices that use legacy protocols and can translate data for comprehension by modern devices. Finally, EdgeX Foundry offers a microservice-based platform that enables plug-and-play of components. To increase service quality, the authors of [15; 16; 17] proposed methods to improve IoT gateway service quality through machine learning. In [15], the authors proposed an automatic temperature adjustment method to improve user convenience by applying an optimization engine and fuzzy control to the IoT gateway. The authors of [16] placed an intelligent deep-learning-based function in the rule's engine of the IoT gateway to process user requests quickly. In [17], the authors proposed a way to improve service quality by containerizing and distributing the deep learning model and running it at edge nodes. They also further improved the service quality by distributing the computational load on IoT gateways to the cloud servers. The authors of [18] proposed an intelligent service management technique that can process large amounts of data generated by many devices in real-time while solving various problems, such as connectivity and security, in an industrial IoT environment. However, these approaches focus on optimization at a single IoT gateway; therefore, it is difficult to apply them to edge computing infrastructures composed of multiple IoT gateways. Nonetheless, the authors of [19; 20] addressed the challenges involved when the gateways are geographically dispersed on a large scale. In [19], the authors proposed a hierarchical structure, wherein the upper layer supervises the workload at data centers in the lower layer and triggers the migration of applications when necessary. However, this approach evaluated the gateway based on a virtual machine and could face limitations in term of scalability and resource utilization compared with microservice architectures.