Search code examples
dockercontainersgoogle-kubernetes-engineportability

Am bit confused with the terms Interoperability vs portability in container world. Are containers portable or Interoperable or both?


I am a bit confused with the terms Interoperability vs portability in container world. Containers are designed to be portable to run the application on any environment but then does it also solve the problem of interoperability?

I guess, I do not understand what does interoperable really means but does the OCI specs solve the problem of portability or interoperability? Especially the runtime specs which allows an OCI image to be run against any OCI compliant runtime.


Solution

  • As mentioned in the link 1 provided in comment, interoperability means the ability for two systems to be able to communicate. This usually applies to private, public and hybrid clouds.
    Meanwhile, portability targets containers, which once created can then be run on different runtimes without the need to be modified or adapted 2.

    OCI specification aims to make the containers portable, but no necessarily interoperable. Systems following this standard can run the same containers, but it does not mean they can work together.