Rudr is an implementation of the Open Application Model (OAM) that allows users to deploy and manage applications easily on any Kubernetes cluster with separation of concerns of application developer and operator.
Rudr is currently in alpha. It may reflect the API or features we are vetting before inclusion into the Open App Model spec.
Get started with a How-To guide.
Users want to focus on describing and building applications easily but achieving this directly with Kubernetes is complex. At the heart of it, container orchestration platform inextricably mixes application primitives with infrastructure primitives. Different roles, such as developers and operators, have to concern themselves with problems from each other's domain in order to understand the whole picture of the underlying infrastructure.
The requirement to deeply understand the container infrastructure has introduced the following problems for application deployment and management:
- There is no standard definition for a cloud-native application, which makes it difficult for users looking for an easier way to modernize.
- There is a myriad of tools and ways to accomplish tasks. On one hand, this is positive because it gives users the freedom to choose their own path. However, for users looking for an opinionated way to do things, there is an opportunity.
- It is difficult to have a clear separation of roles between infra operators, app operators and developers. Users are exposed to constructs outside their domain that they have to learn to accomplish day-to-day tasks.
Rudr takes an incremental approach to solving the problems. The current architecture is set of plugins for Kubernetes that allows OAM specifications to be implemented and deployed on Kubernetes clusters using native APIs (and you still use kubectl!).
-
This allows app developers to focus on building OAM components, app operators to focus on operational capabilities through the OAM app config, and infra operators to focus on Kubernetes.
-
By leveraging the Open App Model, users now have a framework to define their apps on their Kubernetes clusters.
-
Currently, Rudr will leverage the defined trait to accomplish the task. This gives the freedom to use whatever underlying tool the user wants, while providing a trait that focuses on the functionality and not the technology. In the future, Rudr might provide a set of default technologies to provide the functionality desired by a trait.
Read the documentation list for more options.
This project welcomes contributions and suggestions. See CONTRIBUTING.md for more details. Below are links to join the bi-weekly community meetings and our meeting notes. Community Slack channels & mailing lists will be added shortly (~ 10/1).
Item | Value |
---|---|
Mailing List | https://groups.google.com/forum/#!forum/oam-dev |
Meeting Information | Bi-weekly (Starting Oct 22, 2019), Tuesdays 10:30AM PST |
Bi-weekly APAC (Starting Dec 24, 2019), Tuesdays 1:00PM GMT+8 | |
Meeting Link | https://zoom.us/j/271516061 |
IM Channel | https://gitter.im/oam-dev/ |
Meeting Notes | https://docs.google.com/document/d/1nqdFEyULekyksFHtFvgvFAYE-0AMHKoS3RMnaKsarjs/edit?usp=sharing |
@oam_dev |
This project follows governance structure of numerous other open source projects. See governance.md for more details.
This project is available under the terms of the MIT license. See LICENSE.txt.