Servala Software
Servala is a software suite that forms the marketplace:
An API to self-service provision and configure application instances (Kubernetes API, Open Service Broker API or custom integration). This API can be integrated into already existing customer portals. |
|
Suppose you don’t have an existing customer portal that you want to or can’t integrate using APIs. In that case, you can use the optional open source web portal, which provides the UI to the end-user to order and manage application instances. |
|
A way to document the services for the end-user, so that the end-user can make the best out of the service. |
|
We provide a way to bill the application instances, either through VSHN or by sending usage data to a defined end-point of the service provider. |
|
The application deployment framework is used to package and prepare a service for listing in the Marketplace. |
|
Infrastructure as Code |
Integration into well-known IaaS-as-Code tools: Terraform, OpenTofu, Ansible, Crossplane and more. |
Self-Service API
The self-service API is based on the official Kubernetes API and can be exposed either as plain Kubernetes API, Open Service Broker API or on request by a custom API. All is based on open standards, open APIs and Open Source software, there is no vendor lock-in or black-box software inside.
Under the hood, Crossplane is used to define the end-user facing API using "Composite Resource Definitions". For exposing these APIs as Open Service Broker API compatible end-point, our own Crossplane Service Broker is used.
With these API possibilities, a tight integration into an already existing customer portal can be achieved.
Web Portal
Should the Self-Service API not be sufficient, we offer an open source Web Portal which allows the end-user to order and manage services in a web portal. This web application will be hosted on the Cloud Providers or Enterprises' infrastructure and maintained and kept up-to-date by VSHN.
Just like the API (and everything else), this web frontend is Open Source and can be white-labeled (logo, colors) to the specific requirements.
End-User Documentation
We believe in documentation and live the documentation-as-code approach. A service needs a well-written and accessible documentation so that the end-user can not only self-service order a service, but also can help themselves to use it.
For that we provide pre-written end-user documentation in AsciiDoc format, rendered and presented with Antora. The documentation is fully Open Source and ready for collaboration.
The presentation of the documentation can be completely white-labeled by leveraging the Antora Theme Framework.
Billing Integration
Billing is a crucial part of the whole system. We bring a lot of experience in billing of metered services, based on usage. We can either integrate into an existing billing system, provide one based on Odoo or take over the billing completely.
This topic is highly specific to the existing tooling and processes.
Application Deployment Framework
The application deployment framework makes it possible to have a service as part of Servala.
It provides all the necessary functions for providing a managed service:
-
Provisioning and de-provisioning of a service instance
-
Self-service backup and restore
-
Access to service logs
-
Service metrics and dashboards
-
Alerting based on service metrics
-
Automated service maintenance
-
Service-instance scaling
-
Integration into the Crossplane ecosystem (XRDs, Compositions, and Composition Functions)
It is fully based on modern cloud-native Open Source software and therefore relies heavily on tooling which is part of the Cloud Native Computing Foundation (CNCF). The framework combines all these tools to form a harmonic system, without creating a lock-in with custom tooling. Everything engineered for the application deployment framework is reusable.
-
Helm to package the application deployment
-
OCI compatible container images (e.g. Docker) to package the application and its dependencies
-
Kubernetes to orchestrate the application service instances
-
Crossplane to enable to self-service order and manage service instances
-
K8up to backup and restore persistent data
-
Prometheus to collect application metrics and alert upon
-
Argo CD to apply configuration to Kubernetes clusters and keep the up-to-date
-
Project Syn to orchestrate configuration across a fleet of Kubernetes clusters
This all combined makes the application deployment framework, which is available on GitHub under vshn/appcat.
Deployment Variants
There are multiple variants of how Servala can be deployed. The model heavily depends on the use-case.
Servala is a cloud-native service which relies on Kubernetes. All software must therefore run on Kubernetes.
Cloud Provider / Enterprise Private Cloud Integrated
Servala will be fully integrated into the Cloud Provider or Enterprise infrastructure and control plane. All workload, including the control plane, runs on the infrastructure of the Cloud Provider or Enterprise Private Cloud.
Servala can be integrated either by an API layer (Open Service Broker API, Kubernetes API or custom API) or alternatively a (white-labeled) web portal is available.
Single Application SaaS
A software vendor wanting to offer their software as self-service SaaS under their own brand. It’s Servala, containing only the ISVs offering.
The software vendor can let the customer choose which cloud provider and region the service instance should be deployed on (A), or the software vendor can predetermine it (B).
In-Cluster Marketplace
The control plane and all service instances run directly in the Kubernetes cluster and is tightly integrated.
Servala.com
VSHN provides a Meta Marketplace on servala.com which includes multiple applications from software vendors. Instances are deployed at the cloud provider of the customers' choice.