Skip to main content
Version: v2

Concepts of odo

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

Application

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.

Component

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.

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

Project

A project helps achieve multi-tenancy: several applications can be run in the same cluster by different teams in different projects.

Context

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

URL

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

Storage

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

Service

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

Example of services: PostgreSQL, MySQL, Redis, RabbitMQ.

Devfile

Devfile is a portable YAML file containing the definition of a component and its related URLs, storages and services. Visit devfile.io for more information on devfiles.