Application Marketplace Software

The VSHN Application Marketplace is a software suite that forms the marketplace:

Self-Service API

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.

Web Frontend

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 web frontend, which provides the UI to the end-user to order and manage application instances.

End-User Documentation

A way to document the services for the end-user, so that the end-user can make the best out of the service.

Billing Integration

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.

Application Deployment Framework

The Application Marketplace 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

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 Frontend

Should the Self-Service API not be sufficient, we offer a Marketplace Web Frontend which allows the end-user to order and managed services in a web UI. This web application will be hosted on the CSPs 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 the Application Marketplace.

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 the Application Marketplace can be deployed. The model heavily depends on the use-case.

The Application Marketplace is a cloud-native service which relies on Kubernetes. All software must therefore run on Kubernetes.

CSP / Enterprise IT Integrated

The Application Marketplace will be fully integrated into the CSP or Enterprise infrastructure and control-plane. All workload, including the control-plane, runs on the infrastructure of the CSP or Enterprise.

The marketplace can be integrated either by an API layer (Open Service Broker API, Kubernetes API or custom API) or alternatively a (white-labeled) web UI provided by the marketplace is available.

marketplace variant2.drawio

Single Application SaaS

An ISV wanting to offer their software as self-service SaaS under their own brand. It’s the Application Marketplace, containing only the ISVs offering.

marketplace variant3.drawio

The ISV can let the customer choose which CSP and region the service instance should be deployed on (A), or the ISV can predetermine it (B).

In-Cluster Marketplace

The control-plane and all service instances run directly in the Kubernetes cluster and is tightly integrated.

marketplace variant4.drawio

VSHN Meta Marketplace

VSHN provides a Meta Marketplace which includes multiple applications from ISVs. Instances are deployed at the CSP of the customers' choice.

marketplace variant1.drawio