Skip to main content
Version: v3

Concepts of odo

odo abstracts Kubernetes concepts into a developer friendly terminology; in this document, we will take a look at the following terminologies:


An application in odo is a classic application developed with a cloud-native approach that is used to perform a particular task.

Examples of applications: Online Video Streaming, Hotel Reservation System, Online Shopping.


In the cloud-native architecture, an application is a collection of small, independent, and loosely coupled components; a odo component is one of these components. odo uses Devfile as a definition of a component.

Examples of components: API Backend, Web Frontend, Payment Backend.


A project helps achieve multi-tenancy: several applications can be run in the same cluster by different teams in different projects. In Kubernetes Project is represented by namespace.


Context is the directory on the system that contains the source code, tests, libraries and odo specific config files for a single component.


Devfile is a portable YAML file containing the definition of a component and its parts(like endpoints, storages and services) Visit for more information on devfiles.