Giter VIP home page Giter VIP logo

rudr's Introduction

Rudr: A Kubernetes Implementation of the Open Application Model

Rudr is an implementation of the Open Application Model (OAM) that allow 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..

How to: Create an app from scratch

Get started with a How-To guide.

We believe creating cloud native applications should not be hard

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 mixed together application primitives with infrastructure primitives. Different roles like developers and operators have to concern with problems from domains of each other and adjust themselves to understand the whole picture of the underlying infrastructure.

K8s is hard

The requirement to deep 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 are 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 out of their domain that they have to learn to accomplish day-to-day tasks.

The approach: Let's take things one step at a time

Rudr takes an incremental approach to solving the problems. The current architecture is set of plugins for Kubernetes which allows OAM specifications to be implemented and deployed on Kubernetes clusters using native APIs (and you still use kubectl!).

rudr arch

  • 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.

Try more things out yourself

Read the documentation list for more options.

Contributing

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
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

Governance

This project follows governance structure of numerous other open source projects. See governance.md for more details.

License

This project is available under the terms of the MIT license. See LICENSE.txt.

rudr's People

Contributors

erikadoyle avatar fibonacci1729 avatar hongchaodeng avatar itowlson avatar jiria avatar resouer avatar squillace avatar suhuruli avatar t1agob avatar technosophos avatar wonderflow avatar xianlubird avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.