What is Cuber?
Cuber is a software (written in Ruby) that makes it easy to publish your apps on Kubernetes. You can deploy any app, in any language, that would be normally deployed on a PaaS (like Heroku).
Using Cuber you have the simplicity of a platform (PaaS) at the cost of bare infrastructure (IaaS). You can drastically reduce the cost compared to a PaaS (saving up to 80% on server cost) and you can also drastically reduce the operational complexity compared to managing the infrastructure or Kubernetes directly. Basically you have the best from both worlds, without sacrificing scalability or reliability.
You also have freedom to move between cloud providers, without lock-in, and total visibility on your app.
Cuber gives you a flow that just works: you don’t have to put together hundreds of pieces of the puzzle. It is an automation tool that you install locally: in the cluster you have only plain Kubernetes configurations and your app, without any Cuber component.
Cuber is built on open source software, including Git, Docker, Buildpacks and Kubernetes. It doesn’t have any other dependencies, since we strive to keep the codebase as simple as possible and with solid foundations: a small codebase that you can easily understand ensures reliability and simple maintenance, even in the long term.
It’s not only simple to publish your app: it’s also simple to maintain it over time.
Cuber aims to satisfy the needs of the majority of the apps, that share common needs, drastically simplifying the deployment, by giving up on marginal features that are only rarely needed.
Cuber uses a compact syntax that hides the unnecessary complexity and produces the right result under the hood. All the configuration is included in a Cuberfile, which you can keep under version control if you want, gaining benefits similar to GitOps. It also means that you can update a cluster with a single command, or create a new deployment in a new cluster with the exact same command… And you never need to worry about long command line options, complex YAML configurations, common Kubernetes pitfalls, or remember multi-step workflows that are error-prone and have subtle differences each time.
Just define a Cuberfile
, with a few lines of code, and then run cuber deploy
(which is idempotent) to publish your app on Kubernetes.