0% found this document useful (0 votes)
25 views10 pages

Load Balancing and Service Discovery Using Docker

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views10 pages

Load Balancing and Service Discovery Using Docker

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Singh et al.

Journal of Cloud Computing (2023) 12:4 Journal of Cloud Computing:


https://doi.org/10.1186/s13677-022-00358-7
Advances, Systems and Applications

RESEARCH Open Access

Load balancing and service discovery using


Docker Swarm for microservice based big data
applications
Neelam Singh1, Yasir Hamid2, Sapna Juneja3, Gautam Srivastava4,5,6, Gaurav Dhiman1,7,8,9,
Thippa Reddy Gadekallu9,10 and Mohd Asif Shah11,12*

Abstract
Big Data applications require extensive resources and environments to store, process and analyze this colossal collec-
tion of data in a distributed manner. Containerization with cloud computing provides a pertinent remedy to accom-
modate big data requirements, however requires a precise and appropriate load-balancing mechanism. The load on
servers increases exponentially with increased resource usage thus making load balancing an essential requirement.
Moreover, the adjustment of containers accurately and rapidly according to load as per services is one of the crucial
aspects in big data applications. This study provides a review relating to containerized environments like Docker for
big data applications with load balancing. A novel scheduling mechanism of containers for big data applications
established on Docker Swarm and Microservice architecture is proposed. The concept of Docker Swarm is utilized
to effectively handle big data applications’ workload and service discovery. Results shows that increasing workloads
with respect to big data applications can be effectively managed by utilizing microservices in containerized environ-
ments and load balancing is efficiently achieved using Docker Swarm. The implementation is done using a case study
deployed on a single server and then scaled to four instances. Applications developed using containerized microser-
vices reduces average deployment time and continuous integration.
Keywords Big data, Containerization, Docker, Microservice, Docker Swarm, Load-balancing

10
*Correspondence: School of Information Technology and Engineering, Vellore Institute
Mohd Asif Shah of Technology, Vellore, India
11
[email protected] Department of Economics, Kebri Dehar University, Kebri Dehar, Somali
1
Department of Computer Science and Engineering, Graphic Era 250, Ethiopia
12
Deemed to be University, Dehradun 248002, India School of Business, Woxsen University, Hyderabad, Telangana, 502345,
2
Abu Dhabi Polytechnic, Abu Dhabi Polytechnic, Abu Dhabi, United Arab India
Emirates
3
KIET Group of Institutions, Delhi NCR, Ghaziabad, India
4
Department of Mathematics and Computer Science, Brandon University,
Brandon, Canada
5
Research Centre of Interneural Computing, China Medical University,
40402 Taichung, Taiwan
6
Dept. of Computer Science and Math, Lebanese American University,
1102 Beirut, Lebanon
7
Govt. Bikram College of Commerce, Patiala, Punjab, India
8
University Centre for Research and Development, Department
of Computer Science and Engineering, Chandigarh University, Gharuan,
Mohali 140413, India
9
Department of Electrical and Computer Engineering, Lebanese
American University, Byblos, Lebanon

© The Author(s) 2023. Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which
permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the
original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or
other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line
to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory
regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this
licence, visit http://​creat​iveco​mmons.​org/​licen​ses/​by/4.​0/.

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


Singh et al. Journal of Cloud Computing (2023) 12:4 Page 2 of 9

Introduction in a cloud environment having multi-tier structure is


The Big Data era led to the advent of tools, technologies achieved by scaling the quantity of physical resources [8,
and architectures with improved efficiency, elasticity and 9]. Resources can be scaled in two ways, either by hori-
resiliency. Big data applications need sophisticated archi- zontal scaling i.e. by adding more (VMs) virtual machines
tectures with inherent capabilities to scale and optimize. [10], or through vertical scaling by adding more resources
To enhance the scalability and elasticity of big data appli- to the deployed VMs [11]. Both of the methods require
cation deployment, implemented environments need additional time, suffer from latency issues, and may incur
to be continuously improved and updated. Organiza- additional cost. To expedite the processes and optimizing
tions are using cloud based services to enhance the per- the cost of application development, different paradigms
formance and to lessen overall cost. Containerization, a and architectures have been studied and evaluated.
cloud based technology, is attaining popularity since it Containerization is one of the cloud based techniques
is lightweight in nature. Docker is one of the predomi- which is gaining popularity because of features like
nant, extensively used container based virtualizations, being lightweight, scalability, and availability when com-
and since it is an open source project, it can be used to pared to virtual machines. Containers are best suited
develop, run and deploy an application efficiently. for continuous integration and continuous delivery (CI/
Big data applications require extensive resources and CD) workflows. Docker [12], an open source project, is
environments to store, process and analyze this colossal a widely used container-based virtualization tool assist-
collection of data in a distributed manner. Containeri- ing in the development, execution, and deployment of
zation with cloud computing provides a pertinent rem- applications in containerized environments. Docker can
edy to accommodate big data requirements, however manage workloads dynamically in real time due to port-
requires a precise and appropriate load-balancing mech- ability and its lightweight nature. Applications executed
anism. The load on servers increases exponentially with in a Docker container remain isolated from the underly-
increased resource usage, thus making load balancing an ing host environment.
essential requirement. Moreover, the adjustment of con- Docker can prove beneficial to deploy big data appli-
tainers accurately and rapidly according to load as per cations. Applications can be deployed in containers
services is one of the crucial aspects in big data applica- to serve massive workloads. It is a challenging task to
tions. This study provides a review relating to container- manage numerous containers for a single application.
ized environments like Docker for big data applications Docker thankfully comes with a cluster management
with load balancing. In this study, a scheduling mecha- tool called Docker Swarm to handle multiple clusters.
nism of containers for big data applications established Docker Swarm provides clustering and an orchestra-
on Docker Swarm and Microservice architecture is pro- tion mechanism and thus can deploy several containers
posed. In this paper, we utilize the concept of Docker across different host machines. Docker Swarm also pro-
Swarm to effectively handle big data applications work- vides a fault tolerance mechanism not only by detecting
load and service discovery. failed containers on a host machine, but also redeploy-
Improving the performance of an application is an ing the same container on another host machine [13]. Big
ongoing struggle with increased demands and usage. data applications suffer from some of the major issues
Technical innovations are always aiming towards achiev- like conventional data analysis methods not adjusting
ing higher degree of efficiency and performance. Employ- to input data i.e. on-the-fly or real time streaming data.
ing an environment that gives performance, reliability Methods used may also pose computational and speed-
and fault tolerance is required by all organizations. Cloud up overhead. Moreover, there is no theoretical derivation
Computing has created a niche for itself when perfor- of parallelization speed-up factors. Machine Learning
mance, resiliency, availability, and a cost effective solution (ML) programs may exhibit skewed distribution if the
is required. Modern technologies are employing Cloud load on each machine is not balanced, as they still lack
Computing to gain benefits as the Cloud enables the methods to synchronize during waiting times for the
ubiquitous availability of resources in a cost effective yet exchange of parameter updates. As such, synchronization
competent manner [1–6]. The Cloud has made resources is another open challenge to handle big data using ML
like infrastructure, platform, and software available to algorithms. Singh et al. [14] proposed a container based
the end user without any management efforts. The Cloud microservice architecture to handle monolithic design
offers everything as a service including emerging tech- challenges like scalability, integration, and throughput.
nologies like the Internet of Things (IoT) or Big Data However, the focus was not on handling big data based
[3]. Various organizations are offering cloud based solu- applications which requires massive effort and deploy-
tions for handling Big Data as is shown in [7]. Elasticity ment issues. Another issue which needs to be addressed

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


Singh et al. Journal of Cloud Computing (2023) 12:4 Page 3 of 9

is how to assign containers in real time accurately to automatic assignment of big data clusters using Hadoop
manage service loads. In [15], a container scheduling and Pachyderm. In the development phase, the environ-
approach employing ML is proposed by the authors by ment used ensures the accurate working of code but it
analyzing data sets using Random Forest (RF). may fail during the testing or production phase due to
Most of the current research fails to contribute the environmental changes and/or differences. Containeriza-
cause and effect of decrease in service execution perfor- tion comes into play to handle this issue. Hardikar et al.
mance due to an increase in load on the nodes. Another [18] explored several facets of Containerization like auto-
area of concern is how to assign service load dynamically mation, deployment, scaling, and load balancing with a
at run time in terms of big data applications. focus on Docker as the runtime environment and Kuber-
This research aims to distribute big data applica- netes is deployed for orchestration. The focus is mainly
tions implemented as a microservice inside the Docker on containerization, but handling the big data micros-
Swarm according to resource utilization for respective ervice is not focused on directly in the study. In micros-
host machines and service discovery, both of which are ervices, based on neighbourhood divison, a container
important for microservice architectures. The main focus scheduling approach called CSBND was proposed in [19]
of this research is on memory utilization according to to optimize the system performance using response time
given memory limits. In this paper, we propose a Docker and load balancing. The research did not handle big data
Swarm based mechanism to observe consumption of and microservice based applications to be deployed on
memory by each host machine and then look to assign containers.
the load to a given host machine based on memory usage
using microservices for big data applications. Perfor-
mance of the work is evaluated based on the load assign- Big data analytics
ment according to memory utilization. Contributions Big Data Analytics deals with discovering knowledge
of the work focuses on improving performance during from large datasets popularly known as big data for stra-
higher workloads that may occur due to big data process- tegic planning, decision making, and prediction purposes
ing and scaling the services to improve the efficiency. [20]. To analyze these colossal datasets, dynamic envi-
The paper is structured as follows: Section Related ronments are required which need to be scalable enough
Work will give a comprehensive summary of the work to manage varying workloads as conventional methods
done in this area. Section Architectural design of Docker often fail to process these large sizes of data. Big Data
based load balancing and service discovery scheme Analytics is an assortment of tools, technologies, meth-
for microservice based big data application will give an odologies combined in a system/platform or framework
account of the proposed work and methodology and Sec- to perform knowledge discovery through processes like
tion Result and Discussion will analyze the result of the data gathering, cleaning, modelling, and visualization
proposed work. In Section Conclusion, we conclude our [21]. Techniques like machine learning and deep neural
work. networks are utilized to perform the analysis process.
The authors in [20, 22] provide an insight into various
machine learning and deep learning algorithms which
Related work prove to be beneficial in Big Data Analytics. These pro-
Big data applications require extensive set of resources cesses require sophisticated architecture for storage,
like storage, processing power, and communication processing, and visualization. Cloud computing is con-
channels due to their inherent characteristics. To handle sidered to be an effective solution for it. The authors
this gigantic pile of data, it is common that techniques, illustrated the affinity of Big Data with cloud with respect
frameworks, environments, and methodologies are con- to its characteristics [23]. A web server load balanc-
tinuously reviewed, analyzed and developed. This section ing mechanism focused on memory exploitation using
explores the work done for big data analytics using Cloud Docker Swarm was proposed by Bella et al. [24]. This
computing and the use of Docker as well as Docker work focused on web server load balancing, however
Swarm for the purpose of managing and orchestrating the service discovery part is not considered in the paper.
clusters for load balancing. Big data applications requires extensive use of resources
A Microservice based architecture for big data and resource utilization for big data is also not discussed.
knowledge discovery which aims to acknowledge scal-
ability and efficiency issues in processing is proposed Containerization using Docker
by Singh et al. [16]. Naik et al. [17], have demonstrated To increase the efficiency of methods and optimize devel-
the in workings of a model based on big data process- opment as well as the deployment cost of applications
ing centered on Docker containers in multiple clouds by over the cloud, there have been numerous architectures,

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


Singh et al. Journal of Cloud Computing (2023) 12:4 Page 4 of 9

frameworks, environments, and paradigms examined in worker nodes execute swarm based services in Docker
the literature extensively. Docker, which is an open source Swarm. The Manager node uses its own IP address and
containerization tool, is fast emerging as an alternative port to expose swarm services to all clients. Requests
for application deployment over any cloud based archi- from clients are channelled to a chosen worker node by
tecture. Container centric virtualization is a substitute the swarm manager’s internal load balancing mechanism
for virtualization done using hypervisor where contain- so that requests are evenly distributed [29]. Although
ers share all resources like hardware, operating system the Docker Swarm load balancing process distributes the
and supporting libraries while maintaining abstraction load, the ability to monitor resource utilization accord-
and isolation [25]. Docker is a well-known lightweight ing to available limits is not provided. This can lead to
tool providing prompt development and relocation with uneven load distribution making any Big Data Micros-
improved efficiency and flexibility in resource provision ervice prone to collapse. In this study, we will distribute
[26]. Microservice based loads in Docker Swarm by checking
A distinct host can be used to create numerous con- resource consumption of host machines creating an even
tainers in multiple user spaces, which is unlike VMs [27]. load distribution mandated by available limits.
Container-based applications fabricated using Micros-
ervice architecture require traffic management and load Microservice architecture
balancing at high workloads. This issue is handled through Monolithic architectures are the most common conven-
container load balancing. A load balancer for a container tional architectures used to deploy applications. These
results in higher availability and scalability of applications architectures work on more or less three basic layers i.e.
for client requests. This ensures seamless performance of presentation, business, and data logic in order to handle
Microservice applications running in containers. Tools like simple to complex tasks. The architecture is simple and
Docker Swarm as well as Kuberbnetes provide support to easy to use since everything is under one autonomous
manage and deploy containers. Figure 1 gives an illustra- deployment unit. However, the architecture may limit
tion of a distributing application client load to container- the application to scale and make updates a difficult task
ized microservices using a load balancer. when a complex task needs to be managed. Microser-
vice architectures aim to minimize the issues that exist
Docker Swarm in monolithic architectures by dividing the entire appli-
Management of containers is an important and crucial cation into lightweight and loosely coupled compo-
aspect of containerization. Load Balancing is required to nents [30, 31]. Every component has its individual code
handle requests dynamically. To manage Docker clusters, repository and can be updated independently, making
Docker Swarm, a cluster administration and orchestra- any complex application far more scalable, resilient and
tion tool is used that links and controls all Docker nodes efficient. Service Discovery and Load Balancing are two
[28]. Docker Swarm offers features like reliability, secu- critical as well as fundamental aspects of Microservices.
rity, availability, scalability, and maintainability. It helps Service Discovery can be defined as a registry of run-
in the balanced distribution of any load and checks host ning instances for one or many services. It is required
machines for failed containers. If any failed contain- by Microservices to collaborate. Systems’ scalability,
ers are found, Docker Swarm redeploys it [23]. It is an throughput, execution time, response time, and perfor-
enhancement of Docker. mance is largely influenced by load balancing [32].
Docker Swarm is made up of two types of nodes, man- Container-based virtualization and Microservices
ager and worker nodes. All membership and alloca- make a perfect association as containers provide a decen-
tion processes are handled by the manager node while tralized environment and are lightweight in nature.

Fig. 1 Container load balancing

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


Singh et al. Journal of Cloud Computing (2023) 12:4 Page 5 of 9

Today, Docker is used to build modules called Micros- The Big Data application stack will provide the given
ervices [33], to decentralize packages and distribute jobs functionality in the form of Microservices:
into distinct, stand alone applications that collaborate
with each other. Microservices can be considered as small • Extraction of links from the input URL using front
applications that must be deployed in their individual end PHP application using Apache server.
VM instances to have discrete environments. But to dedi- • Interaction of the Web application with API server
cate an entire VM [34] instance to just a part of an appli- (Python) to manage link extraction and return JSON
cation is not an efficient approach. Docker containers response.
require less computing resources when compared to vir- • An image of Redis cache (used by API server) to
tual machines, therefore deploying hundreds and thou- check for already scraped pages and evading repeated
sands of Microservices on Docker containers will reduce fetch.
performance overhead and will increase the overall effi-
ciency of the applications [35]. In this study, we will dis- The experimental setup is made up of four Swarm
tribute the load of Big Data applications inside a Docker nodes – a master node and three worker nodes as given
Swarm by utilizing resources of host machines. The main in Table 1 and Fig. 3, respectively. The master node is
objective is to balance the load by checking memory con- implemented using NGINX service where the Swarm
sumption of all host machines based on known memory commands are run. Swarm itself is responsible for sched-
limits. This research aims at service discovery and server- uling, Domain Name Service (DNS) service discovery,
side load balancing for Big Data applications based on scaling, and container load balancing on all nodes. This
Microservices using Docker Swarm. Docker Swarm load balancer will run on every node and
will balance load requests as required.
Architectural design of Docker based load Four services are created within the Docker Swarm.
balancing and service discovery scheme A Master Load Balancer service to enable load balanc-
for microservice based big data application ing and the three other services are Microservices for
A fault tolerant and decentralized architecture is pro- the implemented scenario for a Big Data application.
vided by Docker Swarm. A set of Docker hosts can be These three worker nodes are namely the PHP front
combined into a swarm using swarm mode. Services end Microservice, python API Microservice, and Redis
can be created and scaled with health checks along cache Microservice, respectively. The port number
with built in load balancing and service discovery fea-
tures. Big Data Applications require an extensive set of
resources which are required to be properly load bal- Table 1 Docker Swarm services for big data application
anced. A Docker based Load Balancing and Service Type Container Port
Discovery system is used for Big Data applications. Fig-
ure 2 provides a look at the Microservices stack in use Load Balancer NGINX 80
for a big data application. Front End PHP service Apache 8080
We containerize our application using Docker as API server (Python) Python 5000
Microservices. We used Docker Swarm for orchestra- API server (Redis) Redis 6379
tion, service discovery, and load balancing.

Fig. 2 Microservices stack of a big data application

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


Singh et al. Journal of Cloud Computing (2023) 12:4 Page 6 of 9

Fig. 3 Service Discovery for the Containers

and respective containers of the services are listed in Step 3: Check for load and service discovery and redirect
Table 1. For example, to run the load balancer service, it load if a worker node fails, to active worker node.
is required to open port number http://​192.​168.0.​23:​80 Service discovery is managed by applying Docker
and to access the web server, http://​192.​168.0.​24:​8080 Remote API from the services to extract service and
is used to acquire the services of the Apache web server. instance information. It is a built in service discovery
Docker Swarm is responsible to supervise and distribute mechanism of the orchestrator. In order to test the load
the containers running these services routinely. balancing aspect of Docker Swarm, our “linkextractor”
The proposed algorithm for the entire process is dis- Microservice is scaled to run multiple instances using
cussed in Algorithm 1. Load balancing methodologies are Docker API: docker service scale linkextractor = 4.
covered in Algorithm 2. This will create 4 replicas of our Microservice and if
it is curled a few times, it will get different IP addresses.
Algorithm 1: algorithmμBigLB (service orchestration) The calls were done using round-robin over the four
Step 1: Automate installation of requirements using instances. This load-balancing mechanism of container
Docker file and build an isolated image (Container 1). orchestrator implemented by Docker Swarm “service”
Step 2: Use Microservice for Big Data Application: abstraction removes the complexity of client-side based
load-balancing. The effect on latency and CPU/memory
a. Creating full path URLs of extracted path usage is monitored using Docker API: docker stats, which
b. Extracting anchor and link texts provides container runtime metrics like CPU usage,
c. Return object, move main logic to function Memory usage and limits, and network I/O metrics.
We will consider the following parameters for each sce-
Step 3: nario (container) implemented:

a. Run Server • CPU usage


b. Map host and container ports • Memory usage and limits
c. Expose link extraction (from step 2) as web service • Network throughput
API in second python file (Microservice).

Step 4: Result and discussion


Using Remote Docker API, service discovery is first per-
a. Create independent image of all the code formed as it is one of the crucial elements of any Micros-
b. Create front end using PHP in different folder ervice architecture, so that Microservices can discover
c. Services are integrated using docker-compose.yml and collaborate with each other as shown in Fig. 3. Ser-
vice discovery helps to allocate and assign nodes with
Step 5: Create second container for front end PHP lesser nodes and helps in automatic and continuous
application. integration. Containers are assigned based on workloads
Step 6: Create third container for Redis for caching once service discovery is performed.
purpose. Once all the container images are discovered and
loaded, our application is executed to check its work-
Algorithm 2: load balancing ing in the containerized environment i.e. to extract links
Step 1: Create NGINX service for load balancing. from the given URL. Figure 4 shows the links extracted
Step 2: Run memory monitoring service in each worker from a test URL.
node.

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


Singh et al. Journal of Cloud Computing (2023) 12:4 Page 7 of 9

Once our application is tested, it is scaled from one to • Containers can be very easily duplicated or deleted
four instances to check the effect on latencies and CPU/ according to requirements and the Swarm can han-
memory usage with respect to memory limits. dle this aspect in an efficient manner.
Results achieved in Table 2 and Fig. 5, respectively,
show that all four container instances are compara-
tively sharing similar workloads. Therefore, based on Demerits
these results, it is concluded that containerized micros-
ervices for big data applications based on the proposed • Containers provide scalability, however portability can
architecture can be effectively managed on Docker be affected by placing dependencies on containers.
Swarm. More instances can be added to scale up and • Containers are susceptible to attacks as they
handle the deployment and continuous integration pro- share the OS kernel. This can affect service discovery
cess in a much better way. and load balancing across servers in case of an attack
Monolithic applications suffer from scalability and or any malicious activities.
integration issues making it challenging to handle big • Though Containers can be duplicated at an amaz-
data applications which can be easily managed by the ing speed, they consume a huge amount of resources
proposed architecture. making them a costlier strategy as compared to other
The given case study illustrates the requirement of techniques like virtualization.
containerization for applications working on Big Data.
The following section illustrates both the merits and
demerits of the strategy as proposed: Conclusion
It is often a difficult and time consuming process to
Merits manage Big Data applications because of their predomi-
nant characteristics. Microservices are considered to be
• Containers are well suited for complex applications a better option to provide a scalable and fault tolerant
deployed as microservices and thus can help the effi- approach to Big Data application management. Service
cient balancing of loads across servers as compared discovery and load balancing are both important aspects
to VMs (Virtual Machines) of Microservices that need to be addressed in modern
• According to the requirements of a given applica- systems. In this study, the benefits of containerization
tion, functionality can be scaled by deploying more on Microservice based Big Data applications was illus-
containers which can be managed effectively using trated. The load balancing and service discovery fac-
Docker Swarm. This process is difficult to address ets of Microservices are properly handled by a Docker
using virtualized environments

Fig. 4 Links extracted from a given URL

Table 2 Resource utilization by container instances (4)


Container CPU % Memory Usage (MB) / Limit (GB) Net I/O

linkextractor.3.8j1ink3r57nfi1q6a2xf5gkc 10.59% 9.306 / 1.955 1.209 KB/ 578 B


linkextractor.2.ap3adb28c79c8ax3age8ah1qp 11.08% 9.114 / 1.955 1.312 KB/ 630 B
inkextractor.4.2kilgzglenbb0wew9hdme4z7t 11.32% 9.288 / 1.955 1.101 KB/ 528 B
linkextractor.1.y3yojmtxcvva3wa1q9nrh9asb 10.17% 21.26 / 1.955 1.266 KB/ 600 B

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


Singh et al. Journal of Cloud Computing (2023) 12:4 Page 8 of 9

Fig. 5 Memory and CPU usage of four containers in Swarm

container and its attached orchestration tool called Received: 15 September 2022 Accepted: 2 November 2022
Docker Swarm.
This proposed concept shows the usefulness of
the Docker tools suite in orchestrating a multi-service
stack like is needed for Big Data Applications. This tech- References
1. Fox A, Griffith R, Joseph A, Katz R, Konwinski A, Lee G et al (2009) Above
nique can be utilized to avoid a single point of failure in the clouds: a berkeley view of cloud computing. Rep UCBIEECS 28
Big Data applications, as such making applications more 2. Armbrust M et al (2010) A view of cloud computing. Commun ACM
scalable, resilient, and portable. In the future, the com- 53(4):50–58
3. Rimal BP, Jukan A, Katsaros an Goeleven D (2011) Architectural require-
putational complexity and cost efficiency of the pro- ments for cloud computing systems: an Enterprise cloud approach. J Grid
posed work needs to be examined and addressed. The Comput 9(1):3–26
given techniques as presented can also be developed and 4. Buyya R, Yeo CS, Venugopal S (2008) Marketoriented cloud computing:
vision, hype, and reality for delivering IT services as computing utilities.
implemented for Big Data applications in multi-cloud In: Proceedings of the 10th IEEE international conference on high perfor-
scenarios. mance computing and communications
5. Vouk MA (2008) Cloud computing issues, research and implementations.
Acknowledgments In: 30th international conference on information technology interfaces
Not applicable. (ITI 2008), Cavtat/Dubrovnik, pp 31–40
6. P. Mell and T. Grance, “Draft nist working definition of cloud comput-
Code availability ing”,2009. Available: http://​csrc.​nist.​gov/​groups/​SNS/​cloud-​compu​ting/​
Not Applicable. index.​html
7. Wan J, Cai H, Zhou K (2015) Industrie 4.0: enabling technologies. In:
Authors’ contributions Proceedings of 2015 International Conference on Intelligent Computing
Conceptualization by Neelam Singh; Methodology by Sapna Juneja; Software and Internet of Things, pp 135–140. https://​doi.​org/​10.​1109/​ICAIOT.​2015.​
and formal analysis by Yasir Hamid; Investigation and Writing by Gautam 71115​55
Srivastava; Resources and data collection by Writing by: Gaurav Dhiman; 8. Liu Z, Zhang Q, Zhani MF, Boutaba R, Liu Y, Gong Z (2015) DREAMS:
Validation by: Thippa Reddy Gadekallu and Mohd Asif Shah. The authors read dynamic resource allocation for MapReduce with data skew. In: 2015 IFIP/
and approved the final manuscript. IEEE International Symposium on Integrated Network Management (IM),
pp 18–26. https://​doi.​org/​10.​1109/​INM.​2015.​71402​72
Funding 9. Wei G, Vasilakos AV, Zheng Y, Xiong N (2010) A game-theoretic method
Not applicable. of fair resource allocation for cloud computing services. J Supercomput
54(2):252–269
Availability of data and materials 10. Jiang J, Lu J, Zhang G, Long G (2013) Optimal Cloud Resource Auto-
Not Applicable. Scaling for Web Applications. In: 2013 13th IEEE/ACM international
symposium on cluster, Cloud, and Grid Computing, pp 58–65. https://​doi.​
org/​10.​1109/​CCGrid.​2013.​73
Declarations 11. Shi X, Dong J, Djouadi S, Feng Y, Ma X, Wang Y (2016) PAPMSC: power-
aware performance management approach for virtualized web servers
Competing interests via stochastic control. J Grid Comput 14(1):171–191
Not Applicable.

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


Singh et al. Journal of Cloud Computing (2023) 12:4 Page 9 of 9

12. Preeth EN, Mulerickal FJ, Mulerickal BP, Sastri Y (2015) Evaluation of Docker 34. Kanwal S et al (2022) Mitigating the coexistence technique in wire-
containers based on hardware utilization. In: 2015 International Confer- less body area networks by using superframe interleaving. IETE J Res
ence on Control Communication & Computing India (ICCC), pp 697–700. 2022:1–15
https://​doi.​org/​10.​1109/​ICCC.​2015.​74329​84 35. Kour K et al (2022) Smart-hydroponic-based framework for saffron culti-
13. Ismail BI et al (2015) Evaluation of Docker as edge computing platform. vation: a precision smart agriculture perspective. Sustainability 14(3):1120
In: 2015 IEEE Conference on Open Systems (ICOS), pp 130–135. https://​
doi.​org/​10.​1109/​ICOS.​2015.​73772​91
14. Singh V, Peddoju SK (2017) Container-based microservice architecture Publisher’s Note
for cloud applications. In: 2017 International Conference on Computing, Springer Nature remains neutral with regard to jurisdictional claims in pub-
Communication and Automation (ICCCA), pp 847–852. https://​doi.​org/​ lished maps and institutional affiliations.
10.​1109/​CCAA.​2017.​82299​14
15. Lv J, Wei M, Yu Y (2019) A container scheduling strategy based on
machine learning in microservice architecture. In: 2019 IEEE International
Conference on Services Computing (SCC), pp 65–71. https://​doi.​org/​10.​
1109/​SCC.​2019.​00023
16. Singh N, Singh DP, Pant B, Tiwari UK (2021) μBIGMSA-microservice-based
model for big Data knowledge discovery: thinking beyond the mono-
liths. Wirel Pers Commun 116(4):2819–2833
17. Naik N, Jenkins P, Savage N, Katos V (2016) Big data security analysis
approach using computational intelligence techniques in R for desktop
users. IEEE Symposium Series on Computational Intelligence (SSCI)
2016:1–8. https://​doi.​org/​10.​1109/​SSCI.​2016.​78499​07
18. Hardikar S, Ahirwar P, Rajan S Containerization: cloud computing based
inspiration Technology for Adoption through Docker and Kubernetes. In:
2021 Second International Conference on Electronics and Sustainable
Communication Systems (ICESC), vol 2021, pp 1996–2003. https://​doi.​
org/​10.​1109/​ICESC​51422.​2021.​95329​17
19. Guo Y, Yao W (2018) A container scheduling strategy based on neighbor-
hood division in micro service. In: NOMS 2018–2018 IEEE/IFIP Network
Operations and Management Symposium, pp 1–6. https://​doi.​org/​10.​
1109/​NOMS.​2018.​84062​85
20. Singh N, Singh DP, Pant B (2017) A comprehensive study of big data
machine learning approaches and challenges. In: 2017 International
Conference on Next Generation Computing and Information Systems
(ICNGCIS), pp 80–85. https://​doi.​org/​10.​1109/​ICNGC​IS.​2017.​14
21. Trnka A (2014) Big data analysis. Eur J Sci Theol 10(1):143–148
22. Najafabadi MM, Villanustre F, Khoshgoftaar TM, Seliya N, Wald R,
Muharemagic E (2015) Deep learning applications and challenges in big
data analytics. J Big Data 2(1):1–21
23. Hashem IAT, Yaqoob I, Anuar NB, Mokhtar S, Gani A, Khan SU (2015) The
rise of ‘big data’ on cloud computing: review and open research issues. Inf
Syst 47:98–115
24. Bella MRM, Data M, Yahya W (2018) Web server load balancing based
on memory utilization using Docker swarm. In: 2018 International Confer-
ence on Sustainable Information Engineering and Technology (SIET), pp
220–223. https://​doi.​org/​10.​1109/​SIET.​2018.​86932​12
25. Soltesz S, Pötzl H, Fiuczynski ME, Bavier A, Peterson L (2007) Container-
based operating system virtualization: a scalable, high-performance alter-
native to hypervisors. SIGOPS Oper Syst Rev 41(3):275–287 (Pubitemid
47281589)
26. Felter W, Ferreira A, Rajamony R, Rubio J (2015) An updated performance
comparison of virtual machines and Linux containers. In: 2015 IEEE Inter-
national Symposium on Performance Analysis of Systems and Software
(ISPASS), pp 171–172. https://​doi.​org/​10.​1109/​ISPASS.​2015.​70958​02
27. J. Turnbull, The Docker Book, 2014, Available: www.​docke​rbook.​com
28. Docker.com./Docker Swarm. https://​docs.​docker.​com/​engine/​swarm/.
Accessed 24 Aug 2020]
29. Docker Swarm mode key concepts. Available: https://​docs.​docker.​com/​
engine/​swarm/​key-​conce​pts/. Accessed 24 Aug 2020
30. Al-Masri E (2018) Enhancing the microservices architecture for the
internet of things. In: 2018 IEEE International Conference on Big Data (Big
Data), pp 5119–5125. https://​doi.​org/​10.​1109/​BigDa​ta.​2018.​86225​57
31. Imran S (2021) Ahmad, and do Hyeun Kim, “a task orchestration approach
for Efficient Mountain fire detection based on microservice and predic-
tive analysis in IoT environment”. J Intell Fuzzy Syst 40(3):5681–5696
32. Dhiman G et al (2022) Federated learning approach to protect healthcare
data over big data scenario. Sustainability 14(5):2500
33. Singh P et al (2022) A fog-cluster based load-balancing technique. Sus-
tainability 14(13):7961

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


Terms and Conditions
Springer Nature journal content, brought to you courtesy of Springer Nature Customer Service Center GmbH (“Springer Nature”).
Springer Nature supports a reasonable amount of sharing of research papers by authors, subscribers and authorised users (“Users”), for small-
scale personal, non-commercial use provided that all copyright, trade and service marks and other proprietary notices are maintained. By
accessing, sharing, receiving or otherwise using the Springer Nature journal content you agree to these terms of use (“Terms”). For these
purposes, Springer Nature considers academic use (by researchers and students) to be non-commercial.
These Terms are supplementary and will apply in addition to any applicable website terms and conditions, a relevant site licence or a personal
subscription. These Terms will prevail over any conflict or ambiguity with regards to the relevant terms, a site licence or a personal subscription
(to the extent of the conflict or ambiguity only). For Creative Commons-licensed articles, the terms of the Creative Commons license used will
apply.
We collect and use personal data to provide access to the Springer Nature journal content. We may also use these personal data internally within
ResearchGate and Springer Nature and as agreed share it, in an anonymised way, for purposes of tracking, analysis and reporting. We will not
otherwise disclose your personal data outside the ResearchGate or the Springer Nature group of companies unless we have your permission as
detailed in the Privacy Policy.
While Users may use the Springer Nature journal content for small scale, personal non-commercial use, it is important to note that Users may
not:

1. use such content for the purpose of providing other users with access on a regular or large scale basis or as a means to circumvent access
control;
2. use such content where to do so would be considered a criminal or statutory offence in any jurisdiction, or gives rise to civil liability, or is
otherwise unlawful;
3. falsely or misleadingly imply or suggest endorsement, approval , sponsorship, or association unless explicitly agreed to by Springer Nature in
writing;
4. use bots or other automated methods to access the content or redirect messages
5. override any security feature or exclusionary protocol; or
6. share the content in order to create substitute for Springer Nature products or services or a systematic database of Springer Nature journal
content.
In line with the restriction against commercial use, Springer Nature does not permit the creation of a product or service that creates revenue,
royalties, rent or income from our content or its inclusion as part of a paid for service or for other commercial gain. Springer Nature journal
content cannot be used for inter-library loans and librarians may not upload Springer Nature journal content on a large scale into their, or any
other, institutional repository.
These terms of use are reviewed regularly and may be amended at any time. Springer Nature is not obligated to publish any information or
content on this website and may remove it or features or functionality at our sole discretion, at any time with or without notice. Springer Nature
may revoke this licence to you at any time and remove access to any copies of the Springer Nature journal content which have been saved.
To the fullest extent permitted by law, Springer Nature makes no warranties, representations or guarantees to Users, either express or implied
with respect to the Springer nature journal content and all parties disclaim and waive any implied warranties or warranties imposed by law,
including merchantability or fitness for any particular purpose.
Please note that these rights do not automatically extend to content, data or other material published by Springer Nature that may be licensed
from third parties.
If you would like to use or distribute our Springer Nature journal content to a wider audience or on a regular basis or in any other manner not
expressly permitted by these Terms, please contact Springer Nature at

[email protected]

You might also like