QAaaS in a Cloud IoT Ecosystem

The current transition state of the global society, both from economic and (mostly) technological perspective, goes – again – into overtime. Borrowed from fundamental domains and applied into science and research, the latest technological developments are built on graphene, silicene, phosphorene and stanene. The fourth industrial revolution changes perceptions and redefines the status of the individual, transforming him from con-sumer into pro-sumer of energy. Spintronics stimulates the production of accessories specific to the Internet of Things (IoT), like smart clothes connected to internet and implanted phones. Additionally, technology influences software development methodologies facing us with paradigms that transcend philosophies like green, grid, cloud computing and advance toward a superior manifestation of computer programming: Fog Computing (with the next level being presumably Rainbow Computing). Within this avalanche of transformations, technologies and paradigms, one aspect that has to evolve continuously is the quality assurance (QA). Hidden under various concept or methodology encapsulations, quality assurance in all fields and mostly in technological development and software paradigm play a key role. In an ecosystem defined by the context of Cloud IoT, quality assurance as service becomes a real challenge. In this paper we highlight the ways the ecosystem engages in its development not only things, beings, energies, sensors or objects but also technologies. One such popular technology is cloud computing which, in the context of IoT, sees a spectacular development of its own cluster of services, a potential such service being QAaaS.


Introduction
Outpacing original concepts like domotics or iomotics (obsolete today), IoT brings a global network as technological infrastructure, support for development of dynamic and efficient services for businesses.In synthesis, it reunites an impressive number of intelligent devices connected to internet.Envisioning 2020, the prognosis for IoT size is over 34 billion connected devices (of which only a little above 10% will be classic computers), a huge increase from the "mere" 10 billion existing in 2015 [1].Often called the biggest business in ICT field or the next industrial revolution, IoT influences various domains, from social-cultural or economic to individual level, technologies or political aspects.The so called 2D revolution in electronics is one of such advance.In this paper we aim to highlight the technological impact of IoT on Cloud Computing, seeking to identify and present new dimensions of cloud that come to reconfigure the provided service cluster, aiming towards an instrument that provides quality assurance capabilities, presenting itself as QA-as-a-Service (QAaaS).The scientific endeavour is based on interdependent approach of the working of the two paradigms -IoT and Cloud Computing which, in our view and others as well, defines a Cloud IoT technological ecosystemconsidering that any of them, on independent approach, has its own advantages, disadvantages and challenges and vulnerabilities.Thus, in spite of all these vulnerabilities, the current technological and social context stimulates the need to communicate, and this is the beginning of an entire chain of functional dependencies that may be called IoT Cloud ecosystem (figure 1).Unlike the 1 DOI: 10.12948/issn14531305/21.4.2017.01natural environment, we must notice that the final link represented by the development of IoT becomes a start link (producer).The need to communicate demands increased storage capabilities and dedicated applications to process a huge volume of data, more or less structured.All these are a few considerations for which, under the rule of IoT, we must notice how the Cloud Computing service cluster sees specialized developments for current social, economic, political, needs etc., embodied in as many specialized instruments.A great contribution to these developments undoubtedly comes from the individual (as client or developer).Individual imagination is always a development source (of technological nature in this case).As we will see in this paper, the new services coming to complete the cloud cluster are embodied in dedicated instruments for our communication, storage, monitoring, outsourcing needs, quality assurance, crypto-economy (see crypto currency notion) etc.The paper debuts with an introductory section, presenting general aspects of the proposed subject.Later comes a synthesis of the current knowledge in the perspective of an interfunctional approach of Cloud Computing and IoT.We present the novelties introduced by IoT in the cloud service cluster, highlighting defining features of these paradigms.Then we move on to presenting seven new dimensions of Cloud Computing, developed in relation to IoT and embodied in as many services.They come to complete what we called cloud service cluster, in a three tier architecture, along the basic cloud computing configuration (S/P/Iaas).A particular attention is given to the seventh cloud dimension -XaaS (Anything of Everything as a Service)which may encapsulate various services.From the perspective of this paper, two such services are interesting: Quality-Assurance-as-a-Service (QAaaS) and Blockchain-as-a-Service (BCaaS), as immediate research directions; are they a reality, a necessity or just a challenge?Finally, the paper highlights the authors' conclusions, research directions and bibliography.

A Cloud Internet of Things Ecosystem
In order to perceive correctly the extent of the relation between Cloud Computing and the IoT, we should imagine a symbiotic technology-information context generated by the two paradigms.Although the original term refers to two or several different entities (species, in scientific terminology), Cloud Computing and the IoT may work interdependently, supporting each other.Moreover, this mutually beneficial "cohabitation" breeds symbiotic products, such as CoT or Cloud IoT.In the light of what the IoT is today and the obviously expansionist trends in technology, Cloud Computing acquires new dimensions, materialized in field-dedicated services.So, at the height of the information and knowledgebased society it is worth highlighting several important aspects of Cloud Computing if we want to understand these new dimensions.According to its most pertinent definition given by the National Institute of Standards and Technology (NIST), Cloud Computing is a model for enabling convenient, on-demand network access to a shared pool of configurable resources that can be provisioned and released with minimal management or effort or service provider interaction [2].Cloud Computing may create the feeling that it has infinite power, as scalability and the multi-tenant management regime of virtual resources can at all times allow for their allocation/de-allocation based on the needs of the clients.In the light of IoT, Cloud Computing may be perceived as a type of utility computing.In essence, however, there are three things which are necessary to define an IoT node: intelligence, sensing and wireless communication.Beyond these aspects, the main IoT components may be identified in physical and virtual objects, sensors and actuators, individuals and services, communication platforms and networks [3].However, the revolution of Cloud Computing we have witnessed in the last decade pushes the ICT infrastructure of today to improve efficiency, by better integration and stronger convergence.In this context, we are debating and practically implement Cloud facilities consisting in the creation of virtual enterprise Cloud environments and Cloud storagesunlimited storage space, the provision of as many applications and data as possible, big data control, etc.

New dimensions of Cloud Computing in the light of IoT
From the perspective of the challenges raised by the IoT, the new dimensions in Cloud Computing can translate on three levels:  the first is the level of project-dedicated software, rather economic or organizational in nature, mainly addressing the aspects of virtual entities (virtual enterprise, virtual team, virtual project, etc.) and consisting of CoMaaS, MoNaaS, DaaS and OaaS dimensions;  the second is the level of project-dedicated hardware, requiring first a physical space and then a virtual component that, together with Cloud, may best address the Big 7 of IoT; it consists of CoNaaS and MeTaaS dimensions;  the third level that may consist in a hybrid behaviour springing from the first two levels; from the angle of the new Cloud dimensions in the light of IoT, for the moment experts call this level XaaS (pointing to unpredictable developments in technology or methodology).

Fig. 2. A new face of Cloud services Cluster in the light of IoT
CoMaaS -Communications-as-a-service is an outsourced enterprise communications solution that can be leased from a single vendor.Such communications can include voice over IP (VoIP or Internet telephony) instant messaging, collaboration and videoconference applications using fixed and mobile devices.From this perspective, CoMaaS can enable businesses to employ low cost communication services and helps the efficiency of any business processes reliant on audio or video telecommunications.As far as its position in the Cloud cluster is concerned, CoMaaS has evolved along the same line as SaaS and provides easy to use and useful features.MoNaaS -Monitoring-as-a-service is defined [4] as one of the many Cloud delivery models under anything as a service, XaaS.On the other hand, monitoring-as-a-service facilitates outsourced and secure enterprise access to business platforms that use the Worldwide Web in their current operation.It has become remarkably popular in the past 10 years, especially in sensitive fields such as cybersecurity.Security is a highly critical component in the delivery and protection of the confidentiality, integrity and availability components of information technology.In spite of that, time and resource constraints put a cap on security operations and their efficiency in most enterprises.Such limitations strengthen the need for constant vigilance over security infrastructure and information systems.By its very name, MoNaaS points to the fact that it is a framework that facilitates the deployment of monitoring functionalities for various other services and applications within Cloud.The most common application is on-line state monitoring, which continuously tracks certain states of applications, networks, systems, instances or any security element that may be deployable within the Cloud.In terms of its v DOI: 10.12948/issn14531305/21.4.2017.01position within the Cloud, monitoring can go in line with SaaS, from the perspective of the security elements it can ensure, or right next to PaaS, in a more technical scenario.DaaS -Hosted desktop service or desktop-asa-service is a Cloud Computing solution in which virtual desktop infrastructure is outsourced to a third-party provider [4].DaaS is a multi-tenancy structure where the service is delivered based on subscription.Back-end storage, backup, security and upgrade responsibilities rest on the service provider.While the service provider deals with all the back-end infrastructure and maintenance costs, clients manage their own desktop images, applications and security components, except for the case when such desktop administration services are included in the subscription.A new Cloud dimension in the light of IoT, DaaS comes with a set of advantages, such as reducing IT governance cost, reducing process complexity, disaster recovery, continued connectivity, reliability, data security, etc. Positioning within the Cloud cluster is between SaaS and PaaS.OaaS -Outsourcing-as-a-service lies at the border between SaaS and PaaS, first of all based on the importance of outsourcing in the context of the global economy and the technology-based society we live in.This paradigm generates modern business models, such as Cloud sourcing.Even if OaaS is not accepted as a stand-alone element in the Cloud cluster now, if we see it in the light of what it represents and the advantages it delivers, it will soon become an indispensable component especially for small and mediumsized enterprises.For at least 10 years, the field of business process outsourcing (BPO) has become a must of the present (why not, the future, too) of enterprises in the current context of global business.From the point of view of technologies, applications are supported by a wide range of platforms.Therefore it is up to the levels of management within an organization to decide whether their operations match Cloud sourcing solutions and to what extent.CoNaaS -Containers-as-a-service is another form of virtualization in which the main underlying computing resources are delivered to users from a Cloud provider.In the light of IoT, CoNaaS significantly focuses on challenges such as scalability and security.The most popular solutions are provided by Amazon, Microsoft (through Azure), Google and Rancher Labs.From the perspective of the technology, this service heralds the future of Cloud services.Within the spectrum of Cloud Computing services, CoNaaS falls somewhere between PaaS and IaaS, but it is closer to IaaS.MeTaaS -Metal-as-a-service first of all refers to the Cloud hardware component, namely servers.The main funder in the distribution of Ubuntu Linux OS -Canonical [5] -has launched several developments in this direction.Actually, according to Canonical, Ubuntu has now become the most popular operating system in public, private and hybrid Cloud solutions.The underlying idea in MeTaaS is that the hardware is now a type of commodity that is first bought for what it can provide.In a Cloud environment, clients care too little about the technical details of the processors or band speed.On the other hand, what they care a lot about is the Cloud storage capacity, computing power and communication network performance.In this sense, metal-as-a-service is a way to bring together the interests of the clients by making available specific configurations of Cloud hardware resources, mainly on servers.In other words, metal-as-a-service allows treating physical servers as if they were virtual Cloud machines.XaaS -Anything or everything as a service stands for nothing else but the future of Cloud Computing.Or rather, to come closer to the spirit of this chapter, XaaS covers all the IoTspecific information technology resources that are left uncovered by the previous services.In other words, XaaS is a term that describes a wide spectrum of Cloud Computing and remote access services.On the other hand, XaaS seems a bit of an ironic name for the proliferation of Cloud services.To quote Techopedia 2017 [4], the basic idea behind XaaS and other Cloud services is that organizations can reduce their costs and DOI: 10.12948/issn14531305/21.4.2017.01acquire different types of resources based on a subscription with vendor companies.Before the emergence of XaaS and other Cloud services, organizations often had to buy licensed hardware and software, to have them installed and create extended networks.They also had to address security issues and deploy costly configurations over servers and other infrastructure elements for all their business processes.To sum up, XaaS clearly refers to on-demand services and applications over the Web, currently under development.Such services may materialize in the very near future, such as Learning-as-a-Service, Marketing-as-a-Service, Accounting-as-a-Service, Health-as-a-Service, Procurementas-a-Service, Blockchain-as-a-Service, Quality Assurance-as-a-Service or even Government-as-a-Service, why not?In the light of what the IoT is today, these developments are not mere speculations.They will soon turn into certitudes.This is confirmed by the fog computing paradigmthe latest model that extends the cloud computing approach mainly through (we believe) the XaaS dimension.This is a distributed computing environment that fully supports the IoT paradigm and brings data storage and processing closer to the intranet boundary of an organization.From this paper perspective, we must mention that fog computing, although closing resembling the cloud model, brings forward (as differentiating elements) its proximity to the final users, closeness of data processing equipment and support for mobility.Additionally, the fog model reduces the internet or service latency, preserves the network bandwidth, improves service quality, increases efficiency and improves user experience.Unfortunately, the new paradigm inherits inherent problems concerning mainly security and confidentiality of data on one side and user trust and authentication mechanisms, on the other side.Certainly, a superior level of the paradigm may be embodied, we believe, in a Rainbow Computing model, an original concept in the Cloud IoT context that will solve the security, availability and interoperability issues.Development Life Cycle -ASDLC) quality assurance is never a separated, independent stage.Still, in spite of its flexibility and excessive client orientation, the agile approach does not neglect the end product quality.Thus, each stage of a ASDLC (through Continuous Integration or Test Driven Development -TDD, etc.) includes processes, tasks and specific primitives for quality assurance (figure 3).This is why, unlike a traditional development where quality control involves a ponderous planning and strict reporting, with difficult and late testing, in agile development we talk about continuous control of requirements, design and solutions.In other words, quality control is done through continuous testing, on each iteration.

Fig. 3. QA in all ASDLC phases
In agile context, quality assurance primitives implementation is done by referring to standards regarding security, electronic signature, process and software product quality, evaluation of software processes.The most popular working standards for quality assurance are ISO 9001 and ISO/IEC 90003, ISO/IEC 15288 and ISO/IEC 12207, ISO/IEC 15504 and ISO/IEC/IEEE 26515 from the following suites: System and software engineering -System life cycle processes, Information technology -Process assessment, System and software engineering -Developing user documentation in an agile environment [6].

QAaaSa challenge for the Cloud IoT ecosystem
The current ICT ecosystem sees significant perturbations of digital nature as applications and software products.IoT integrates products in processes, encouraging/promoting the production of connected devices.Innovations like Open Source or Cloud Computing significantly disrupt software development platforms and infrastructures.Current characteristics of software platforms, like scalability, complexity and interoperability are fundamentally based on testing functions which must be run in almost real time.All this requires alternate testing methods that overcome current solutions and excel in heterogeneous environments to tap the added value of technology and provide an adequate combination of "inshore" and "offshore" resources [7].Both the literature and practical software development see quality assurance as a processual approach related to the threedimensional relation requirements-DOI: 10.12948/issn14531305/21.4.2017.01documentation-products.In other words quality assurance instruments define the targets of designing, developing and implementing a software product.Even more, due to its critical importance in a SDLC, quality assurance was promoted to management instrument, which seeks to find and solve the problems (bugs) before delivery of the product.In this context, a high performance testing activity is a must for any software development cycle.At the same time, in order to correctly perceive the real meaning of QAaaS approach (which is not necessarily originaloriginality here is given by the Cloud IoT context), we must distinguish between quality assurance services (QA services -QAS) and quality assurance as a service (QA as a service -QAaaS).In this context, Phillip Soffer (CEO of TestIO) proposes an original and interesting approach [8].Apparently, QAS and QAaaS are similar terms and, to many, even similar concepts.Still, there are important differences between these two approaches.As mentioned above, in [8] there is an interesting parallel between QAS and QAaaS on one hand and outsourcing and crowdsourcing on the other hand.Thus, speaking of QAS, due to the importance of quality assurance, in many fields this type of services are externalized in a form or another.In other words QAS is an outsourcing element, a category of services usually performed by a third party.Over a century of economic evolution, outsourcing has become a common business practice.
Crowdsourcing is a relatively modern term (beginning of 2000) and generally means the measure in which a task usually assigned to an employee or a team of employees may be assigned to a more abstract entity (usually a large group of persons or a business community).In the context of Cloud IoT ecosystem, crowdsourcing means collecting information and reactions (feedback) from many sources (individuals, business communities, social media) in near real time.That is why, unlike QAS, QAaaS is a more flexible approach and provides a more permissive set of testing capabilities.Due to the large number of individuals involved, QAaaS specific crowdsourcing means some aspects of a project may be tested and retested by thousands of users in real environments, from various locations and using real world devices [8].In an agile approach, QAaaS may be used for testing and retesting during the entire life cycle of software product development of for a specific prototype, one iteration or one version.The major advantage of QAaaS over QAS is in the reduced costs for cloud approach and the high flexibility.One solution available on the market that may provide on demand cloud services of QAaaS nature is Heroku (one of SalesForce companies www.heroku.com).Heroku is a cloud platform, based on container model, with integrated data services and a powerful ecosystem for implementing and running applications.From the perspective of Cloud IoT ecosystem, quality assurance affects the main elements: things, communication and computing [9].Thus, things may be considered physical elements with sensors (incorporated or attached) that allow the thing to interact with an external environment.Communication is the main network element that allows the thing to communicate with another and/or the external environment through a communication protocol based on a type of network, like a wireless connection, WAN, LAN, PAN or telephony service providers.The computing dictates the behaviour, processes and analyses data and takes place on a mobile device, a workstation, desktop or a server.Computing systems must provide decision alternatives and knowledge in a real system that, in the end, forms the connection for real use and user behaviour analyses with IoT.For each of the three components, quality assurance has a critical role.There are two levels for organizing QA activities: device interaction level (usually targeting aspects like conformance to standards, interoperability, securityidentity and authentication, protection, data encryption and confidentiality, local and cloud storage) and the user interaction levelthe place where things and users touch (targeting network

Conclusions
Cloud Computing dimensions like learning, accounting or health are still to be developed and only the future will tell if they will become certitudes in IoT context.There are definite developments for government dimension (for example) through procurement and e-voting.Real efforts for future research may be employed under the generously permissive XaaS, moving towards workflow and process control, and even entertainment as services.In any scenario we try, thing will converge towards business intelligence as a service (BIaaS) and later towards artificial intelligence as a service (AIaaS), like a full shape of cloud services cluster.Present day relations, no matter their nature (economic, social, political or personal) are built rather on a kind of digital marketing than through direct contacts.Regarding this aspect, an interesting perspective for future research is the BCaaS dimension of the cloud and the way it is not only a technology but also an instrument that transforms the financial sector, the economy and the entire society.More than anything, blockchain is not only an innovative technology but also a new paradigm, a redefinition of social and economic models, born as an answer to the failure of the traditional system.It allows sharing and exchange of values via Internet, using superior algorithms to verify the electronic signature and transaction security.Still, beyond the undeniable success of blockchain technology (see bitcoin for example) there are aspects of the society and/or the individual that must remain untouched by the technology.In light of XaaS cloud dimension and the functional dependence relation between fog computing and IoT, we must expect the emergence of corresponding technological elementsnew network architectures, communication technologies (see 5G networks), approaches of content management etc.