Managed Applications in Cozystack

Learn about the applications that Cozystack can deploy and manage

Managed Kubernetes

Cozystack deploys and manages Kubernetes clusters as standalone applications within each tenant’s isolated environment. These clusters are fully separate from the root management cluster and are intended for deploying tenant-specific or customer-developed applications.

Deployment involves the following components:

  • Kamaji Control Plane: Kamaji is an open-source project that facilitates the deployment of Kubernetes control planes as pods within a root cluster. Each control plane pod includes essential components like kube-apiserver, controller-manager, and scheduler, allowing for efficient multi-tenancy and resource utilization.

  • Etcd Cluster: A dedicated etcd cluster is deployed using Ænix’s aenix-io/etcd-operator. It provides reliable and scalable key-value storage for the Kubernetes control plane.

  • Worker Nodes: Virtual Machines are provisioned to serve as worker nodes. These nodes are configured to join the tenant Kubernetes cluster, enabling the deployment and management of workloads.

This architecture ensures isolated, scalable, and efficient Kubernetes environments tailored for each tenant.

Managed PostgreSQL

Nowadays, PostgreSQL is the most popular relational database. Its platform-side implementation involves a self-healing replicated cluster. This is managed with the increasingly popular CloudNativePG operator within the community.

Managed MySQL (MariaDB)

MySQL is a widely used and well-known relational database. The implementation in the platform provides the ability to create a replicated MariaDB cluster. This cluster is managed using the increasingly popular mariadb-operator.

For each database, there is an interface for configuring users, their permissions, as well as schedules for creating backups using Restic currently the most efficient tool.

Managed Redis

Redis is the most commonly used key-value in-memory data store. It is most often used as a cache, as storage for user sessions, or as a message broker. The platform-side implementation involves a replicated failover Redis cluster with Sentinel. This is managed by the spotahome redis-operator.

Managed FerretDB

FerretDB is an open source MongoDB alternative. It translates MongoDB wire protocol queries to SQL and can be used as a direct replacement for MongoDB 5.0+. In Cozystack, it is backed by PostgreSQL.

Managed Clickhouse

ClickHouse is an open source high-performance and column-oriented SQL database management system (DBMS). It is used for online analytical processing (OLAP). In the Cozystack platform, we use the Altinity operator to provide ClickHouse.

Managed RabbitMQ

RabbitMQ is a widely known message broker. The platform-side implementation allows you to create failover clusters managed by the official RabbitMQ operator.

Managed Kafka

Apache Kafka is an open-source distributed event streaming platform. It aims to provide a unified, high-throughput, low-latency platform for handling real-time data feeds. In Cozystack, we use Strimzi to run an Apache Kafka cluster on Kubernetes in various deployment configurations.

Managed HTTP Cache

Nginx-based HTTP caching service helps protect your application from overload using the powerful Nginx. Nginx is traditionally used to build CDNs and caching servers.

The platform-side implementation features efficient caching without using a clustered file system. It also supports horizontal scaling without duplicating data on multiple servers.

Managed NATS Messaging

NATS is an open-source, simple, secure, and high performance messaging system. It provides a data layer for cloud native applications, IoT messaging, and microservices architectures.

Managed VPN Service

The VPN Service is powered by the Outline Server, an advanced and user-friendly VPN solution. It is internally known as “Shadowbox,” which simplifies the process of setting up and sharing Shadowsocks servers. It operates by launching Shadowsocks instances on demand.

The Shadowsocks protocol uses symmetric encryption algorithms. This enables fast internet access while complicating traffic analysis and blocking through DPI (Deep Packet Inspection).