Container technologies

One of the major differences between the standard environment and the flexible environment is the flexible environment's use of Docker. The topic of Docker and container technology in general is largely beyond the scope of this book.

As Docker defines it:

"A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. Available for both Linux and Windows based apps, containerized software will always run the same, regardless of the environment. Containers isolate software from its surroundings, for example differences between development and staging environments and help reduce conflicts between teams running different software on the same infrastructure."

For more information, refer to https://www.docker.com/what-container.

Put simply, Docker provides a standardized approach to building, storing, and managing Linux containers. Google has a long history of leveraging container technologies, and the number of benefits to using containers is staggering. Docker (and containers in general) has become an extremely disruptive technology. Google Cloud offers a number of products and services for using containers.