Skip to main content

odo concepts

odo abstracts Kubernetes concepts into a developer friendly terminology; in this document, we will take a look at these 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; an odo component is one of these components.

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.


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


A URL exposes a component to be accessed from outside the cluster.


A storage is a persistent storage in the cluster: it persists the data across restarts and rebuilds of a component.


A service is an external application that a component can connect to or depend on to gain an additional functionality.

Example of services: MySQL, Redis.


A devfile is a portable YAML file containing the definition of a component and its related URLs, storages and services. See Devfile to know more about devfile.