Cloud Foundry: The Definitive Guide by Duncan C. E. Winn

Cloud Foundry: The Definitive Guide by Duncan C. E. Winn

Author:Duncan C. E. Winn
Language: eng
Format: mobi, epub, pdf
Publisher: O'Reilly Media, Inc.
Published: 2017-05-29T04:00:00+00:00


In Diego, the Garden API is currently implemented by the following:

Garden-runC (Garden backed by runC), which provides a Linux-specific implementation of a Garden interface.

Garden-Windows, which provides a Windows-specific implementation of a Garden interface.

OCI and runC

As discussed earlier in “Linux Containers”, Linux achieves container-like behavior through isolation, resource sharing, and resource limits. The first well-known Linux container implementation was LXC. Both Docker and Cloud Foundry’s first container manager, Warden, originally used LXC and then built container management capability on top. Both Docker and Cloud Foundry have since moved to employing runC as the technology that spawns and runs the container process.

runC is a reference implementation according to the Open Container Project (OCP), governed by the OCI. OCI is an open-governance structure for creating open industry standards around container formats and runtime.

OCI has standardized backend formats and provided the runC reference implementation, which many higher-level systems have now adopted (e.g., Garden and Docker). runC was established primarily through Docker pulling out the non-Docker-specific container creation library (libcontainer) for reuse.

Container implementation should not be a concern to the developer, because it is just an implementation detail. Developers are more productive by focusing on their app, and Cloud Foundry makes it possible for them to keep their focus on the higher level of abstraction of apps and tasks. So, with this in mind, why focus on runC, which is a specific implementation? Why is runC important?

The answer is unification for the good of all! Container fervor is exploding. Various technologies (such as VMs and containers) are, in some cases, blending together, and in other cases (such as container orchestration), pulling in opposite directions. In this complex, emerging, and fast-moving space, standards serve to unite the common effort around a single goal while leaving enough room for differentiation, depending on the use case. This promise of containers as a source of lightweight app portability requires the establishment of certain standards around both format and runtime. These standards must do the following:

Not be bound to a specific product, project, or commercial vendor

Be portable across a wide variety of technologies and IaaS (including OSs, hardware, CPU architectures, etc.)



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.