XAP Skyline Orchestration: Kubernetes

Overview

XAP SkylineClosed A highly customizable developer platform that allows building scalable HA with high throughput and ultra-low latency Java applications running on Kubernetes clusters brings a flexible memory grid solution to enterprise applications. In the case of a micro-service architecture, the memory grid blends easily with the restClosed REpresentational State Transfer. Application Programming Interface An API, or application programming interface, is a set of rules that define how applications or devices can connect to and communicate with each other. A REST API is an API that conforms to the design principles of the REST, or representational state transfer architectural style. of the micro-services running on the KubernetesClosed An open-source container orchestration system for automating software deployment, scaling, and management of containerized applications. cluster. XAPClosed GigaSpaces eXtreme Application Platform. Provides a powerful solution for data processing, launching, and running digital services Skyline can be deployed on an on-premise or cloud infrastructure using simple and universal components inside or outside of the cluster. Code that uses the data can be run colocated with the memory grid to achieve maximum performance.

 

Depending on the requirements and architecture there are many different layouts possible in which to leverage this in-memory fast processing in combination with Kubernetes features. Some of the traits are:

  1. High Availability - using backups and redundancy

  2. Security - zero trust capabilities to protect data in transitClosed Data in transit, also called data in motion, is data that is actively moving from one location to another. This can be across the internet, within a private network, or from one device to another. and at rest

  3. Maintainability - using monitoring and Kubernetes tools

 

Follow this guide for installing XAP Skyline using Kubernetes

Network and Compute

Kubernetes and Micro-Services

XAP Skyline can be added to an existing micro-services setup or can be installed in a dedicated Kubernetes cluster. It is installed using a helm command. The illustration below shows deployments and statefulsets of a typical system. In the XAP Skyline namespace the control/monitor components can be found along with Spaces that hold the data (memory grid).

Network Connectivity

In order to access the XAP Skyline services from outside the network, you can set up standard components to bridge between the backend components (XAP Skyline and micro-services) and the external components. There are two types of connections:

  1. Control and Monitor - access given to the Spacedeck (XAP Skyline UI)

  2. Application - using data gateway components

High Availability (H/A) and Self-Healing

Space High Availability

The In-Memory Data Grid (IMDGClosed In-Memory Data Grid. A set of Space instances, typically running within their respective processing unit instances. The space instances are connected to each other to form a space cluster. The relations between the spaces define the data grid topology. Also known as Enterprise Data Grid - EDG) is at the main part of XAP Skyline. The data grid (also called a SpaceClosed Where GigaSpaces data is stored. It is the logical cache that holds data objects in memory and might also hold them in layered in tiering. Data is hosted from multiple SoRs, consolidated as a unified data model.) is maintained by an automation component (Kubernetes operator) that guarantees that the data will not be lost in the case of a pod going down.

Pods that serve the data grid, hold the data in-memory and on disk (see Tiered StorageClosed Automatically assigns data to different categories of storage types based on considerations of cost, performance, availability, and recovery. capabilities). The data grid is divided into partitions and each pod is assigned to hold a partition of the data as well as an availability mode - a “primary” or a “backup”. The Primary pods are online, however, if a primary pod goes down, the backup pod then becomes the primary and a new backup is quickly reassembled. This flow avoids downtime as data is seamlessly served from the pods memory by switching between a primary pod and its backup.

Partitions of the data grid are also backed up by the disk. This is a secondary measure to guarantee high availability. Availability for the data on disk (which can be larger than memory) is maintained by the storage facility and it is kept intact if the pod goes down.

 

In the diagram below, if POD-0 goes down POD-1 becomes the primary and Kubernetes will create a new POD-0 which will then be tagged as the backup. In the case where a backup is recreated, the memory entries will be copied from the primary.

Services High Availability

Low-code services are created by the user in order to open a channel for applications to interact with the data grid using a REST APIClosed REpresentational State Transfer. Application Programming Interface An API, or application programming interface, is a set of rules that define how applications or devices can connect to and communicate with each other. A REST API is an API that conforms to the design principles of the REST, or representational state transfer architectural style.. Due to this, it is important to maintain their high availability. These services are stateless and XAP Skyline leverages the replication attribute of Kubernetes to maintain high availability.

In the diagram below, service “ABC” is replicated and serviced using a load balancer. In the case of one of the services going down the other continues to serve its client.

Security

Responsibilities

XAP Skyline has been designed with strong security defaults in mind. These defaults include always-on authentication, authorization, encryption in transit and encryption at rest and no access from the Internet by default. XAP Skyline includes the notion of roles that can be attached to users to preserve a minimal access policy.

Access

Authentication and authorization are at the core of the system. Access to every asset of the system is protected by these fundamentals. XAP Skyline supports a rich set of authentication and authorization capabilities and can seamlessly connected with SSOClosed Single sign-on (SSO) is an authentication scheme that allows a user to log in with a single ID to any of several related, yet independent, software systems. (single sign on) and various IDPs (IDentity Providers),

At Transit

Data is encrypted in transit. It is up to the user to open a public access and Gigaspaces will provide means to secure data at transit using protocols such as TLSClosed Transport Layer Security, or TLS, is a widely adopted security protocol designed to facilitate privacy and data security for communications over the Internet. A primary use case of TLS is encrypting the communication between web applications and servers.. The typical connection is within the private network, This can be constructed using networking techniques such as VPN, Private link, VPC peering or other related protocols.

At Rest

Encryption can be set up by XAP Skyline or by the customer to ensure that the data is secured at rest.

TCO Reduction and Maintainability

Installation

XAP Skyline is installed with standard Kubernetes tools using common practices and flows. Helm is the go-to application used for installing XAP Skyline and enables installation in single command using a XAP Skyline Helm umbrella chartClosed In Kubernetes, A helm umbrella chart is when a chart is created for the purpose of grouping together related subcharts/services, such as to compose a whole application or deployment. installation. A rich set of values can be applied upon installation, creating a customized deployment. Upgrades can leverage these tools so that future enhancements of XAP Skyline can also occur with minimal effort.

Elasticity

Kubernetes has built-in mechanisms that expand and contract resources depending on load (given cloud support). This means that during run-time the system deployment is optimized for the current workload.

Control

Kubernetes tools support various operations for managing the system. This includes control resources count, security, metrics and logging parameters. XAP Skyline in this sense provides additional controls at the XAP Skyline level (SpaceDeck) which may also affect the underlying deployment by leveraging Kubernetes operators.