Systematic analysis of software development in cloud computing perceptions

Cloud computing is characterized as a shared computing and communication infrastructure. It encourages the efficient and effective developmental processes that are carried out in various organizations. Cloud computing offers both possibilities and solutions of problems for outsourcing and management of software developmental operations across distinct geography. Cloud computing is adopted by organizations and application developers for developing quality software. The cloud has the significant impact on utilizing the artificial complexity required in developing and designing quality software. Software developmental organization prefers cloud computing for outsourcing tasks because of its available and scalable nature. Cloud computing is the ideal choice utilized for development modern software as they have provided a completely new way of developing real‐time cost‐effective, efficient, and quality software. Tenants (providers, developers, and consumers) are provided with platforms, software services, and infrastructure based on pay per use phenomenon. Cloud‐based software services are becoming increasingly popular, as observed by their widespread use. Cloud computing approach has drawn the interest of researchers and business because of its ability to provide a flexible and resourceful platform for development and deployment. To determine a cohesive understanding of the analyzed problems and solutions to improve the quality of software, the existing literature resources on cloud‐based software development should be analyzed and synthesized systematically. Keyword strings were formulated for analyzing relevant research articles from journals, book chapters, and conference papers. The research articles published in (2011–2021) various scientific databases were extracted and analyzed for retrieval of relevant research articles. A total of 97 research publications are examined in this SLR and are evaluated to be appropriate studies in explaining and discussing the proposed topic. The major emphasis of the presented systematic literature review (SLR) is to identify the participating entities of cloud‐based software development, challenges associated with adopting cloud for software developmental processes, and its significance to software industries and developers. This SLR will assist organizations, designers, and developers to develop and deploy user‐friendly, efficient, effective, and real time software applications.

services, and infrastructure based on pay per use phenomenon.Cloud-based software services are becoming increasingly popular, as observed by their widespread use.Cloud computing approach has drawn the interest of researchers and business because of its ability to provide a flexible and resourceful platform for development and deployment.To determine a cohesive understanding of the analyzed problems and solutions to improve the quality of software, the existing literature resources on cloud-based software development should be analyzed and synthesized systematically.Keyword strings were formulated for analyzing relevant research articles from journals, book chapters, and conference papers.
The research articles published in (2011-2021) various scientific databases were extracted and analyzed for retrieval of relevant research articles.A total of 97 research publications are examined in this SLR and are evaluated to be appropriate studies in explaining and discussing the proposed topic.The major emphasis of the presented systematic literature review (SLR) is to identify the participating entities of cloud-based software development, challenges associated with adopting cloud for software developmental processes, and its significance to software industries and developers.This SLR will assist organizations, designers, and developers to develop and deploy user-friendly, efficient, effective, and real time software applications.Software engineering is concerned with applying the principles and technological knowledge for designing and developing quality software.Engineers are now capable of producing scalable, complex, distributed, and sophisticated applications due to technological improvements. 1The development of modern software nowadays is not carried out by isolated team of engineers but generally takes place in organizations and communities that comprise massive group of crowd. 2,3To develop cloud-based applications, a major paradigm alteration from traditional software development is required.The prime objective of cloud computing is not just only the provision of basic functionality, that is, "only development and deployment," but also the overall management of various infrastructure. 4Organizations are utilizing Web 2.0 5 technology to employ cloudconnected workforce.With the global use of internet and communication technology, different applications are being designed and developed to enable the provision of various computing resources. 6Cloud computing is a "type of parallel and distributed system consisting of a collection of interconnected and virtualized computers that are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements established through negotiation between the service provider and consumers." 7oud computing enables users of networked computer systems to lease data, supply resources, and process data from a "cloud" that is managed and shared by providers organizations.This technology is gradually becoming an important asset for software developmental model. 8Business, information technology, and software engineering are revolutionized due to emergence in cloud computing technologies. 9Cloud computing merges various devices like smart gadgets, cell phones, computers, sensors, and storage devices for carrying out cost efficient operations. 6,10oud software operates in shared environments, where computer resources, performance, and accessibility might alter the real-time process due to issues among other users. 11Scalable access, elasticity, and shared computing capability are the key services provided by cloud-based system.
The solutions and services provided by cloud are attractive to businesses and organizations because they promise benefits like efficiency and reduction of costs. 12Cloud computing delivers the utilization of IT resources on a little payment scheme whenever required regardless of owning them permanently.Developers and software organizations are quickly adopting this new paradigm to produce cloud-based applications. 13The resources on cloud are provided as a service to people and organizations. 14oud-based software development is an innovative field in computer science in which low cost, scalable, reliable, efficient, and effective software are developed.Cloud software is distributed on cloud and is used as internet service at possibly cheaper cost.Many cloud computing services are available, including infrastructure as a service, platform as a service, and software as a service.The rising demand for processing data, storing information, and unlimited computing infrastructure at less cost has motivated organization to shift their operations to the cloud. 15IaaS, PaaS, SaaS infrastructures, or third-party platforms can be used by cloud providers to deliver these services. 14Software deployment and provisioning through the cloud are gaining popularity.While there is a substantial amount of study on how to manage a cloud system, little is known about how software developers actually utilize clouds as well as how the cloud influences development methods. 16Cloud-based software development is a challenging and prolonged process in which various procedures, methods, and tools are adopted.Various entities are required to collaborate and communicate.Solving a complex software problem may generate another problem and, as a result, reduce the quality of software.A comprehensive literary review over the last 10 years (i.e., 2011-2021) was conducted to analyze cloud-based software engineering and its relevance in the modern corporate world.The suggested study consists of fourfold contributions represented in bullets.
• To identify and analyze the participating entities in cloud-based software.
• To identify the significant feature of cloud-based software development.
• To identify various challenges of cloud-based software development.
• To explore various existing methods or frameworks exploited for the development of cloud-based software.
The article is sequentially structured and divided into sub-sections.The general research approach conducted for this study is briefly described in Section 2. Section 3 provides outcomes of the proposed SLR.Findings and discussions of the proposed research are represented in Section 4. Section 5 deals with the research limitations and threats to validity.The conclusion and future suggestions of this research are provided in Section 6.
To deeply analyze the participating entities, significance, and challenges of cloud-based software and to exploit the existing research work carried on cloud-based software development, SLRs (systematic literature reviews) were conducted.SLR is defines as "a means of identifying, evaluating and interpreting all available research relevant to a particular research question, or topic area, or phenomenon of interest." 17The primary objectives for an SLR rather than an ad hoc or "at-will" literature review are to restrict the scope of the study and to assure that relevant, sufficient, and quality studies are retrieved.SLR approach is intended to prevent the partial evaluation of findings.But, however, it cannot be mitigated against biasness in primary research work.SLR includes planning, conducting, and evaluating phases.In the process of planning, a review paradigm is implemented that guides all future steps to reduce the prejudices of researchers and to structure the ambiguous data.The paradigm specifies the diverse search problems.The search strategy includes sources; the conducting period of the proposed research; rationalization for selecting specific sources; the criteria of search and other constraints; criteria for quality assurance that specifies that the research is to be included or excluded; and the process of extraction and retrieval of data along with the practices for storage of the search files and extraction of data.The proposed SLR is carried out by the collaborative activity of the authors.Various studies were analyzed, reviewed, and evaluated based on authors' judgments.Relevant studies are sorted out and evaluated based on specific criteria, in appropriate studies that do not validate the assessment criteria are excluded.
A review paradigm was implemented using the idea presented in Kitchenham and Brereton. 18The review paradigm consists of an overview of the topic selection, the research question(s), a search method, scrutiny and retrieval of articles, quality assessment, and data synthesis.The prime purpose of this SLR is to get in-depth knowledge of collaborating entities, significance, and challenges faced in developing software and to analyze the existing research techniques implemented by the engineers for cloud-based software development.

| Selecting research domain
A comprehensive analysis of the topic cloud-based software development was conducted to gain a better insight on software development via cloud.Research articles from various digital information sources were extensively studied in order to understand the idea of cloud-based software development, to identify issues in the area, and to learn what experts have done so far to tackle the identified issues arises during certain times.

| Research questions formulation
The aim of this research is fourfolded, that is, to identify various cloud participating entities, significance, and challenges of cloud-based software development and to analyze the existing literature for cloud-based software development.For developing a better insight on software development phenomenon and to identify diverse research topics for researchers, various studies were examined.In the initial phase of this review, relevant articles, conference proceedings, book chapters, and journals that explicitly defined cloud-based software development activities were researched.Our pilot findings showed that cloud-based software development is an extensive activity used by many software companies to complete various software tasks and to improve software quality by leveraging the collective energy of developers.To conduct this research, the suggested research focused on answering certain research questions presented in ("research question") Table 1 that were designed from the evaluation of numerous articles/papers in order to make this review more concise.As software development is carried out via cloud there may be various challenges faced by engineers.We will identify numerous challenges that will be point out ideas for other researchers for carrying out their research activities.

T A B L E 1 Formulated research questions
RQ4: What are the existing methods or frameworks exploited for the development of cloud-based software?
Many researchers have carried out their research on cloud-based software development; these will be explored to make the proposed study an effective one.

| Search strategy
The search strategy is composed of search keywords and the searching methods.In successive phases, the descriptions are presented.

| KEYWORDS STRINGS FORMULATION
The following steps are carried out for keyword formulation • Major key terms were retrieved from proposed research questions.
• For effectiveness, the synonyms of main terms were sorted out.
• Books and articles were analyzed for keyword's formulation.
• The synonyms were lined by Boolean OR.
• Boolean AND is used for linking main terms.
By concatenation the keywords, a general query ("Cloud Based Software Engineering" OR "Software Development" AND "Importance" OR "Applications" OR "Advantages" AND "Challenges" OR "Limitations" AND "Methods" OR "Techniques" OR "Approaches") is formed.As the string formation rules of various libraries are different, therefore, we have formulated specific string for each digital library.These are represented in Table 2.

| The searching processes
A systemic and complete evaluation of the suggested study was conducted on five digital libraries to collect data from different researchers' work in the field of cloud-based software development for synchronization this step is carried out by the second author of this paper.
Wiley, IEEE Xplore, ScienceDirect, ACM Digital Library, and Springer Link are online digital libraries that were searched for extracting relevant research articles.Figure 1 shows the overall reviewing process.The title, abstract, index words of published research papers such as journals article, conference paper, and books chapters were examined for completing the proposed research.Articles are downloaded and searched from relevant libraries in order to overcome duplication of articles.The search procedure in this study comprises of various phases.
• Phase 1: Five digital libraries are carefully searched to obtain papers appropriate to the research being suggested.The outcome of the search was grouped as perspective studies.
• Phase 2: Papers are retrieved from these libraries based on keyword string.further analysis.This procedure is necessary for elimination of inappropriate and identical research title-based paper selection retrieved 187 articles represented in Figure 4.
The relevant articles are then assessed accordingly with article abstract and contents that extracted 150 research articles.Based on the filtered studies obtained after scrutinization and retrieval of relevant articles, quality evaluation criteria was applied; that is, each article has been examined and thoroughly evaluated to verify if these studies answer at least two formulated questions.All the three authors of this paper equally contributed in this phase.
This phase is intended to consolidate and analyze the information to respond to the questions presented in Table 5, Figure 5 depicts the graph of selected articles based on QoA criteria.
For the evaluation of appropriate research, a manual scoring technique was used to thoroughly select and validate discovered data.It was assured that these studies can answer specified research questions or not.

| OUTCOMES AND DISCUSSIONS
The results of the proposed study are summarized.First, we start with reviewing the selected articles.Following that, we gave a description of the review process's results in separate subsections, in line with the questions proposed.

| Overview of selected research articles
For carrying out this research study, 97 relevant research studies are selected based on QoA criteria.This study comprised of journal articles, book chapters, and conference papers.Figure 2 shows the percentage wise retrieved articles from various digital libraries, while Figure 3 shows the annual distribution of selected research articles.

T A B L E 5 Quality assessment and selection
No Questions

| Participating entities in cloud-based software
Cloud-based development is a collaborative activity by nature, involving the combined efforts of many entities to achieve a shared goal.Collaboration and coordination between these entities are essential.This is reinforced by the decentralization and concurrency brought by new technologies and paradigms.As a result of collaboration and coordination between peoples and organizations, numerous components of the software process are developed efficiently.Various entities of cloud-based software were analyzed that are presented in Table 7.

| Significant feature of cloud-based software development
Cloud computing provides services to consumers depending on their needs and requirements.Cloud services are intended to give convenient and scalable access to cloud apps and resources and are entirely managed by a service provider.Global software system can be carried out using CC services.Most businesses organizations have shifted from collocated software development environments to global software development environments because of efficient and effective economic factors. 53Cloud computing paradigm allows users to access shared configurable computing

Platform
Platform serves as a service provider and is committed to providing an optimal development environment for small and medium-sized businesses on a cloud.Security is also provided to small firms that are unable to maintain security as constrains due to low budget.Scalable and flexible cloud applications are developed on platform.Platforms are also named as cloud marketplace by researchers.Market places are promoting the competency and creativeness of cloud services.

Cloud creator
They are responsible for establishing and operating a cloud service that can be managed by cloud service providers or directly exposed to cloud service consumers, depending on the circumstances.

64
Devices Smart phones, laptops, and tablets paved the way for IT agility that led to the formation of cloud computing.

65,67
Service providers Organization that provides on demand services to cloud entities 75 Crowd These include people who complete various tasks.These include designers who design cloud Application.Developers who utilize their skills to develop and testers who test bugs and perform various test to ensure quality application.9,16,19,24,85,92  resources.Organizations are adopting cloud-based system due to their multi characteristics.Five important characteristics explained in Hanna et al. 50of cloud-based system are as follows: i. Service providers do not need to be contacted in order for users to take advantage of the cloud.
ii.Over the internet, computing resources are accessed using standard protocols.
iii.In cloud services' provision, a multi-tenant's paradigm can be utilized for resources sharing and distribution between users.
iv. Computer capabilities may be easily increased or decreased based on the changing needs of users.
v. Pay-per-use approach for computer resources is utilized by user.
Study like Cocco et al. 92 highlighted other characteristics of cloud-based software development that are as follows: a. Infrastructure investment is not required immediately.
b.For cloud services provisions of software and hardware are not necessary.
c. Development apps operate on infrastructure that does not need to be maintained.
d. Maximizing the usage of internal IT resources.
e. Eliminating everything that does not provide value and just developing what is necessary.
f. Streamlining the process of setting up and deploying apps by storing them on the cloud.
g. Pay per use.
h. Organizational solutions are simple to be incorporated.
i.During all phases of software development, teams work together effectively.j.Faster time to market.
To identify the significance features of cloud-based software, various research articles are thoroughly studied.The features are extracted to identify the most appropriate feature so that organization or developers can enhance their capabilities for making cloud-based development effective one.Table 8 represents various significant features that are extracted from these published articles.

| Challenges of cloud-based software development
The paradigm changes of software from conventional to cloud in software development present numerous challenges when the quantity and quality were analyzed.The risk of failures affecting applications running at the cloud will increase with the wide usage of cloud computing resources.A thorough examination of the challenges faced by developers and software firms in designing and implementing cloud-based applications was carried out to assist practitioners to carefully identify and synthesize issues while developing quality software.The presented SLR has revealed that security, privacy, and other significant issues represented in Table 9 have not received much attention but are becoming increasingly important for cloud-based systems.If these challenges are properly tackled, the cloud computing will offer radical alternatives, and the potential to transform the way software is developed and managed.

| Existing methods exploited for the development of cloud-based software
Various strategies are adopted by researchers and organization to aid in the development of cloud-based software.The existing methods used by organizations and developers are highlighted in Table 10, ranging from model-driven to domain specific methods.

| FINDINGS AND DISCUSSIONS OF THE PROPOSED RESEARCH
The research mainly focuses on answering the formulated questions that was posed during question formulation phase.In the first analysis step, various entities of cloud computing are highlighted that make up the cloud infrastructure.These entities include various participating platforms, brokers, tenants, and services providers, and they support the efficient and successful growth procedures of organizations.Fault tolerance Fault tolerance is unpredictable and leads to unexpected system performance.Cloud systems have increased fault tolerance flexibility to mend themselves from unpredictable faults that will lower their efficiency.

Resources availability
In cloud settings the resources are always made available to users which always fulfill the criteria of users and their applications.Appropriate techniques algorithms must be implemented to make availability of resources.Selfserviceability In cloud system, user must be permitted to select resources according to their demands and utilize them for developing applications this is also good for minimizing various infrastructure costs.

14,30
Distributed storage Storage must be distributed among distinct servers so that users can access or restore data unintentionally or intentionally.Cloud storage has enabled customers to access distant data repositories that are ubiquitous and easy to access from anywhere.
T A B L E 8 (Continued)

Features Description References
infrastructure to handle demand spikes and minimize downtime.If the rising traffic can be managed by expanding server capacity, a service can be scalable.It is a difficulty to develop a scalable service.It must be built and intended to prevent the bottleneck effect under increasing demand, such as in centralized resources management.Partitioning, asynchrony, and replication in programming models can be utilized for attaining scalability.

Autonomy
Autonomy is a key concern of cloud eco system.Recovery protocol must be utilized for resuming failed services, allowing the system to return to its correct execution state automatically and without the need for user intervention.

Utilization of resources
Cloud system utilizes the resources efficiently and effectively to serve many users.

Assurance of services
In cloud environment the services provided must be assured for smooth operations 47

Performance
Performance of task will be increased in cloud environment due to distinct geographical crowd participation.

49,70
Ability Many companies whose operations include storing huge volumes of data that may be needed for later usage demand cloud computing services that have an archiving function and simple access to stored data.The cloud approach must provide the ability of acquiring various resources to users.

50
Resources allocation In cloud system resources are virtually allocated to consumers when demanded.Some strategies must be adopted for allocating resources to users.

Configurable resources
Cloud service providers are frequently able to deliver the configuration of hardware and software whenever it is required in a shared infrastructure system.

57,59
Throughput High throughput will be achieved in cloud setup as multi tenants are involved in carrying out tasks.

Concurrency
Concurrent processes are carried out on cloud that will enhances the efficiency of processes adopting cloud paradigm. 8

Rapid elasticity
Rapid elasticity permits end users to swiftly add or remove service features as required.They might also charge a fee based on utilization quantity.Cloud-based software and systems must provide elasticity in resources. 95,99

Load balancing
The processes load must be balanced in cloud-based applications for enhancing the overall process.Hardware reliability Cloud software must recover from a range of hardware problems including machine crashes, disk failures and malfunction on the network.Some appropriate techniques may be utilized to ensure reliability. 19

Planning
As the software is developed virtually it may lack the proper planning process which decreases their performance. 6 Faults and errors Cloud-based applications are complex and they may face various faults and errors.Fault and tolerance strategy should be adopted to avoid these risks. 22

Compatibility
Web browsers are the primary drivers of cloud-based solutions.In cloud echo system, there may exists device compatibility, browser compatibility, platform compatibility issues between different cloud providers as they may have no or limited interaction with other applications.Software and applications developed must operate on heterogeneous setup in cloud environment.

9,58
Resources variability Variability in different resources exists in cloud-based applications and heterogeneous devices that impact stochastic performance, and it is difficult to be optimized.

11,25
Security Security is the most important challenge in the cloud-based software system.The resources and information must be kept secure by utilizing cryptography, digital signatures, etc. Vulnerabilities A vulnerability is "a flaw or defect in an information system, security method, architecture, or control that might be manipulated unintentionally or on intention to break security."Cloud applications are exposed to various kinds of vulnerabilities.Such as spoofing, tampering, etc. Appropriate algorithm or techniques are mandatory for overcome these vulnerabilities.

28,31
Uncertainty Uncertainty is caused due to heterogeneous devices and multiuser engagement in a cloud setting.Cloud software and system may be provided the ability to handle uncertain situations.

30,89
Service exchange In cloud setting, many providers and consumers are participating in carrying out tasks; there may exist a deficiency of reasonable cloud platform that can manage a huge number of participating users to exchange services impeccably.
14 Selection issue A cloud marketplace allows service providers to publicize their services so that users may choose the services they need.Some users can visit the centralized registration server to locate and select various services they need.Service user faces difficulty in the selection and discovery of the essential services from the platforms.Some facilitation like user friendliness must be provided so that users select appropriate service.
14 Self-adaptiveness It is frequently important to adapt software to changing requirements to ensure proper and satisfactory results.Cloud software however lacks a proper self-adaptive mechanism.They must be provided capabilities in response to the growing number of users and cloud services.Self-adaptiveness includes self-configuring, self-protecting, self-healing, self-optimizing.

Information control
As data is shared with other company as a result there is limited or no control of information.They cloud organization must adopt various strategies for information handling and management.
with cloud-based systems such as compatibility issues, vulnerabilities, uncertainty, and privacy that creates some misconceptions between organization in adopting this approach.The proposed SLR will aid corporations, designers, and developers in developing and deploying efficient, effective, and user-friendly real-time software.
Quality software is developed in less time and at a lower cost using cloud.This review has a variety of implications for software developers.

| RESEARCH LIMITATIONS AND THREATS TO VALIDITY
Besides many key applications, some of the limitations of this research work are listed below: • There are several digital libraries that contain research publications; however, in the suggested SLR, we focused on five reputed libraries.It was opted to limit the emphasis on high quality peer-reviewed publications.
• Time frame for this research was decided that ranges from 2011 to 2021 (with a portion of 2021 considered), although the articles are published daily; therefore, some latest research articles may be missed up.
• The selection of papers does not include Google Scholar.This decision was made since it offers access towards every article and journal.To save time, access and to remove redundancy just reputable journal were selected.
T A B L E 9 (Continued)

Challenges Description References
Latency Latency in cloud applications increased when indirect communication between different devices takes place.This must be decreased for enhancing operations.
Developmental settings As cloud-applications will be in various settings and engage with third-party applications, local development activities must be modified. 35

Privacy
Information and its processing are carried out in shared environment in which third parties also participate so there may exist data privacy issues.Some mitigations strategy should be adopted to overcome privacy issues. 37,50,80,103

Unpredictability
As the cloud processes are carried out in heterogeneous environment so the computing and communication infrastructures are unpredictable.The system or applications must be designed in a way so that it works accurately in unpredictable situations. 37

Maintainability
Due to the exponential growth of overall complexity, the quality of software products and preserving their quality are extremely crucial and difficult.A high maintenance cost for modification of cloud-based system is required when a system get damaged or become faulty.

Modification
The modification in requirements can lead to the evolution of components in cloud software that must be efficiently carried out.

13,59
Fragility Fragile means the quality of being vulnerable.So, cloud software are fragile due to its global natures. 66

Upgradation of tools
To extend the existing solutions for the future need.Upgradation of cloud software is necessary for smooth operating of various processes.If it is not carried out the system will not maintain his state towards a causing failure. 75

Standards
Cloud computing is still in its development, with a scarcity of comprehensive standards and applications.

Irrational resources allocation
As a result of irrational resource allocation, cloud-based software applications may suffer from degraded QoS and excessive resource expenditures.
T A B L E 1 0 Existing methods utilized for development of cloud-based software

Method Description References
Orleans Orleans is a paradigm for software that can construct dependable, scalable, and flexible cloud applications.Its programming approach emphasizes the adoption of basic, easy to learn and utilize competing patterns.This is built on distributed actor elements, known as grains, which are discrete state units and computation which communicates using asynchronous messages.Promises are the structure for the management of asynchronous communications as well as local task-specific concurrencies.Discrete constraints and a confined model of performance allow Orleans to continue, move, reproduce, and rectify grain.Free platform as a Service (FPaaS) A multiple service platform for the development of a modular platform as a service (PaaS), is developed from free single-service application.The architecture replicates the power of cloud computing through the usage of local client installations of software as a service.The cloud platform is tailored to the user's requirements with small modifications and settings for each software service.This Free Platform as a Service (FPaaS) strategy is an initiative to illustrate the strength of cloud computing without any expense.Free Platform as a Service (FPaaS) matches the PaaS architecture features and offers flexibility, robustness, data adaptability, multi-tenancy, programmable and configurable user interfaces.

20
Software Rejuvenation Software aging is a phenomenon in which the performance of software deteriorates over time and eventually fails.Software Rejuvenation is a proactive fault management approach to clean up the internal state of the system in order to prevent further catastrophic failures.Rejuvenation software means that the program or system is sometimes terminated, its internal state is cleaned and restarted.Rejuvenation of software is a cost-efficient response to hard failure and deterioration in performance.In an application type client server in which the server is to run permanently to provide its server customers with service, the availability of the services is increased by renewing the server process periodically during the most inactive server time.Rejuvenation and restarting a program at an earlier check point enhances the probability that the application is completed successfully in a long-term, execution of computational application.

21,70
FSaaS paradigm A novel failure scenario as a service paradigm is introduced that is to be used across the cloud to assess the cloud applications' resilience.The cloud service providers and customers that rely on Hadoop map-reduce clusters can now employ FSaaS paradigm.FSaaS can offer services to a large variety of clients by targeting Hadoop.To enable Hadoop service providers and application vendors to test their applications against the risk of major failures on the Hadoop platform.For specific sorts of tasks, several failure scenarios were produced.Customers are enabled to pick situations in order to assess the systems.

22
Blending algorithm Blending in the Markov random environments is a novel approach for analyzing queue network models.This family of models is simply applied to describe the performance of cloud software systems, which allows users to easily characterize uncertainties concerning the deployment environment for a random Markov environment.Analytical hierarchy process A systematic risk-conscious technique has been developed to identify barriers and to solve them by utilizing the Analytical Hierarchy Process (AHP), in a cloud adoption process.
The technique builds on goal-oriented requirements engineering, the handling of barriers and AHP to systemically model and mitigate risks.The steps utilizing a nontrivial instance to show applicability are illustrated.Stability and sensitivity analyses were performed to assess the correctness of the method.The investigation focuses at evaluating the AHP resolution strategies that are capable of mitigating hazards.
CAF E A unique system called CAFE was developed for cloud architectures where critical software logic is processed, even if the kernel of the operating system is penetrated, with strong confidentiality protection against piracy or reverse engineering attempts.The core mechanism is the end-to-end application execution framework which comprises of the safe encryption and delivery of secret binary software and of runtime procedures for loading, decrypting, and protecting program logic, separating them from hypervisors based virtual machines.

Orchestration
The orchestrator is a key framework utilized to the conventional need of cloud applications' reliability.Notably, as an untenable situation, cloud does not provide an availability and reliability of resource; hence, the need for a software solution is mandatory.An orchestration framework with a linked surveillance provides a service to define in its service description a series of alerts and associated calls, therefore allowing it a control loop to guarantee that the service is first operated as planned and scaled to the current user load correctly.In addition, as a risk management, the orchestrator can give the possibility of achieving a dependable continuous support by managing the requested routing path and identifying precisely which components of an application operate in which version of software.

Cloud Monatt
Cloud Monatt is built on the paradigm of the property certification and offers numerous new capabilities.First, it offers a framework to monitor several health safeties concerns.Second, it illustrates how measurements gathered may be interpreted and mapped to customer-understood security features.These links the somaticized gap between the VM characteristics sought and platform safety measures.Third, this is the first real estate attest for a VM.

Cerebro
A system called Cerebro can forecast the time it will take to respond to a web API when it is deployed on PaaS clouds.By using a combination of static analysis and historical performance measures, it extracts the sequence of cloud SDK calls performed by a particular web API code.Cloud SDK performance data is analyzed using QBETS, a nonparametric time series analysis and forecasting approach.Predicted response times are utilized as statistical "guarantees" with associated guaranteed probabilities.While developing and deploying a web API, Cerebro eliminates the requirement for constant API performance testing.A further benefit is that the software does not interfere with run-time operations and does not require program debugging, making it scalable.

Stride-dread
Microsoft's stride-dread methodology is used to analyze and measure cloud security risks and their implications in cloud systems.Threats are ranked according to their severity, and clients' security.
Service model A service publication and subscription model is presented as the basis of an open cloud marketplace middleware system for cloud software services.Traditional content-based publish/subscribe paradigm is extended by an entirely new distributed publish/subscribe paradigm for service publication and subscription.For multidimensional contents, such as functionalities and behaviors matching mechanisms utilized.Using this model Users can subscribe to services in the open platform based on specifications and requirements of the services.

Cloud burner
To generate predictions and test them in various experimental circumstances, a mathematical model was devised that explains CPU allocation per tenant based on (Continues) interference from other tenants on the same VM.On the other hand, a methodology for evaluating the resource-intensiveness of cloud applications was developed and tested using a slow-down technique when a resource-intensive cloud burner was introduced.
Pattern catalog Three patterns are created to help guide software development teams while building applications for the cloud.Messaging System explains how messages may be propagated between services in a cluster by using a communication bus.To accurately debug unforeseen errors, preemptive logging suggests that services and their hosting servers change their log verbosity.Finally, log aggregation takes the logs produced by the previously mentioned patterns and puts them in one place where they are indexed and made available to the development team in a way that simplifies correlating events from different sources.

Automated recovery
During the design process for cloud-based applications, two patterns are introduced.Automated recovery approaches are integral to infrastructure orchestration, and it constantly checks the execution condition of hosted services.Automatically, one of the various supervision techniques is implemented in the event of a service failure.In addition to making and performing backups, scheduler also enables the team to plan internal health checks.40   Scale trust SGX and Hsms are used in a hierarchical paradigm to increase performance, deployment, and usability while increasing security assurances.Our case studies demonstrate that scale trust may be deployed to security services in microservices that regularly require cryptographic operations.Lastly, our early study reveals that scale trust reduces end-toend latency and delivers cost-effective scalability.
Rideaas Rideaas, a new cloud service, has been suggested and is expected to have a major influence on cloud development.In the cloud, the development environment may be delivered as a service.Rideaas adds to the preceding concepts by combining ideaas and raas, which are complimentary.Thus, cloud end users and developers will be able to identify important components in their program, allowing them to employ fault-tolerant approaches.

DECIDE
This paradigm facilitates tight collaboration between software developers and IT operations with the goal of establishing continuous integration, continuous delivery, and continual development.This H2020 activity develops an enhanced DECIDE devops framework and a set of accompanying tools to assist the creation and operation of multi-cloud native applications deployed across heterogeneous cloud resources.

RADON
A new devops-based microservices and server less application framework is being created as part of the RADON research project.RADON contributes to performance engineering by including innovative modeling, deployment optimization, testing, and runtime management methods.

CANVAS
The technological possibility of building a visual simulation environment in the form of an IDE for designing and executing visual M&S applications "in the cloud" using a web browser is demonstrated.Component-based model composition is used to ease the construction of visual simulation models for traffic networks.An IDE is being developed to give computer-aided help in the composition and visualization of simulation models under a web browser on a client computer, while the simulation model is being performed on a server computer.Because it is cyclical, features are accumulated incrementally throughout the span of the cycle.To ensure early acceptance of the produced solution, prototyping is necessary.

Evaluation criteria for cloud infrastructure
Seven group criteria for assessing cloud systems are adopted from Gartner's "Solution criteria for cloud integrated IaaS and PaaS" report.An examination of the real use of Gartner's criteria was adopted that led to the development of a framework for assessing cloud platforms.Moreover, the proposed set of criteria was proven by a comparison of Google, Microsoft Azure, Amazon Web Services, and Cloud Platform solutions.

Benchmarking
To minimize the resource requirements of software in data centers, one must be capable of determining the utilization of software resources.For this reason, a benchmark was created to analyze the consumption of resources of data center software and ensure the energy consumption of common application types comparable among providers.The Benchmark addresses three key issues: (a) how to describe and measure software resource consumption in a comparable manner; (b) how to standardize tasks for data center software with identical characteristics; and (c) how to incentivize potential users.Using a benchmark framework and prospective collaborations, various solutions to the issues were suggested.
Performance modeling Cloud capacity planning and design need performance modeling and simulation methodologies.To mimic the hardware and software components of clouds, we have developed a modular method.It allows for the quick building of new cloud models by combining simple or complex simulation modules, adding new cloud modules as needed, and changing the implementation of current modules as required.This technique may be used to create new cloud models in a short period.
Branch-and-bound algorithm Using a Branch-and-Bound (B&B) algorithm, a dynamic adaptation strategy for multi-cloud applications is proposed.This technique optimizes the adaptation process itself by deciding which services to deploy inside the application.When compared to another approach that examines all configurations for customizing a program, the B&B technique was shown to be more efficient.Due to its scalable nature, this new method can handle huge configurations of multi-cloud applications, which include a high number of cloud services, without compromising on performance.
AURA AURA is a cloud deployment solution that is used to deploy applications over providers that experience transitory problems (e.g., network glitches and temporary storage media issues).An application description may be deployed over the most error-prone infrastructures using AURA, and scripts can be re-executed as few times as possible.

MADONA
In addition, MADONA, a method for automatically developing cloud-based business applications, and RIVAL, a requirements vocabulary based on the Linked USDL principles, were presented as solutions to the problem of making application development accessible to non-IT users.
Cloud-based software testing service Software unit testing may be made easier by using a CSTS that emphasizes QoS characteristics such as defect detection capabilities, resource consumption and cost.A new Hadoop and cluster customization framework is being developed to offer customers with the most valid and appropriate configuration for improved performance in terms of time and cost in addition, a clear pricing strategy was implemented that meets the expectations of clients while maximizing the net profit of service providers.The efficacy of the proposed framework is clearly demonstrated by experiments done in a cloud environment.
Self-learning and self-adaptive approach Resources for cloud-based software services are allocated in a way that is self-learning and self-adaptive.This model is based on machine learning and can be trained using historical data.It can predict QoS values by utilizing workload and resource allocation information as inputs.To find an acceptable resource allocation plan utilizing the QoS model, genetic algorithms can be used to automate on-line decision-making on resource allocation.QoS model accuracy of over 90% and resource utilization improvement of 10-30% were measured using Rubis benchmark.

QoS prediction model and a PSO-based runtime decision algorithm
A self-adaptive resource allocation system for cloud-based software applications was developed using an iterative QoS prediction model and a PSO-based runtime decision algorithm.Using SVM, NLREG, and CART, three iterative QoS models is trained.Using (Continues) Software process simulation modeling SPSM is used in software developmental processes for a variety of purposes.Utilizing SPSM the analyst identifies real-world issues in the field of software, and then uses a simulation method to build as-is/to-be models that are validated using reliable empirical data.Cloud-based project simulation provides a cost-effective approach to forecast consequences of various actions, allowing for effective and smart decision-making throughout the process. 71

Software defect detection model
The model can be used to find problematic components in large data sets of software metrics The proposed method is unique in that it can discover significant metrics by combining several filters and wrapper techniques.One of the major features of the suggested technique is that a parallel framework of a hybrid software defect predictor was built and assessed in order to cope with large amounts of software metric data in a computationally efficient manner in a cloud environment.In the parallel framework, two separate hybrids were built employing Fisher and Maximum Relevance (MR) filters with an Artificial Neural Network (ANN) based wrapper.For all parallel variants, assessments are carried out using real defect-prone software datasets.
T A B L E 1 0 (Continued)

Method Description References
The first model defines what the system is intended to perform but hides all of the technical specifics connected to its implementation.According to the Platform Independent Model, views of the systems can be mapped to many platforms at the PSM levels.The Platform Certain Model refines the PIM with technical specifics necessary for describing how the system may use specific platform.

Software development life cycle model for cloud software development
The Software Development Life Cycle (SDLC) for Cloud Computing is provided.The process model describe includes both the activities and the roles of the stakeholders that are involved in them.To create an SDLC for cloud environments, multiple process models were synthesized that are already mature for traditional software development.
Water-fall model, prototyping, and incremental models have been merged, and a new model has been created based on their properties.

Cloud-based performance testing
Provides faster, efficient, on-demand access to the entire test infrastructure resources.Software, servers, storage system of unit tests and results, bandwidth of network, and security requirements for testing the application can be delivered through networks, decreasing managerial efforts and service provider involvement.

Weighted sum model and rule based DSS
The most popular architectural styles for creating cloud-based software-as-a-services are REST and SOAP.Because of the complexity, regular maintenance, and updates of the installed services, selecting the appropriate architectural style based on NFRs, architectural style features, and domain needs is critical.Choosing the proper architectural style, on the other hand, is a multi-criteria decision that requires the software architect to examine all the elements, as well as their relative importance.
Using the weighted sum model (WSM) and rule based DSS, the suggested system addresses the problem.To obtain a suggested architectural style that is appropriate for the given domain, define ACS and NFRs criteria in the form of rules and use relative weight of importance (priority) to WSM.

Domain-based, decentralized framework
Users and virtualized resources can be offered and managed in IaaS using a domain-based, decentralized paradigm that was presented.Adding a new layer entitled domain to the user-resource direct mapping technique promotes decentralization of both user and resource management tasks.As a result of the architecture, domains can also manage their users and virtualized resources allocated by the IaaS provider.Scalable user and resource management, security and governance policy assistance, and price reductions are some of the advantages of a domain-based approach.

MOACS-coper
A unique multi-objective Ant Colony System approach is proposed to enhance cost, performance, and reliability in the cloud.The approach proposes a metaheuristics-based strategy for the multi-objective cloud-based software component deployment problem.
Using a number of architectural degrees of freedom, MOACS-coper explores the search space of architecture design options to provide a collection of Pareto optimal deployment configurations.A Java-based implementation of the Non-dominant Sorting Genetic Algorithm II is provided as a comparison (NSGA-II).

OVMP
In order to modify the trade-off between on-demand and oversubscribed expenses, OVMP (optimal virtual machine placement) is offered.TPC-W WIPS (web interaction per second) is the primary statistic used by the TPC-W to evaluate performance limitations.Prefrail and D-cloud testing tools are used to detect the abstract information of an I/O call, as well as the injected failure, to identify every failure.D-cloud gives genuine errors in the program.

Particle swarm optimization and genetic algorithm
For cloud-based software services with workload windows, a resource allocation technique that adjusts to changing workloads.The proposed technique combines current and future workloads into the process of generating resource allocation plans based on QoS prediction.Next, the PSO-GA is provided for making runtime judgments for examining the goal resource allocation plan.Due to the extensive simulation testing, the recommended approach for improving resource allocation in cloud-based software applications has been proven to be successful.

Cloud-based testing
Organizations should carefully test their web-based apps before launching a website.It is common to do functional tests on various platforms, as well as cross-browser reliability and performance assessment.Cloud-based testing offers a bunch of reduced expenditures, on-demand flexibility, and better collaboration above traditional in-house testing.For the most part, it speeds up testing and decreases time-to-market.System dynamic simulation model Cloud and conventional environments methods to Global Software Development were compared using a simple system dynamics model.In order to avoid building a model that is too complex, variables that influence mostly the processes in our opinion were considered in simulator.98 BRACE BRACE, a cloud-based comprehensive, one-stop hub for software reliability tools, is introduced.In addition to an advanced analytics engine, these technologies come with an easy-to-use interface that is available as a service to developers.Because BRACE is cloud-based, it is not only well-suited for VNFs, but also makes it easier for distant teams and numerous projects to share diverse tools.An automated SRGM tool has been developed and is currently being utilized in telecom software projects with impressive accuracy and scalability.Simulations are used to evaluate alternative methods under various run-time situations in a cloud environment to improve the scheduling capabilities of cloud computing software systems.a task grouping scheduling method is proposed that is integrated with shortest-job first and bandwidth awareness algorithms to decrease the waiting time and its related processing costs.As a result of the suggested scheduling method, a minimal waiting time is achieved, and deadline restrictions may be computed.
carried out with global crowd and in heterogeneous environment.In existing literature studies, the software development is carried out via cloud with the help of crowd workers which poses various challenges that must be identified and solved for the purpose to increase the quality of software and to minimize the cost on complex software.As no criteria is present that efficiently tackle these risks and challenges for development of quality software, therefore, a risk mitigation and management system should be adopted in future research work.

ACKNOWLEDGMENT
This work was supported by Qatar University, Doha, Qatar, Internal Grant IRCC-2021-010.This publication is supported by Qatar National Library, Doha.

K
E Y W O R D S CC, cloud-based software, cloud computing, cloud deployment, cloud development, software engineering 1 | INTRODUCTION What are the participating entities of cloud-based software?Focuses on the various pioneer entities of cloud-based software development.These entities are identified for the purpose to observe the overall developmental process carried out on cloud for development of quality software.RQ2: What is the significance of cloud-based software development?Highlights why to use cloud-based software development.The need for and importance of software development to be carried out via cloud will be briefly described RQ3: What are various challenges of cloud-based software development?

F I G U R E 2 6 |
Percentage wise retrieved articles from digital libraries F I G U R E 3 Annual distribution of the selected research studies T A B L E 4 Scrutinization criteria Inclusion process Exclusion process English research studies Articles of another languages Paper that are relevant to cloud-based software development Articles not relevant with research topic Range of years (2011-2021) Articles reported before 2011 are excluded Papers that answer at least two proposed questions Paper that does not answer at least two proposed questions F I G U R E 4 Title-based articles selection from digital libraries 2.Quality of assessment and data synthesis

1
Are the articles presents various cloud participating entities? 2 Are the studies highlights the significant features of cloud-based software development 3 Does the research studies identify the challenges of cloud-based software development 4 Does the selected studies point out the methods, approaches exploited for the development of cloud-based Software F I G U R E 5 QoA-based articles selection from digital libraries T A B L E 6 Evaluation of relevant articles using assessment and selection criteria

7
Participating entities in cloud-based software Entities Description References services are running and functioning correctly.If functional failure occurs, then the cloud system must automatically be recovered 40 Time management Cloud-based development reduces time to market as developed globally.6,67,69,102

100 T A B L E 9
Challenges of cloud-based software Challenges Description References Complex programing Cloud-based software development runs in parallel and in distributed environment.The data are executed on several servers, data centers, and the communication is carried out with diverse end users.Therefore, programing such software is a challenging job and proper check and balance must be ensured to solve various risks.10

11 Catbac
(category-based access control) An approach has been provided for the adoption of security cloud services.This technique allows access control models to be specified to secure access to the Cloud data.Cloud providers need to provide security methods for their consumers to safeguard them fromT A B L E 1 0 (Continued) Method Description Referencesimproper access to their sensitive Cloud server data.The approach suggested is based on catbac, a two-stage generic access control metamodel.The metamodel is developed in The first phase into an abstract model, which is completed by the cloud Provider, based on the organization's high-level policies.The second phase enables network managers at the many locations of the company to improve the created abstract model in multiple concrete models, in line with the location limitations and site specifications.
based software is included in the proposed CSLCP paradigm.An application created from scratch and deployed in the cloud, a SaaS application, a microservice, or a mix of these might be considered cloud-based software.Prototyping takes place in a cyclic and iterative fashion.For continual improvement, the model uses iterations.
Reinforcement learning-based resource allocation Prediction-enabled feedback Control with Reinforcement learning based resource Allocation (PCRA) is presented as a strategy for allocating resources.First, a unique Q-(Continues) 6 | CONCLUSION AND FUTURE SUGGESTIONS Cloud computing is the ideal choice utilized for development modern software as they have provided a completely new way of developing real time cost effective, efficient, and quality software.Resources are provided virtually to tenants in a scalable way.The suggested study has highlighted the important research topics in cloud computing and has provided answers to some of the formulated research questions.A second consequence of the study is that future researchers and practitioners must analyze the proposed area to get relevant insights and information from it.Hence, a thorough examination of cloud-based software development is necessity.The objective of the proposed research is retrieved from different scientific studies.The primary aim of this SLR was to understand the state of the art of research in cloud-based software development and to help developers and academics in determining the literature's achievements for developing quality software.The study assists the organizations involved in the development of cloud software and identifies the significance for the development of software via the cloud.Challenges of cloud-based software were identified to develop and deploy efficient and effective software.For finding the gaps and limitations, the current methods utilized for cloud-based software development were also exploited in this study.Analysis of significant features of cloud-based software reveals that cloud software technology is necessary for the development of modern software.Quality software are produced in less time and at a little cost using cloud infrastructures.The proposed SLR will assist organization and developer in the development of quality-based software.For the development of modern software, cloud-based software development is a necessity.Various domains such as green computing, mobile cloud computing, and energy efficient systems have a strong potential for carrying out research on cloud-based software development.Carrying out the development via cloud also give rise to various concerns as the tasks are T A B L E 1 0 (Continued) Method Description Referencesvalue prediction model is created to forecast the values of management operations (based on Q-values) in different system states.The Q-learning method integrates several prediction learners to make reliable Q-value predictions.Using a novel feedbackcontrol based decision-making algorithm, the objective resource allocation plans may be found.Rubis assessment simulation results show that the PCRA selects resource allocation control measures with a 93.7% accuracy rate.

3 Number of article retrieved from digital libraries
• Phase 3: Appropriate studies are extracted from the digital repositories.T A B L E 2 Formulated searching string help in minimizing the articles; that is, articles that are not relevant to our research area are skipped out and appropriate ones are considered forF I G U R E 1 Proposed research method T A B L E

Table 6
6,12,23,27,77,78,96,97,101Data protectionIn cloud environment the protection of data from vulnerabilities is challenging activity.The data must be protected as it is an important asset of organization.
7SLASFunctional or nonfunctional services provided by cloud-based software must be aligned with Service Level Agreements.Cloud software development faced many challenges as there are no proper standard and license agreements between vendors and end users.The Service Level Agreement (SLA) is considered as a key cloud security issue.Cloud providers' inability to comply with service level agreements is also a challenged faced in cloud-based settings.6,15,27,62 Predictability Cloud setting may be affected due to various issues such as, characteristics of resources and its visibility, predictability of resources when they are shared among other applications.Proper management of resources is necessity in cloud software systems.25 Visibility Cloud computing provide an efficient management system in terms of computing resources (such as storage, networks, servers, etc.).Additional server instances are requested to handle increasing user demands and subsequently launch new servers when running on an elastic Infrastructure as Windows Azure.If traffic reduces, server instances are released.The resources must be made visible for other users.10,12,35,53,54,77 Testing software for many failures raises the challenge of multiple failures combinatorial explosions.Prefail, a programmed failure injection tool that enables testers to develop a broad spectrum of rules to Control the huge scope of numerous failures, has been developed to address combinatorial challenge.Three cloud systems integrating (HDFS, Cassandra, and zookeeper) are utilized by Prefail.A broad range of trimming policies may be written for the period of the test acceleration.All problems that you can identify using extensive experimental testing while spending 10X-200X less time than complete testing was discovered in an experimental method with the applicable testing rules.is automation of testing process of software.These involve developing and running test scripts, verifying test requirements, and using automated testing tools.Automated testing can be effective if some test process steps are automated and the resources available are allocated towards more tests.Most test cases are predicted to run at least five times in one project.Smoke tests, component tests and integration tests are particularly repetitive, making automation development very vital.

4
AutoscalingOn a physical machine, auto scaling is a dynamic process that changes software configurations, such as threads, connections, and cache, as well as hardware resources, such as CPU and memory, based on the current demand.The environmental conditions change throughout time.As a result of auto-scaling, cloud-based services' Service Level Agreements and budget requirements may be more easily met.For example, response time and throughput are examples of non-functional Quality of Service (QoS).UML test model is used as a robustness testing approach based on a behavior model of the system under test.Robustness testing based on models is beneficial because it considers both the state of the system under test and its interface.With incorrect inputs and inappropriate inputs, robustness constraints are imposed in a nominal model.The UML state model was not explicitly represented in the test case generation tool.Various erroneous inputs were represented by specific input events to keep the model from becoming too big.Test cases were automatically produced by a program that employs a meta-heuristic search method.
MethodDescription References experimentation, it was proved that iterative QoS model is more accurate than the standard QoS model in terms of predicting service levels.As a second step iterative QoS model, was integrated with the PSO algorithm to perform on-line automated resource allocation, and proved it was proved through experiments that this method substantially surpasses the current state of the art approach for self-adaptive resource allocation frameworks that cover maximal branches and discover errors in the shortest time feasible have been suggested.It uses the pareto dominance principle to resolve conflicts between numerous objectives and finds the best optimum solution for each situation.To make the framework cloud-ready, Apache Hadoop map-reduce was used.Using Apache Hadoop map-reduce, jobs for Java API test case creation may be distributed among many mappers in a simple and cost-effective manner.Also, existing cloud-based test data creation methods were compared to our suggested framework.It is evident from the experimental results obtained on a Hadoop cluster of ten nodes that our approach is highly effective.brand-new cloud IDE for building cloud applications.CIRANO's key feature is its ability to bring together developers from various teams while structuring application development into system, package, group, and user layers, allowing for concurrent development.Furthermore, because each new module may be introduced as a new layer, this hierarchical approach makes it easier to design extendable and maintainable programs.The issue of security is addressed by limiting user access to specific layers.Aside from layer constraints, the platform also provides table-level user security via access and change permissions.
63CIRANOCIRANO is a 65 iobserveThe iobserve technique is presented as a solution to architectural problems in cloud-based software application dev-ops.The iobserve mega model connects architectural models in development and operations at various abstraction levels.In the MAPE control loop, iobserve uses descriptive and prescriptive architectural runtime models.Extending the iobserve mega model to live visualizations allows architectural models used in operatorin-the-loop adaptation to show both static and dynamic content.68BlockchainsecurityBlockchain security is used for secure data transmission.Adding BCS to Online Ticketing Booking allows for extensive testing and verification of the entire system.According to the results of the experiments, BCS can provide a high level of security.103 93MSS optimiserFor cloud-based software applications with multi-tenant deployments, MSS optimiser proposes a QoS driven method that allows service selection.Integer Programming is used to help SaaS developers discover the best services for a multi-tenant SaaS that fulfill the QoS needs of diverse stakeholders.94 Cloud service selection mechanism Based on the "quality of service" (QoS) of cloud services, a unique service selection mechanism has been developed and tested in the cloud.Aside from multi-objective optimization, the proposed method can explore different cloud services depending on user provided QoS criteria.97 CMS For creating online applications, the Content Management System (CMS) has already shown to be a suitable solution, as it provides quick application development and ease of use.Unskilled users may generate, modify, and publish material with CMS.It is a very efficient and controllable application if CMS is used in conjunction with cloud computing technology.It was proposed to use content management systems to build cloud-based applications.