Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 State of the Art

The Software as a Service (SaaS) paradigm has become entrenched in the industry as a deployment model, bringing flexibility to the customer in pay-for-use models and making unnecessary to maintain its own infrastructure. In particular, these types of systems present a business model that depends on the expected benefits for certain infrastructure costs.

The main architectural paradigm of SaaS systems are the service-oriented architectures (SOA) [5, 10]. They have a number of characteristics such as low coupling, abstraction, reusability, autonomy, and interoperability. These architectures have traditionally relied on a set of specifications (SOAP, WSDL) that allow varying degrees of granularity and provide complex interfaces that often require heavy deployment infrastructures.

In recent years, there has been a trend towards a new architectural style that has been called microservice. This style requires that each component (a microservice) can evolve, scale and deploy independently to the rest, increasing the flexibility of the system as a whole. This architectural style is employed by high-performance commercial systems architecture such as eBay, Amazon and Netflix [8].

A common element of these architectures in particular, and, in general, when defining and implementing microservices is that they follow the RESTful paradigm. This paradigm provides a unified approach to identify the granularity and operational interface of microservices that has a high degree of extensibility. In particular, RESTful provides a lighter approach for building, deploying and cloning microservices more effectively.

RESTful systems provide numerous advantages in terms of elasticity, fault tolerance and flexible architectures design [3]. Both industry [7] and academia [1] agree to identify the management and evolution of services as a key element to achieve a more agile integration of the systems and to have a technological infrastructure that responds quickly to the business needs. These challenges are magnified in the context of microservice architectures since the independent life cycle of each microservice must be coordinated as part of a service catalog that has a higher growth rate than that of classical architectures [9].

As a first step in solving this problem, with a similar approach that in other industries, SaaS providers use the Service Level Agreement (SLA) concept to delimit the functionality and guarantees to which they commit to their customers. However, although formal specifications have been proposed for the definition of SLAs that arise in the context of the classic SOAs (WS-Agreement [2]), providers usually have an ad-hoc approach with a low degree of automation. This approach confirms the fact that the SaaS industry has not incorporated the idea of an SLA model that can be implemented within the infrastructure as a decision mechanism when it comes to supporting the SaaS business model. This instrumentation would be of special interest in RESTful microservice architectures in providing an automated governance framework for the service catalog and regulating the behavior of each component in the context of the agreements reached with each client.

2 Research Challenges

The thesis project focuses on the study of the ways to improve and automate the management of microservice architectures based on RESTful systems regulated by SLAs through the definition of methodologies, techniques and tools. Specifically, we have identified four main challenges:

  • D1: Establishing a sufficiently expressive specification for the description of RESTful microservices regulated by advanced SLAs

    This challenge would be focused on defining a specification that has the necessary elements to support two main requirements: (i) Establishing the service properties necessary to regulate government infrastructures that allow aligning the behavior of the system with the business model; in this way, these properties would guide the automated decision making in the different components of the architecture (e.g. their scalability strategies); (ii) Defining a price model that has sufficient degree of expressiveness to contemplate the actual variability of the purchasing processes taking into account aspects such as discounts or compensation [6].

    From the research context point of view, this challenge would represent the extension of the industrial specification for RESTful systems most used (OAI) to meet the requirements presented.

  • D2: Develop a catalog of SLA analysis and management operations to support the governance of micro-service architectures

    This challenge would address the characterization of the requirements to support the government of real SaaS scenarios regulated by SLAs with micro-service architectures. In particular, these scenarios can be classified into two types: (i) End-user information systems containing a backend-frontend (applications) schema; (ii) Integrated information systems that have only one backend component (APIs).

    These two typologies contain specific requirements to be characterized as part of the challenge in order to define a complete set of SLA analysis and management operations that allow the extraction of adequate information to support automated decision making in the provision of services and definition of business strategies.

  • D3: Implement a SLAs management ecosystem to support the government of RESTful microservices

    Based on the catalog identified in D2, this challenge aims to address the evolution of current SLAs management libraries to an ecosystem scheme articulated in microservices as new components within the Governify platform. This ecosystem would allow integrating SLAs defined based on the specification proposed in D1 to achieve an automated SaaS instrumentation with independent domain tools.

    Another interesting challenge to face is about how to automatically derive SLA profiles of services by observing past performance and learning their behaviors. With this approach, companies can leverage from SLA-governance solutions without the associated costs of specifying every metric threshold.

  • D4: Consolidation of the Governify platform to validate the proposal in industrial environments

    Since Governify has been designed to avoid ad-hoc approaches in SaaS governance, it has been designed as an open set of components that define a unified and homogeneous interface to foster the development of new research and industrial ICT projects.

3 Preliminary Results

In particular, during the first thesis year we have addressed the contribution C1, giving as a result the following activities:

  • C1.1: Technical workshops dealing with the technological ecosystem that is closely related to the thesis topic: (i) REST APIs Security invited talk for master students; (ii) Docker and Kubernetes workshop for master students. (iii) Technical meetings of servitization given to nodes of the RCIS network in order to share the research results with other nodes.

  • C1.2: Conferences, both national and international: C1.2.1 Towards SLA modeling in RESTful APIs, presented at the JCIS national conference; C1.2.1 An analysis of RESTful APIs offerings in the industry, accepted at 15th ICSOC edition.

  • C1.3: Journals: we are preparing a journal extension for the paper accepted on ICSOC as well as we are incepting another one on the specification of SLAs for RESTful APIs.

4 Relevance

This thesis project extends the scope of BELI, a Spanish national government project, whose objectives include the development of a governance system for hybrid services systems that integrate information systems (computer services) and teams of people. In this context, the initial stages have been covered with the GovernifyFootnote 1 ecosystem, which provides a set of microservices that support the design, monitoring and implementation of SLAs.

The objectives of the project are closely aligned with the IMPACT (H2020) European project, which aims to develop a set of techniques and tools to support the evolution of information systems to cloud platforms in the context of public administrations In this context, the present thesis project will try to provide the instrumentation mechanisms that can be incorporated in the integration of public cloud APIs to verify the fulfillment of the providers guarantees and the regulations required by public administrations.

The relevance in the industry of the thesis topic is evidenced in the numerous ICT projects. Specifically, we highlight SLA@OAI project, developed in conjunction with Icinetic, which aims to develop an operational extension to define SLAs within the framework of the Open API Initiative (OAI) specificationFootnote 2, which currently represents the reference standard, widely used in the industry, to define functional interfaces of RESTful services.

Furthermore, several European projects have been framed by this idea of service governance (SLALOM, SLA-Ready, CELAR, S-CUBE, RESERVOIR and SLA@SOI). These projects approach the topic of the Service-Oriented Applications (SOA) governance from different perspectives, but all of them place SLAs as a key element for the advanced management of infrastructure [4].