Use Cases

Before understanding use cases, it's useful to know what Shipa is. This page lists some concrete use cases for Shipa, but the possible use cases are much broader than what we cover here. Due to its extensible nature, plugins and hooks can be added to extend Shipa's ability to manage and manipulate different application-level resources.

Developer Platform

For organizations that want to build and deploy software faster, a developer platform has emerged as a key component of their software engineering culture. The lack of a developer platform can make developers spend too much time on infrastructure. Your organization won't move as fast as you want to, and tech debt can get out of hand, slowing down the application release, management, and support process.

Application developers can feel the platform team is not focused appropriately on their needs, and platform teams will feel overtaxed by user demands.

By providing a developer platform that can be layered on top of different Kubernetes clusters and cloud nodes, Shipa abstracts away cumbersome infrastructure decisions for software developers, easing the operations burden on overstretched platform engineering teams.

Policies and Governance

As the adoption of Kubernetes increases, users have begun to look for additional options to control and secure their Kubernetes clusters. Cluster administrators need to restrict what can run in a cluster. While Kubernetes Role-Based Access Control (RBAC) provides a strong permission system, its oversight ends at the resource level, and it lacks the ability to control the configurations of specific resources.

Current solutions are very focused on Kubernetes' infrastructure components and objects, introduce new programming languages, and can get quite complex as you manage policies at scale.

With the introduction of frameworks, Shipa introduces a simple way to implement and enforce policies across RBAC, networking, security scanning, and more, focused on the application rather than on the cluster. By taking this approach, frameworks can be bound to different clusters and enforce different levels of control based on your different application requirements and deployments made by developers through the Shipa developer platform.

Multi-Cluster Deployment

It's often attractive to spread infrastructure across multiple clouds and clusters to increase fault tolerance. Having a multi-cluster deployment allows you to cover scenarios such as application locality, disaster and recovery, load balance, and more.

Realizing multi-cluster deployments can be very challenging as many existing tools for application management are cluster or cloud-specific. Shipa is cluster-agnostic and allows detailed policy configuration to manage multiple clusters when it comes to application management. This simplifies deployment and management of applications, helping operators secure deployments across clusters and developers to not worry about cluster-specific configuration.