1. Overview
    1. Use operating system images to create boot disks for instances
    2. Public images are provided and maintained by Google, open-source communities, and third-party vendors
    3. By default, all projects have access to public images and can use them to create instances
    4. Custom images are available to project
    5. Users can create a custom image from boot disks and other images, and use the custom image to create an instance
    6. Most public images can be used at no additional cost, but there are some premium images that do add additional cost to instances
    7. Custom images imported to Compute Engine add no cost to instances, but do incur an image storage charge
  2. Public
    1. Compute Engine offers many preconfigured public images that have compatible Linux or Windows operating systems
    2. Use these operating system images to create and start instances
    3. Compute Engine uses selected images to create a persistent boot disk for each instance
    4. By default, the boot disk for an instance is the same size as the image selected
    5. If instance requires a larger persistent boot disk than the image size, resize the boot disk
    6. Only some images receive support from the Compute Engine team
  3. Support
    1. Support for Compute Engine–provided public OS images is subject to the lifecycle of the respective OS
    2. Unless otherwise noted, Google usually publishes updated images on a monthly schedule
    3. Published image updates include security updates and other updates installed for operating system versions that are in the mainstream support stage of their lifecycle
    4. When an OS version enters extended lifecycle stages, Google does not provide monthly updated images
    5. Previously published images are marked as deprecated
    6. Images marked as deprecated are available for use but availability of security updates is subject to availability from the distribution or operating system vendor
    7. Generally, Google does not backport new features to image versions in the extended lifecycle stage or past the extended lifecycle
    8. Community-supported images are not directly supported by Compute Engine
    9. It is up to the project community to ensure that images work with Compute Engine features and that security updates are maintained
    10. Community-supported images are provided as-is by the project communities that build and maintain them
  4. Family
    1. Image families help manage images in project by grouping related images, making it easy to roll forward and roll back between specific image versions
    2. An image family always points to the latest version of an image that is not deprecated
    3. Most public images are grouped into an image family
    4. Users can add images to an image family when they create a custom image
    5. The image family points to the most recent image that is added to that family
    6. Because the image family never points to a deprecated image, rolling the image family back to a previous image version is as simple as deprecating the most recent image in that family
  5. Custom
    1. A custom image is a boot disk image that the user owns and controls access to
    2. Import a boot disk image to Compute Engine from on-premises environment, or import virtual disks from VMs that are running on local workstation or on another cloud platform
    3. Create an image from the boot disks of existing Compute Engine instances, and use that image to create new boot disks for instances
    4. This process creates new instances that are preconfigured with the apps needed without having to configure a public image from scratch
    5. Copy one image to another image by using the gcloud tool or the API
    6. Where a custom image is regularly updated with newer configurations and software, group images into an image family
    7. Image family always points to the most recent image in that family so instance templates and scripts can use that image without having to update references to a specific image version
  6. OS
    1. Some operating system images are customized specifically to run on Compute Engine and have notable differences from the standard images that come directly from the operating system vendor
    2. CentOS is a free operating system platform that is derived from the sources of Red Hat Enterprise Linux (RHEL)
    3. Compute Engine offers the latest point release for CentOS
    4. If you run a CentOS instance started from an older point release, it will automatically update to the most recent point release
    5. This update might require a reboot to take full effect
    6. Compute Engine does not automatically update the operating system or the software on instances
    7. CentOS package manager is preconfigured by the operating system vendor to automatically apply security patches and system upgrades on CentOS instance
    8. Automatic updates from the operating system vendor do not upgrade instances between major versions of the operating system
    9. The updates apply system upgrades only for minor versions
    10. CentOS instances can automatically update their installed packages in addition to the security patches and system upgrades