SGX-Aware Container Orchestration for Heterogeneous Clusters
Containers are becoming the de facto standard to package and deploy\napplications and micro-services in the cloud. Several cloud providers (e.g.,\nAmazon, Google, Microsoft) begin to offer native support on their\ninfrastructure by integrating container orchestration tools within their cloud\noffering. At the same time, the security guarantees that containers offer to\napplications remain questionable. Customers still need to trust their cloud\nprovider with respect to data and code integrity. The recent introduction by\nIntel of Software Guard Extensions (SGX) into the mass market offers an\nalternative to developers, who can now execute their code in a hardware-secured\nenvironment without trusting the cloud provider.\n This paper provides insights regarding the support of SGX inside Kubernetes,\nan industry-standard container orchestrator. We present our contributions\nacross the whole stack supporting execution of SGX-enabled containers. We\nprovide details regarding the architecture of the scheduler and its monitoring\nframework, the underlying operating system support and the required kernel\ndriver extensions. We evaluate our complete implementation on a private cluster\nusing the real-world Google Borg traces. Our experiments highlight the\nperformance trade-offs that will be encountered when deploying SGX-enabled\nmicro-services in the cloud.\n
- Conference Article
39
- 10.23919/indiacom54597.2022.9763171
- Mar 23, 2022
Cloud Computing is an emerging technology that is used not only by developers but also by end-users. It has vital importance in the Information Technology (IT) industries as its future would create a great transition from conventional IT services. These days, containerization in cloud computing has become an important research area. The selection of container orchestration tools is one of the difficult tasks for the organizations involved in the management of the vast number of containers. These tools have their strengths, weaknesses, and functionalities which need to be considered. This paper presents a comparative analysis of the container orchestration tools. This analysis would help the professionals to decide whether they need an orchestrator bound to a single technology or an orchestrator which provides the independent solution. In this paper, four popular orchestration tools viz., Kubernetes, Docker Swarm, Mesos, and Redhat OpenShift are analyzed on various parameters viz., security, deployment, stability, scalability, cluster installation, and learning curve. We observed that Kubernetes has the best scheduling features whereas Docker Swarm is easy to use. We also found that Mesos has good scalability whereas OpenShift is a highly secure orchestration tool.
- Conference Article
41
- 10.1109/icbk.2019.00033
- Nov 1, 2019
Compared to the traditional approach of using virtual machines as the basis for the development and deployment of applications running in Cloud-based infrastructures, container technology provides developers with a higher degree of portability and availability, allowing developers to build and deploy their applications in a much more efficient and flexible manner. A number of tools have been proposed to orchestrate complex applications comprising multiple containers requiring continuous monitoring and management actions to meet application-oriented and non-functional requirements. Different container orchestration tools provide different features that incur different overheads. As such, it is not always easy for developers to choose the orchestration tool that will best suit their needs. In this paper we compare the benefits and overheads incurred by the most popular open source container orchestration tools currently available, namely: Kubernetes and Docker in Swarm mode. We undertake a number of benchmarking exercises from well-known benchmarking tools to evaluate the performance overheads of container orchestration tools and identify their pros and cons more generally. The results show that the overall performance of Kubernetes is slightly worse than that of Docker in Swarm mode. However, Docker in Swarm mode is not as flexible or powerful as Kubernetes in more complex situations.
- Book Chapter
1
- 10.1007/978-1-4842-7942-7_1
- Jan 1, 2022
The last five years can safely be termed a Kubernetes Tsunami in the IT world. Kubernetes has been around since 2014, and it conquered not only the service catalogs of the major cloud providers but also most data centers around the world. Looking at the statistics reveals that if you want to run workloads in containers at scale, there is actually no other container orchestration tool around. In a report from Red Hat from 2021 asking organizations which container orchestration tool they use, you would still see mention of things like Mesosphere and Docker Swarm, but without a notable share and only with news coverage talking about “end-of-life.”
- Research Article
2
- 10.59200/icarti.2023.021
- Nov 9, 2023
- International Conference on Artificial Intelligence and its Applications
Internet of Things (IoT) is the developing technology that enables devices to communicate without human interaction. IoT utilizes cloud computing services to collect and process data for IoT devices and to manage the device remotely. Cloud computing is not efficient enough to handle the fast stream of data produced by the IoT, therefore scaling up IoT applications to meet demands of high peak becomes easier and highly automated in fog computing. Containers are mostly used as virtualization solutions for IoT in fog computing. It enables the execution of small microservices to large applications. However, the rise of many lightweight containers has resulted in new application architectures and fundamentally changing how applications are deployed and visualized. Due to this change, container orchestration tools were proposed. These tools allow users to coordinate and manage containers. However, container orchestration tools need to meet the requirements of IoT applications and constraints imposed on the nodes in fog. This paper presents a systematic literature review on the selection of orchestration tools for the efficient deployment of IoT applications in fog computing. Moreover, the performance of IoT applications must be considered by applying different metrics. This paper aims to propose potential research directions to address identified gaps in the selection of orchestration tools.
- Conference Article
4
- 10.1109/icaiic57133.2023.10066988
- Feb 20, 2023
Modern developers typically run their workloads through cloud-native environments such as Docker and Kubernetes. Docker is a platform that runs and manages containers. With the birth of Docker, interest in containers and technology has grown. As one of the container orchestration tools that control and manage containers running on multiple hosts, Kubernetes has a very large share and is used by many cloud companies, making it the standard for practical container orchestration tools. Therefore, in this paper, by analyzing the Kubernetes event timeline, we present the future direction of Kubernetes and Docker, which are key tools in the cloud-native environment.
- Conference Article
33
- 10.1109/icitaet47105.2019.9170208
- Dec 1, 2019
Containerization is a cutting-edge DevOps technology which unifies the IT operations and Development domains. In recent times, virtualization using Virtual Machines has become an overkill for its large overhead on systems. As a lightweight alternative, containerization offers containers that constitute a package of an application along with all its dependencies that is required for it to execute. Containerization platforms help in building containers from images. Docker is a widely popular containerization platform. Containerization Orchestration tools manage these containers. Kubernetes is the front-runner of the emerging market of container orchestration tools. These software work together seamlessly in order to successfully implement containerization both locally and on the cloud. In this paper, we aim to deploy the container orchestration tool Kubernetes on a local system with a Docker sample container. The purpose of this is to ensure that all the configurations and management needed for a Docker container is set successfully on the local system before it is deployed onto the cloud or on the premise. The on-premise deployment use case is very important in domains such as finance and healthcare where organizations hesitate to upload confidential information on to the cloud for security reasons but still require scaling of their applications.
- Conference Article
98
- 10.1109/compsac.2017.248
- Jul 1, 2017
The Cloud Computing paradigm promoted the outsourcing of IT infrastructure and enterprise applications paving the way to save costs of building and maintaining computing infrastructures on-premise. In this environment, scale up of applications to attend demands in high peaks become easier and highly automated. Virtualization was a key technology to enable these characteristics. Nowadays, Container technology became popular as an alternative to Virtual Machines, and is being widely applied, as a consequence, Orchestration tools are being extensively applied in the Cloud environment. Despite its success, when it comes to the Internet of Things (IoT), Cloud Computing falls short to meet several requirements. Fog Computing appear as a complimentary technology to the Cloud to deliver the missing requirements in the IoT scene. Managing services deployed in a Fog Environment is a complex task and infrastructure management and orchestration tools can make it seamless. In this paper, we evaluate how Containers can affect the overall performance of applications in Fog Nodes. We analyze different Container Orchestration tools and how they meet Fog requirements to run applications. We also propose a Container Orchestration Framework for Fog Computing infrastructures.
- Book Chapter
22
- 10.1007/978-981-19-3391-2_1
- Sep 2, 2022
Resource management is the principal factor to fully utilize the potential of Edge/Fog computing to execute real-time and critical IoT applications. Although some resource management frameworks exist, the majority are not designed based on distributed containerized components. Hence, they are not suitable for highly distributed and heterogeneous computing environments. Containerized resource management frameworks such as FogBus2 enable efficient distribution of framework’s components alongside IoT applications’ components. However, the management, deployment, health check, and scalability of a large number of containers are challenging issues. To orchestrate a multitude of containers, several orchestration tools are developed. But, many of these orchestration tools are heavyweight and have a high overhead, especially for resource-limited Edge/Fog nodes. Thus, for hybrid computing environments, consisting of heterogeneous Edge/Fog and/or Cloud nodes, lightweight container orchestration tools are required to support both resource-limited resources at the Edge/Fog and resource-rich resources at the Cloud. Thus, in this paper, we propose a feasible approach to build a hybrid and lightweight cluster based on K3s, for the FogBus2 framework that offers containerized resource management framework. This work addresses the challenge of creating lightweight computing clusters in hybrid computing environments. It also proposes three design patterns for the deployment of the FogBus2 framework in hybrid environments, including (1) Host Network, (2) Proxy Server, and (3) Environment Variable. The performance evaluation shows that the proposed approach improves the response time of real-time IoT applications up to 29% with acceptable and low overhead.KeywordsEdge computingFog computingContainer orchestrationInternet of ThingsResource management framework
- Research Article
13
- 10.3390/app12010140
- Dec 23, 2021
- Applied Sciences
With the exponential growth of the Internet of Things (IoT), edge computing is in the limelight for its ability to quickly and efficiently process numerous data generated by IoT devices. EdgeX Foundry is a representative open-source-based IoT gateway platform, providing various IoT protocol services and interoperability between them. However, due to the absence of container orchestration technology, such as automated deployment and dynamic resource management for application services, EdgeX Foundry has fundamental limitations of a potential edge computing platform. In this paper, we propose EdgeX over Kubernetes, which enables remote service deployment and autoscaling to application services by running EdgeX Foundry over Kubernetes, which is a product-grade container orchestration tool. Experimental evaluation results prove that the proposed platform increases manageability through the remote deployment of application services and improves the throughput of the system and service quality with real-time monitoring and autoscaling.
- Conference Article
38
- 10.1109/wf-iot48130.2020.9221340
- Jun 1, 2020
Fog computing (also known as edge computing) is a decentralized computing architecture that seeks to minimize service latency and average response time in IoT applications by providing compute and network services physically close to end-users. Fog environment consists of a network of fog nodes and IoT applications are composed of containerized microservices communicating with each other. Due to limited resources of fog nodes, it is often not possible to deploy all the containers of an application on a single fog node. Therefore, communicating containers need to be distributed on multiple fog nodes. Distribution and management of containerized IoT applications is always a critical issue to the system performance in a fog environment. Kubernetes, an open-source system, has grown into a container orchestration standard by simplifying the deployment and management of containerized applications. Despite the progress made by the academia and industry with respect to container management and the wide-scale acceptance of Kubernetes in cloud environments, container management in fog environment is still in the early stage in terms of research and practical deployment. This article aims to fill this gap by analyzing the expediency of Kubernetes container orchestration tool in the fog computing model. The paper also highlights limitations with the current Kubernetes approach and provide ideas for further research to adapt to the needs of the fog environment. Lastly, we provide experiments that demonstrate the feasibility and industrial practicality of deploying and managing containerized IoT applications in the fog computing environment.
- Conference Article
14
- 10.1145/3366614.3368101
- Jan 1, 2019
Edge computing paradigm has been proposed to support latency-sensitive applications such as Augmented Reality (AR)/ Virtual Reality(VR) and online gaming, by placing computing resources close to where they are most demanded, at the edge of the network. Many solutions have proposed to deploy virtual resources as close as possible to the consumers using virtual machines and containers. However, the most popular container orchestration tools, e.g., Docker Swarm and Kubernetes, do not take into account the locality aspect during deployment, resulting in poor location choices at the edge of the network. In this paper, we propose an edge deployment strategy to tackle the lack of locality awareness of the container orchestrator. In this strategy, the orchestrator collects information about latency and the real-time resource consumption from the current container deployments, providing a bird's-eye view of the most demanded locations and the best places for deployment to cover the largest number of clients. We evaluated the proposed model using 16 AWS regions across the globe and compared to the standard deployment strategies. The experimental results show our edge strategy reduces the average latency between serving container to the clients by up to 4 times compared to the standard deployment algorithms.
- Research Article
133
- 10.1016/j.comcom.2020.04.061
- May 7, 2020
- Computer Communications
Geo-distributed efficient deployment of containers with Kubernetes
- Book Chapter
21
- 10.1007/978-3-030-97196-0_12
- Jan 1, 2022
Cloud Computing is online technology where computing resources like hardware, software and applications are available as per the user's needs. A cloud computing architecture microservices-based application involves multiple microservices deployed, updated, and redeployed on lightweight virtualization technology called docker container rather than hypervisor-based virtualization. Docker Swarm, Kubernetes and Apache Mesos are container orchestration tool for scheduling and managing individual Container for microservice application within a cluster of private cloud and public cloud. Docker container orchestration can include creating and scheduling Container, availability of container and the host machine, rescheduling of failed Container, scaling of Container to balance the workload on infrastructure and securing the interaction between Container. This survey provides a complete description of docker container orchestration approaches with containers, analyzing the framework and classification of container orchestration management.KeywordsDockerContainerOrchestrationMicro-services
- Research Article
18
- 10.3390/s21041378
- Feb 16, 2021
- Sensors (Basel, Switzerland)
Containers virtually package a piece of software and share the host Operating System (OS) upon deployment. This makes them notably light weight and suitable for dynamic service deployment at the network edge and Internet of Things (IoT) devices for reduced latency and energy consumption. Data collection, computation, and now intelligence is included in variety of IoT devices which have very tight latency and energy consumption conditions. Recent studies satisfy latency condition through containerized services deployment on IoT devices and gateways. They fail to account for the limited energy and computing resources of these devices which limit the scalability and concurrent services deployment. This paper aims to establish guidelines and identify critical factors for containerized services deployment on resource constrained IoT devices. For this purpose, two container orchestration tools (i.e., Docker Swarm and Kubernetes) are tested and compared on a baseline IoT gateways testbed. Experiments use Deep Learning driven data analytics and Intrusion Detection System services, and evaluate the time it takes to prepare and deploy a container (creation time), Central Processing Unit (CPU) utilization for concurrent containers deployment, memory usage under different traffic loads, and energy consumption. The results indicate that container creation time and memory usage are decisive factors for containerized micro service architecture.
- Research Article
- 10.30871/jaic.v9i2.8972
- Mar 22, 2025
- Journal of Applied Informatics and Computing
Container orchestration has become a widely adopted standard for application deployment among medium to large-scale organizations. Docker Swarm is one of the popular container orchestration tools due to its relatively simple configuration. However, if the Docker Swarm cluster architecture is not properly designed, the goal of container orchestration, which is availability, cannot be achieved optimally. Challenges such as centralized traffic on a single node and service dependency on a single node are critical issues that need to be addressed. This study proposes solutions through an experimental approach involving the design, implementation, testing, and evaluation of a Docker Swarm cluster architecture to address these challenges. The results of this study demonstrate that the proposed architecture successfully resolves these issues. Traffic can be distributed more evenly across all nodes. When only one node is available, 5 out of 10 requests can be handled with a response latency of 197.4 ms. With two nodes available, the number of requests handled increases to 7 out of 10, with a response latency of 534.86 ms. The greater the number of available nodes, the more requests can be successfully processed. Services also become more flexible, and capable of running on any node, while offering additional benefits such as dual load balancing through DNS-based load balancing and the default load balancing provided by Docker Swarm's routing mesh. However, limitations such as the need for more complex adjustments and configurations should be considered, especially when implementing this architecture in on-premise environments, to ensure the best adoption and results.