odo concepts
odo abstracts Kubernetes concepts into a developer friendly terminology; in this document, we will take a look at these terminologies.
#
ApplicationAn 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.
#
ComponentIn 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.
#
ProjectA project helps achieve multi-tenancy: several applications can be run in the same cluster by different teams in different projects.
#
ContextA context is the directory on the system that contains the source code, tests, libraries and odo specific config files for a single component.
#
URLA URL exposes a component to be accessed from outside the cluster.
#
StorageA storage is a persistent storage in the cluster: it persists the data across restarts and rebuilds of a component.
#
ServiceA service is an external application that a component can connect to or depend on to gain an additional functionality.
Example of services: MySQL, Redis.
#
DevfileA 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.