Everything You Should Know About AMIs in AWS

by on June 30th, 2025 0 comments

The Amazon Machine Image, commonly abbreviated as AMI, is the essential component used in deploying virtual machines on Amazon Web Services. Functioning as a master template, an AMI encapsulates all the configuration settings, software, system libraries, and operating system data required to launch an instance seamlessly. When setting up a new EC2 instance, this image acts as the genesis block, enabling you to deploy a pre-configured environment almost instantaneously. Whether you’re managing a robust production cluster or a test server, AMIs provide a reliable and scalable pathway to consistency and automation.

One notable advantage of AMIs is their ability to replicate environments efficiently. A single image can launch multiple identical instances, ensuring uniformity across deployments. For use cases that demand variant setups, multiple AMIs tailored to specific configurations can be crafted and used in parallel. This level of granularity caters to both monolithic systems and microservices architectures with equal finesse.

Core Components of AMI

An AMI is composed of several critical constituents that work in harmony to deliver a seamless user experience during instance deployment.

First, you have one or more snapshots from the Amazon Elastic Block Store. These EBS snapshots capture the complete state of the volumes and are instrumental in creating the root volume for your instances. For instance-store-backed AMIs, instead of EBS volumes, a pre-defined template stored in Amazon Simple Storage Service is used to create the root volume. This difference becomes especially important when considering data persistence and fault tolerance.

Another vital piece of the AMI puzzle is launch permissions. These permissions dictate which AWS accounts are authorized to use the AMI. You might choose to keep an AMI private, share it with specific users, or make it publicly accessible to all AWS customers. This access control feature is particularly useful for organizations that operate across multiple accounts or need to distribute standardized environments.

The block device mapping is equally pivotal. It specifies the configuration of storage devices attached to the instance at launch. This mapping ensures that all the necessary volumes, including data and root devices, are properly attached and recognized by the system. This component brings a level of determinism to an otherwise dynamic environment.

Storage and Identification

Once an AMI is constructed, it resides within the durable confines of Amazon S3. It is identified by a unique string known as an AMI ID, typically formatted like ami-xxxxxxxx. In addition to this identifier, a manifest XML file accompanies the AMI, cataloging its metadata, associated snapshots, and the underlying configurations. This level of detail ensures transparency and traceability in cloud operations.

The process of creating AMIs is notably versatile. You can initiate a new AMI from scratch or generate one by bundling an existing EC2 instance. This allows for a high degree of customization and reuse, which is critical in continuous integration and continuous deployment workflows. Upon creation, users can decide whether the AMI will remain for personal utilization or be accessible to other AWS customers.

Interestingly, you can also link a product code to your AMI. This enables the original creator to receive financial compensation each time the AMI is used to launch a new instance. This commercial capability empowers developers and organizations to monetize their specialized configurations and proprietary software stacks.

Defining the Building Blocks

To effectively utilize AMIs, it is imperative to grasp the essential AWS services they interact with. The Elastic Block Store, or EBS, provides reliable, low-latency storage that integrates natively with EC2. This persistent block-level storage is pivotal for maintaining data continuity even when an instance is terminated.

Amazon EC2, or Elastic Compute Cloud, is the execution layer that breathes life into your AMIs. By eliminating the need for upfront hardware investment, EC2 democratizes access to scalable computing power. Whether you’re deploying a single containerized application or an entire server farm, EC2’s elastic architecture accommodates both ends of the spectrum.

Then there’s Amazon S3, a robust and infinitely scalable object storage service. It not only stores the AMI components but also facilitates high availability and redundancy. Designed for internet-scale computing, S3 is the backbone for countless AWS services, including AMIs.

AMI Lifecycle: From Birth to Retirement

Understanding the lifecycle of an AMI is paramount for effective cloud resource management. Once an AMI is created and registered, it becomes eligible for launching new instances. At this stage, the AMI can also be replicated across multiple AWS regions. This cross-regional deployment capability enhances disaster recovery strategies and performance optimization by placing resources closer to end-users.

Eventually, when an AMI is deemed obsolete or no longer relevant, it can be deregistered. Deregistering an AMI ensures that it cannot be used to initiate new instances. However, any running instances based on that AMI will remain unaffected. This provides a safeguard against unintentional disruptions.

AWS maintains a repository of ready-to-use AMIs provided both officially and by the community. These images range from minimal operating systems to full-stack configurations. The diversity available allows users to tailor their deployments without starting from ground zero.

Once an AMI is selected, launching an instance is akin to flipping a switch. The EC2 service takes over and spins up the environment according to the instructions encoded in the AMI. This orchestrated process turns a static template into a live, functioning server.

Privacy and Sharing Options

One of the understated yet powerful features of AMIs is their flexible visibility settings. Upon creation, an AMI can be retained for private use, shared with designated AWS accounts, or made public for the entire AWS ecosystem. These choices influence how the AMI integrates into collaborative workflows and organizational policies.

Private AMIs are typically used within a single enterprise or among a closely-knit group of collaborators. This minimizes exposure and strengthens control. On the other hand, public AMIs serve a different ethos—fostering openness and standardization. They allow developers to distribute common environments or preconfigured stacks to the global AWS community.

There’s also the middle ground—shared AMIs. Here, the image is accessible only to specific AWS accounts, offering both exclusivity and controlled collaboration. This feature becomes indispensable when working across departments or with external vendors under contractual agreements.

Classification of AMIs

AMIs fall into several categories depending on their access level and purpose.

Public images are widely available, generally secure, and often customized to meet a range of common needs. Paid images, conversely, are distributed commercially. Developers and software vendors can list these in the AWS Marketplace, providing feature-rich environments for a price. Private images are tightly controlled and visible only to specific users who have been granted permission.

Each type has its niche. Public AMIs expedite experimentation and prototyping. Paid AMIs bring enterprise-level features and vendor support. Private AMIs ensure confidentiality and compliance with internal governance.

Selecting the Right AMI

Choosing an appropriate AMI is a nuanced decision that involves multiple factors. Regional availability is a key consideration, as each AWS region operates somewhat autonomously. You should verify that the AMI you select is available in the region where your other resources reside.

Operating system type is another vital criterion. AWS supports a spectrum of OS choices, from mainstream distributions like Linux and Windows Server to more exotic options like Raspbian. This diversity caters to varied application requirements and developer preferences.

Architecture type must also be accounted for. AMIs come in 32-bit and 64-bit versions, and the choice hinges on the hardware capabilities of your instance and the software stack you intend to run.

The launch permissions associated with an AMI determine who can access it. These permissions fall into three categories: public, explicit, and implicit. Public AMIs are available to everyone. Explicit permissions are granted to specific AWS accounts. Implicit permissions apply only to the AMI’s creator.

Lastly, AMIs can be backed by either EBS or instance store. The difference lies in the nature of the root volume. EBS-backed AMIs offer persistent storage and are more versatile. Instance store-backed AMIs, while faster in certain scenarios, lose their data when the instance stops or terminates.

Understanding these nuances is essential for making informed decisions in cloud architecture. Each choice impacts performance, cost, scalability, and maintainability. By mastering the art of AMI selection, you elevate your cloud strategy to a new echelon of efficiency and reliability.

How to Create and Customize an Amazon Machine Image

Creating an Amazon Machine Image (AMI) isn’t just a matter of clicking a few buttons—it’s about architecting a reproducible environment that aligns with your deployment strategy. Whether you’re automating software provisioning or building a fleet of identical compute instances, the power to spin up pre-configured servers lies in your grasp once you know how to build AMIs effectively.

The process begins by launching an EC2 instance from an existing AMI that closely matches your requirements. This foundational instance acts as the springboard from which your customized image will be born. During its uptime, you can shape it to your needs—install applications, configure settings, update packages, and prepare the environment for its future lifecycle.

Once your instance is fully set up and validated, you can capture its state by creating a new image. This image will reflect all the adjustments you made, effectively becoming a blueprint for future deployments. Using the AWS Management Console or the command-line interface, you can initiate this process and watch as your custom AMI materializes.

Customizing Instances Before Image Creation

Customization is the most powerful aspect of AMI creation. You can install software packages, update the OS, tweak system configurations, and apply security patches. For Linux-based instances, you might update kernel parameters, configure SSH access, and adjust firewalls. On Windows-based systems, you might configure Active Directory roles or install enterprise-grade applications.

Once you’ve applied all your changes, it’s crucial to clean up the instance. Delete temporary files, clear caches, and zero out unused disk space. These steps not only reduce the size of the resulting AMI but also eliminate digital residue that could compromise security or inflate costs. This cleanup becomes especially essential when you’re preparing AMIs for widespread use or resale.

Next, it’s a good idea to attach additional EBS volumes to your instance if your environment demands persistent data storage beyond the root volume. These attached volumes will be captured as part of the block device mapping during image creation, ensuring a fully operational and storage-complete environment on launch.

Capturing the AMI with AWS Console

Using the AWS Management Console to create an AMI from a running EC2 instance is a streamlined experience. After accessing the EC2 dashboard, navigate to the Instances panel and select the one you’ve customized. Under the “Actions” dropdown menu, choose the “Create Image” option under the “Image and templates” section.

This takes you to the image creation screen where you’ll need to fill out details such as the image name, description, and whether to include additional EBS volumes. After confirming the information, click the “Create Image” button. AWS will start processing your request and display the new AMI under the AMIs section, initially showing a status of “pending.” Once it’s ready, it will switch to “available,” signifying that the image can now be used to launch new instances.

The new AMI is a self-contained unit, holding all your configurations and ready to be replicated at will. You now have a new deployment artifact that can be stored, shared, and reused.

Creating Instance Store-Backed Linux AMIs

While EBS-backed AMIs offer versatility and persistence, there are scenarios where instance store-backed AMIs are more appropriate. These are useful when speed trumps durability or when working with ephemeral environments.

Creating an instance store-backed AMI involves more manual steps. First, launch an instance using an existing instance store-backed AMI that closely resembles your target configuration. Once the instance is up, perform your customizations as you would with an EBS-backed instance.

Then, initiate the bundling process using the appropriate command-line tools. This process generates a manifest XML file and a set of image parts containing the complete template of the root volume. These components are bundled into a cohesive unit that represents your customized environment.

Once the bundle is complete, upload it to your designated Amazon S3 bucket. The next step involves registering the AMI with AWS, specifying the location of your manifest file. Once registered, your new instance store-backed AMI will appear in your AMI listings and can be used for subsequent instance launches.

Copying AMIs Across AWS Regions

There are practical scenarios where you might need your AMI available in different geographic regions. Perhaps your user base is spread globally and you want to minimize latency by deploying instances close to users. Or you might be building a disaster recovery strategy that involves multiple AWS regions.

To copy an AMI across regions, start by identifying or creating an EBS-backed AMI. Navigate to the EC2 dashboard, go to the AMIs section, and select the AMI you want to replicate. Under the “Actions” menu, select “Copy AMI.”

In the dialog box that appears, specify the destination region and make any necessary changes to the name and description. AWS will take care of the rest, copying the associated snapshots and configurations to the new region. After a few minutes, the copied AMI will appear in the destination region’s AMI list.

This regional replication capability ensures geographical redundancy and operational agility. It opens the door to multi-region architectures without the overhead of manual setup in each location.

Testing and Validation

After creating or copying an AMI, testing it thoroughly is not just recommended—it’s essential. Launch an instance from the AMI and perform a full validation cycle. Ensure all software functions correctly, that user access is as expected, and that the system performs within acceptable parameters.

You should verify system logs, network configurations, and any integrated monitoring tools. It’s also vital to validate compliance with internal security policies and governance frameworks. Failing to test adequately can lead to widespread issues if flawed AMIs are deployed at scale.

Don’t forget to check port accessibility. For Linux systems, ensure the SSH port (default 22) is reachable. For Windows, verify the RDP port (default 3389) and optionally the WinRM port (default 5985) are configured correctly for your subnet and security group settings.

Best Practices for AMI Maintenance

Creating an AMI is not a one-time task. Over time, operating systems age, software becomes outdated, and vulnerabilities emerge. To stay ahead of potential issues, establish a maintenance cycle for your AMIs.

Regularly update and rebuild AMIs to include the latest OS patches, software versions, and security enhancements. Use automation scripts or infrastructure as code tools like Packer to streamline the process. By integrating these tools into your CI/CD pipeline, you ensure your images remain fresh and secure.

It’s also prudent to track versions using a clear naming convention. Include metadata such as the creation date, base OS, and major software versions in the name or description. This enables quick identification and rollback if needed.

Avoid storing deprecated AMIs indefinitely. Clean up old or unused images to save on storage costs and reduce clutter. Before deregistering an AMI, ensure no active instances are dependent on it.

Repeatability and Standardization

One of the ultimate goals of using AMIs is to introduce repeatability into your cloud operations. A well-constructed AMI acts as a reproducible artifact that can be invoked to create identical environments across teams, projects, and even organizations.

By standardizing on AMIs, you ensure that all environments start from a known state. This eliminates configuration drift and reduces the likelihood of bugs caused by environmental inconsistencies. It also simplifies onboarding for new team members who can start from a common template.

Whether you’re deploying a single development sandbox or an entire production fleet, a reliable AMI infrastructure forms the bedrock of scalable cloud computing. Embrace the philosophy of reproducibility, and your operational agility will soar.

AMI Types and Classification

Amazon Machine Images (AMIs) come in various types and classifications, offering users a wide range of deployment strategies depending on their technical and business needs. These classifications influence accessibility, security, storage backend, and overall configuration. Understanding these differences is key when deciding how to launch and manage your infrastructure.

Public, Private, and Paid Images

One of the most immediate classifications of AMIs is based on their visibility. Public AMIs are accessible to all AWS users and often serve as base configurations maintained by Amazon or third-party communities. These images are typically audited, stable, and reliable, but still require scrutiny before deployment.

Private AMIs, on the other hand, are exclusive. They are visible only to the account that created them or to specific AWS accounts explicitly granted access. This makes them ideal for sensitive workloads or proprietary configurations that must remain isolated.

Paid AMIs form another niche. These are premium images offered via the AWS Marketplace, often bundled with commercial software or specialized configurations. While they involve a cost, they can dramatically reduce setup time for enterprise-grade applications and include built-in support from vendors.

EBS-Backed vs. Instance Store-Backed Images

The backend storage mechanism of an AMI can significantly influence performance and persistence. EBS-backed AMIs use Amazon Elastic Block Store for the root volume, providing persistent storage that survives instance termination. These are the go-to choice for most use cases, especially when you require data to persist across reboots.

Instance store-backed AMIs, by contrast, leverage ephemeral storage. Their root volume exists only during the instance’s lifecycle. Once the instance is terminated, the data is lost. These images are faster in terms of I/O performance and are best suited for stateless applications or temporary processing jobs.

Choosing between these two types isn’t just a technical decision—it’s architectural. EBS offers flexibility and scalability, while instance store excels in speed and raw disk access.

AMI Selection Parameters

Selecting the right AMI involves more than picking one from a list. There are several characteristics and filters that help narrow down the most suitable option for your use case.

Region Availability

Every AMI is region-specific by default. This isolation is designed to maximize fault tolerance and ensure data sovereignty. When choosing an AMI, first ensure that it is available in your intended region. If it’s not, you’ll need to copy it across regions, a process which incurs both time and storage costs.

Some organizations create regionally customized AMIs to comply with regulatory demands or latency-sensitive deployments. Others maintain a single master AMI and replicate it across regions as needed.

Operating System and Kernel Version

The operating system bundled in the AMI is one of the most critical considerations. Linux distributions such as Ubuntu, Amazon Linux, and Red Hat Enterprise Linux are commonly used in cloud-native applications. Windows Server options are also available, catering to enterprise environments and legacy systems.

Some applications may require very specific kernel versions, particularly in low-level networking or hardware acceleration use cases. In such cases, building custom AMIs becomes essential.

Architecture and Virtualization Type

Architecture determines the compatibility of the image with your workloads. Most modern AMIs are 64-bit, but 32-bit options still exist for legacy applications. Newer architectures, like ARM-based Graviton processors, require specialized AMIs that offer better cost efficiency and performance per watt.

Virtualization type—either paravirtual (PV) or hardware virtual machine (HVM)—affects how the image interacts with underlying hardware. HVM provides better performance and is recommended for most scenarios today, but some older images may still use PV.

Launch Permissions and Security Considerations

Controlling who can use an AMI is critical in multi-account or enterprise environments. AWS supports multiple layers of access control through launch permissions.

Public Launch Permissions

A public AMI is visible to all AWS users. Any user can launch instances from it without needing explicit permission. While this offers maximum distribution, it also demands rigorous hardening and sanitization before public exposure.

Explicit Launch Permissions

Explicit permissions restrict AMI access to specific AWS accounts. This is useful for sharing pre-approved configurations across business units or subsidiaries without exposing them to the public domain.

Implicit Permissions

The creator of an AMI always retains launch privileges. These permissions are implicit and require no additional configuration. However, administrators must ensure they manage and audit these AMIs to avoid shadow IT scenarios where outdated images proliferate unchecked.

Lifecycle and Deregistration

Just like applications and servers, AMIs have a lifecycle. It begins with creation and registration and can end in deregistration and deletion.

Registration and Replication

Once an AMI is created—either via instance snapshotting or bundling—it must be registered with AWS. Registration includes metadata like the image ID, architecture, description, and device mappings.

You can copy AMIs across regions as part of a high-availability or disaster recovery strategy. This action replicates the associated EBS snapshots and metadata, creating a new AMI ID in the target region.

Deregistration

Deregistering an AMI removes it from the list of usable images. However, it doesn’t delete the underlying snapshots. You must manually delete those to reclaim storage costs. Deregistration is a best practice for obsolete or deprecated AMIs to prevent accidental deployment of outdated configurations.

Importantly, deregistering an AMI does not affect running instances that were launched from it. These instances continue to operate normally, but you lose the ability to create new ones using the deregistered image.

Custom Metadata and Product Codes

AMIs can be extended with additional metadata to support billing, tracking, or compliance requirements. One such feature is the product code.

Product codes are unique identifiers linked to paid AMIs. They allow the AMI creator to monetize usage through the AWS billing system. When an EC2 instance is launched from a paid AMI, AWS automatically tracks the consumption and applies the appropriate charges to the user’s account.

You can also embed custom tags and descriptive fields in your AMI to improve discoverability and classification. This is especially helpful in large organizations managing hundreds of AMIs across teams and projects.

Image Optimization and Storage Considerations

An often-overlooked part of AMI design is image optimization. The size and content of an AMI affect launch speed, storage costs, and even security posture.

Reducing Image Size

Smaller AMIs launch faster and consume less storage. Before creating an image, consider removing unused software, clearing logs, and compressing large binaries. Zeroing out free space can also reduce the size of EBS snapshots.

Additionally, segment non-critical components to secondary EBS volumes. This approach lets you maintain a lean root image while enabling flexible storage expansion post-launch.

Storage Billing Nuances

While AMI creation itself incurs no direct cost, storage does. EBS snapshots that form the backbone of your AMI are billed based on the data size. Similarly, S3 storage costs apply for instance store-backed images and their associated manifests and parts.

Implement automated cleanup policies to delete unused snapshots and deregister idle AMIs. This helps control long-term storage expenses without compromising availability.

Building and Managing Custom AMIs

Creating and maintaining Amazon Machine Images (AMIs) is a cornerstone of effective infrastructure automation. Whether you’re orchestrating a multi-tiered deployment or streamlining disaster recovery, custom AMIs allow for consistency, speed, and control. This section explores the process and best practices around crafting both EBS-backed and instance store-backed AMIs, while also diving into how to securely manage and optimize them.

Creating EBS-Backed AMIs

EBS-backed AMIs are the most commonly used image types due to their persistence and flexibility. These AMIs use Amazon Elastic Block Store as the root volume, which continues to exist even after the instance is terminated.

Steps for EBS-Backed AMI Creation

To start, choose an existing instance or AMI that reflects the base configuration you want. This might include the operating system, pre-installed software, and network configurations.

  1. Launch an instance from your selected AMI.
  2. Connect to the instance and apply your customizations: install applications, configure settings, and adjust services.
  3. Clean the environment by deleting temporary files and logs.
  4. Open the EC2 Console, select your instance, and choose “Create Image” from the Actions menu.
  5. Fill in the required image details, such as a name and description, then confirm the creation.

AWS will snapshot the root and any attached EBS volumes, generating a new AMI. This process takes a few minutes, and the image becomes available once the snapshot is complete.

Post-Creation Considerations

Once your AMI is created, test it by launching new instances. Ensure that the user experience, configuration, and application performance meet expectations. This testing is essential to avoid deploying broken or misconfigured instances in production environments.

Creating Instance Store-Backed AMIs

Although less common than EBS-backed AMIs, instance store-backed images are useful for ephemeral workloads requiring high-speed disk access. The process of building them is slightly more involved.

Steps for Instance Store-Backed AMI Creation

  1. Launch an instance from an AMI that is already instance store-based.
  2. Connect and make your custom changes, just as you would for an EBS-backed instance.
  3. Use the AMI tools package to bundle the instance. This creates a manifest file and several part files.
  4. Upload these files to an S3 bucket.
  5. Register the new AMI using the AWS CLI or Management Console, linking it to the S3 manifest.

This approach offers full control over the root volume but lacks persistence. Once an instance is terminated, the data is gone, so always plan accordingly.

Copying AMIs Across Regions

To maintain availability and reduce latency, organizations often operate in multiple AWS regions. Copying AMIs across regions ensures consistent deployments.

How to Copy an AMI

  1. Navigate to the EC2 Console.
  2. Select the AMI you wish to copy.
  3. Choose “Copy AMI” from the Actions menu.
  4. Specify the destination region and other parameters like encryption and name.

The copied AMI will appear in the target region, complete with its EBS snapshot, although a new AMI ID will be generated.

Use Cases for Cross-Region AMIs

  • Disaster Recovery: Deploy your core services in a failover region.
  • Latency Reduction: Bring your stack closer to users.
  • Compliance: Operate within data residency requirements.

Optimizing and Hardening Custom AMIs

Performance and security optimization of AMIs isn’t just good hygiene—it’s a strategic advantage. Every component inside the image influences boot time, footprint, and vulnerability surface.

Image Minimization

Trim your AMIs by removing unused packages, stripping logs, and zeroing out empty disk space. Small images launch faster and cost less in snapshot storage.

Tools like cloud-init can be configured to dynamically install non-critical components during boot, allowing your AMI to remain lean.

Security Hardening

  • Disable root login and enforce SSH key authentication.
  • Apply the latest security patches before imaging.
  • Configure firewalls and security groups appropriately.
  • Validate open ports, especially default ones like 22 for SSH and 3389 for RDP.

Use AWS Systems Manager or third-party security scanners to perform regular compliance checks on your AMIs.

Version Control and Repeatability

Treating AMIs like code artifacts brings predictability. Maintain a naming convention that reflects the version, creation date, and purpose.

Recommended Practices

  • Use a common OS username, such as ec2-user, for all AMIs.
  • Document each AMI build process using scripts or automation tools.
  • Archive deprecated AMIs rather than deleting them immediately.
  • Keep track of product dependencies and changes over time.

Infrastructure as Code tools like Packer and Terraform can automate AMI creation and enforce consistency across environments.

Managing AMI Inventory

As deployments scale, managing an ever-growing list of AMIs becomes complex. Tagging and classification become essential for visibility and control.

Organizational Strategies

  • Tag AMIs with environment (dev, staging, prod), owner, and creation date.
  • Use naming patterns to differentiate base images from application-specific ones.
  • Periodically audit your AMIs to identify outdated or unused versions.

Cloud environments benefit from entropy reduction. Eliminate redundant AMIs and consolidate around trusted, verified builds.

Decommissioning and Clean-Up

Unmanaged AMIs clutter your environment and incur unnecessary costs. Proper decommissioning involves deregistering the AMI and deleting associated snapshots.

Deregistration Process

  1. Open the EC2 Console and go to the AMIs page.
  2. Select the AMI to be removed.
  3. Choose “Deregister AMI” from the Actions menu.

Once deregistered, manually delete the EBS snapshots tied to the image. Note that running instances based on the AMI will not be affected—they continue to function until manually terminated.

Monetizing AMIs with Product Codes

If you’ve developed a valuable AMI with proprietary software or configurations, consider monetizing it via the AWS Marketplace.

Steps to Monetize

  • Attach a product code to your AMI.
  • Submit the AMI for AWS Marketplace approval.
  • Once accepted, AWS handles licensing and billing.

This model allows you to generate revenue each time another user launches an instance from your image. It also fosters a broader ecosystem of third-party solutions tailored for specific workloads.

Conclusion

Creating custom AMIs is both an art and a science. It’s about striking a balance between speed, security, and standardization. From choosing the right base image to implementing a reliable update strategy, every decision in your AMI workflow has downstream effects.

Whether you’re deploying mission-critical software or spinning up disposable test environments, your AMI strategy shapes the foundation of your infrastructure. Mastery of custom image management transforms your cloud operations from reactive to resilient, from fragmented to fluid.