Shipa is a simple and flexible Application as Code (AaC) platform
In short, Shipa describe themselves as an Application Management Framework that allows developers to focus on application deployment and management instead of focusing on infrastructure-related objects and manifests. It does this by abstracting the underlying cloud and Kubernetes infrastructure through a developer portal which allows users to deploy to any Kubernetes cluster with the same experience. In contrast, Shipa allows platform engineering teams to focus on implementing controls and policies for developers' applications and services using the same developer portal. Simply put, Shipa was designed to make it simpler for developers to run their applications on Kubernetes without having to know the intricacies of Kubernetes inside and out, and for platform engineers to enforce controls and policies. For this reason, the Shipa team believes its platform does for applications what Terraform did for infrastructure. Despite this, although Shipa makes sense for developers looking for abstraction on top of Kubernetes for governance reasons, it might not be suitable as a component to build an internal developer platform, as it doesn’t support the dynamic creation of new environments or workloads without further scripting.
Shipa is a Kubernetes control plane that keeps the configuration at an abstraction level. This results in the Kubernetes and cloud infrastructure being abstracted through a developer portal. This ensures a consistent developer experience despite evolving infrastructure and allows developers to focus on application deployment and management. In other words, the platform allows the user to deploy any Kubernetes cluster with the same experience.
The Shipa framework works in three steps. The process starts with developers defining application policies. Here, they’ll create policy definitions for various teams, environments, and clusters, and then bind these policies directly, either through a continuous integration, continuous deployment (CI/CD), or through a GitOps pipeline.
The next step is to create application definitions. Here, developers will set application parameters with tools like Terraform, Pulumi, or Crossplane, and then deploy these applications with these definitions through their pipeline.
Lastly, the final step is to manage the application. For this step, developers can use Shipa’s dashboard to monitor their application including its services, ownership, policy compliance, resource consumption, service communication, audit, and more.
It’s important to note that Shipa is opinionated. It also requires YAML files as part of the repositories to set Kubernetes and connect to the continuous integration pipelines. It doesn’t, however, provide the dynamic creation of new workloads, environments, or environments without further scripting.
Driven by the slogan, “Move Fast. Keep it Consistent.”, Shipa was created to simplify the process of running code on Kubernetes for developers who don’t know Kubernetes inside and out. In addition, Shipa’s creators want to create a system that streamlines the process of enforcing controls and policies for platform engineers.
It, therefore, aims to deliver a unique cloud-native application-as-code (AaC) platform that provides a consistent application definition for evolving infrastructure. As such, when using the platform, organizations will be able to speed up application deployment, management, and security. It achieves this by decoupling the application layer from the underlying infrastructure.
Considering the above, Shipa’s philosophy is based on big picture ideas, and its goals are to allow teams to think in terms of applications rather than containers, clusters, or ships.
Founded in 2019, startup company Shipa is based and headquartered in Santa Clara, California, but with a distributed team. According to techstartups.com Shipa completed its seeding round in October 2020 and raised $3.75 million.
Led by CEO Bruno Andrade and considering its vision, the company is hoping to make waves in the Application-as-Code (AaC) sector.
Shipa promises to help developers build an abstraction layer on top of different Kubernetes clusters and cloud nodes by abstracting away cumbersome infrastructure decisions.
Shipa enforces policies by focusing on the applications (rather than the clusters) surrounding Kubernetes Role-Based Access Control (RBAC), networking, security scanning, and more. With this approach, developers can bind their frameworks to different clusters to enforce various levels of control for each application.
Shipa promises detailed policy configuration to manage multiple clusters because the framework is cluster-agnostic. This is intended to broaden the scope of platforms to observe the whole rather than cluster-specific configuration.