Deploying Services

There are several types of Services:

  • Stateful PU/Service - This is space containing data.

  • Stateless PU/Service - These are built-in services such as mirror wan-GW, data-GW and custom services

  • Client Services - These are applications which interact with spaces

  • It is also possible to develop new services based on Blueprints.

Low-Code Micro-Services

The creation of low-code micro-services is relevant for Smart DIH only.  It is recommended to use this method to start stateless services.

Through GigaSpaces SpaceDeck, easy low-code data access micro-services can be created. For more information, refer to SpaceDeck – Services

Components

Name Function
Service Creator RESTful endpoint for deploying, underploying a Query Service
Service Operator Captures the knowledge of deploying and undeploying a Query Service
Query Service

Deployment: A stateless application running on a pod. The application will be deployed with x amount of replicas regardless of usage.

Service: Exposes a single outward-facing endpoint to this application on the cluster (internal network)

Ingress: Makes the HTTP (or HTTPS) network service available using protocol aware URIs, for example and external network

Service Creator

Services creation is managed by a Service Creator which, functioning as a RESTful application, manages the entire service deployment cycle.

The service exposes the REST endpoints, and is deployed in the environment via the Kubernetes orchestration.

Low code development of data micro-services provide our clients with the ability to deploy and execute data services efficiently.

This assumes that the micro-service runs a query on the Space data. It enables the user to define endpoints that, per request, will run the predefined query using the supplied required parameters to get the results.

Any new service creation request generates a new resource of the kind QueryService by submitting a request to the ServiceCreator service .

ServiceCreator service exposes the following APIs:

  • Deploy Query Service given Spec.

  • Get service spec-parameters given its ID.

  • Get list of available services of this kind (queryService).

  • Delete service.

  • Download logs of the service (using path /{serviceId}/logs

Flow