Goldman Sachs Leads Enterprise Efforts in Container Technology
On June 22, it was announced that Goldman Sachs joined as a founding member of The Open Container Project initiative. The project comprises a group of industry participants working to develop common standards for container technology.
A lightweight alternative to virtual machines, containers allow automation of application deployments. Instead of replicating a full compute stack, containers are highly-available, horizontally scalable micro-services that can run on any server regardless of the underlying hardware. The container bundles all requirements and dependencies needed to run a process, delivers them to the cloud, and relies on cloud infrastructure to make sure that the SLAS are met.
While there are several current implementations of container technology, start-up Docker originated the approach for the Open Container Initiative. In the Docker system, resource requirements are set out in read-only templates known as image files. Containers are the realization of these images as concrete, immutable runnables.
The platform leverages two elements native to the Linux O/S: control groups, which allocate the size of available storage, compute and network resources; and kernel namespaces, which ensure container isolation. As a result, multiple containers – running as isolated processes on a server – can share the same kernel and executables.
Containers are more efficient than virtual machines because they represent a fundamentally different architectural approach. We have found they yield several dramatic efficiencies:
- Quick iterations for our software development lifecycle: Provisioning time has been reduced from hours to minutes or seconds.
- Improved utilization: We can multiplex our infrastructure to allocate just enough resources for any given process, for exactly the duration it requires.
- Automate Business Continuity and failover: Machine-readable application modelling allows higher-level declarative statements to be intelligently handled by a platform; when a machine is lost, we resurrect the process it ran on a different machine or datacenter, and update the runtime dependencies to ensure continuity of the applications and services it supports.
- Drive DevOps efficiency: Standardizing process descriptors and embedding application owner knowledge into the application model provides a consistent, traceable link throughout the product lifecycle and runtime management.
- Managing infrastructure updates: By decoupling the application owners from infrastructure, platform owners can now update the underlying OS version, hardware specs and other components autonomously.
Goldman Sachs Engineering is committed to open source in software, currently focused on using containers across our technology stack. We continue to partner with Docker and Open Container Initiative teams in thinking about challenges unique to the enterprise and what possible solutions might look like.
Learn more about our participation in The Cloud Native Computing Foundation, another container technology effort with The Linux Foundation.