<?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><id>https://www.imaxe.cloud/en/blog/</id><title>imaxe.cloud · Blog</title><subtitle>Engineering notes, catalog news and practical guides from the imaxe.cloud team.</subtitle><updated>2026-08-22T15:25:49Z</updated><rights>© 2026 imaxe.cloud</rights><generator uri="https://gohugo.io/">Hugo</generator><author><name>imaxe team</name><uri>https://www.imaxe.cloud/</uri></author><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/"/><link rel="self" type="application/atom+xml" href="https://www.imaxe.cloud/en/blog/atom.xml"/><link rel="alternate" type="application/rss+xml" href="https://www.imaxe.cloud/en/blog/index.xml"/><link rel="alternate" type="application/feed+json" href="https://www.imaxe.cloud/en/blog/feed.json"/><entry><id>https://www.imaxe.cloud/en/blog/arm64-by-default/</id><title>ARM64 by default: why we build our AMIs on Graviton</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/arm64-by-default/"/><published>2026-08-04T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="news"/><category term="arm64"/><category term="graviton"/><category term="x86_64"/><category term="architecture"/><category term="custom"/><summary type="text">When we designed our images we had to pick a default architecture. We thought it through, measured, and settled on ARM64. Here is why we believe it is the best option for most people, and why —if you need x86_64— all you have to do is ask.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/arm64-por-defecto_hu_99c180b1a81b7f6a.webp" alt="Microscopic detail of a processor's silicon" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;Every AMI is built for one specific CPU architecture: x86_64 (Intel or AMD) or ARM64
(aarch64, the one behind AWS Graviton and its equivalents). There is no image that
&amp;ldquo;works for both&amp;rdquo;: they are different binaries. So when we put our catalogue together, we
had to decide which one would be the default.&lt;/p&gt;
&lt;p&gt;We looked at cost, performance, efficiency, ecosystem maturity and where the market is
heading. The conclusion was clear: &lt;strong&gt;ARM64 is today the best bet for most workloads.&lt;/strong&gt;
And that is how we build our images.&lt;/p&gt;
&lt;h2 id="why-arm64-wins-for-most-people"&gt;Why ARM64 wins for most people&lt;/h2&gt;
&lt;h3 id="1-better-price-performance"&gt;1. Better price-performance&lt;/h3&gt;
&lt;p&gt;This is the decisive argument. ARM (Graviton) instances consistently deliver &lt;strong&gt;more
performance per euro&lt;/strong&gt; than their x86 equivalents across a wide range of workloads: web,
APIs, microservices, containers, databases and queues. In practice, moving to ARM
usually translates into savings in the order of &lt;strong&gt;20 % to 40 %&lt;/strong&gt; on compute cost. In a
cloud that keeps getting more expensive, that margin is too big to ignore.&lt;/p&gt;
&lt;h3 id="2-more-efficiency-less-energy"&gt;2. More efficiency, less energy&lt;/h3&gt;
&lt;p&gt;ARM processors were born optimising power consumption. That means more work per watt,
lower energy cost and a &lt;strong&gt;smaller carbon footprint&lt;/strong&gt; per unit of compute. If
sustainability is part of your goals —or your customers&amp;rsquo;— ARM plays in your favour.&lt;/p&gt;
&lt;h3 id="3-the-ecosystem-is-already-mature"&gt;3. The ecosystem is already mature&lt;/h3&gt;
&lt;p&gt;A few years ago, &amp;ldquo;will it have an ARM version?&amp;rdquo; was a legitimate question. Today the
vast majority of server software —operating systems, languages, runtimes, databases,
popular container images— has first-class ARM64 support. Compatibility stopped being the
exception and became the norm.&lt;/p&gt;
&lt;h3 id="4-same-security-same-operating-model"&gt;4. Same security, same operating model&lt;/h3&gt;
&lt;p&gt;Changing architecture does not change how you work: configuration, hardening, cloud-init,
your provisioning scripts and your pipeline are all the same. ARM64 does not ask you to
give up anything in your operations or your security posture.&lt;/p&gt;
&lt;h2 id="the-comparison-in-one-table"&gt;The comparison, in one table&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Criterion&lt;/th&gt;
&lt;th&gt;ARM64 (Graviton)&lt;/th&gt;
&lt;th&gt;x86_64 (Intel/AMD)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Price-performance&lt;/td&gt;
&lt;td&gt;Superior on most workloads&lt;/td&gt;
&lt;td&gt;Good, but pricier per unit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Energy efficiency&lt;/td&gt;
&lt;td&gt;Very high&lt;/td&gt;
&lt;td&gt;Lower&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Software compatibility&lt;/td&gt;
&lt;td&gt;Excellent and broad today&lt;/td&gt;
&lt;td&gt;Maximum, universal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Legacy proprietary binaries&lt;/td&gt;
&lt;td&gt;Sometimes no ARM build&lt;/td&gt;
&lt;td&gt;Full support&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Market direction&lt;/td&gt;
&lt;td&gt;Growing and strategic&lt;/td&gt;
&lt;td&gt;Consolidated&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Typical cost&lt;/td&gt;
&lt;td&gt;Lower: between 20 % and 40 %&lt;/td&gt;
&lt;td&gt;Higher&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;For modern workloads, ARM64 wins where it matters most: cost, efficiency and future.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="when-x86_64-still-makes-sense"&gt;When x86_64 still makes sense&lt;/h2&gt;
&lt;p&gt;Being honest is part of choosing well. There are cases where x86_64 is still the right
call, and we do not want anyone forcing a migration that makes life harder:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Proprietary software or binaries&lt;/strong&gt; that only exist compiled for x86.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Native dependencies&lt;/strong&gt; —compiled extensions— with no ARM build available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Legacy tools&lt;/strong&gt; or third-party integrations tied to x86.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Very specific workloads&lt;/strong&gt; hand-optimised for x86 instructions.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="our-decision-arm64-by-default-x86_64-on-request"&gt;Our decision: ARM64 by default, x86_64 on request&lt;/h2&gt;
&lt;p&gt;For all of the above, &lt;strong&gt;our AMIs are built on ARM64 by default.&lt;/strong&gt; We believe that is what
brings most value to most people: you pay less for the same work, you consume less energy
and you ride the architecture that is setting the cloud&amp;rsquo;s direction.&lt;/p&gt;
&lt;p&gt;But we know not every workload fits. That is why, &lt;strong&gt;if you need x86_64, all you have to
do is ask: we will prepare a custom image&lt;/strong&gt; with the same configuration, the same
hardening and the same quality, built for x86_64. Same product, same base, the
architecture your case requires.&lt;/p&gt;
&lt;h2 id="how-to-decide-in-30-seconds"&gt;How to decide in 30 seconds&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Modern stack —web, API, containers, interpreted languages, common databases—:
&lt;strong&gt;ARM64&lt;/strong&gt;, no hesitation.&lt;/li&gt;
&lt;li&gt;Do you have a proprietary binary or a dependency that only runs on x86? &lt;strong&gt;Ask us for
the x86_64 variant.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Not sure? Start on ARM64 and try it; if something does not fit, we build the x86_64
one and that is that.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Are your AMIs ARM64 or x86_64?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By default we build them on ARM64 (Graviton), because it offers the best
price-performance for most workloads. If you need x86_64, we prepare a custom one with
the same configuration and quality.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do I have to change my application to use ARM64?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In most cases, no. Interpreted languages and modern software run on ARM unchanged. There
is only friction with proprietary binaries or native dependencies with no ARM version;
in those cases we offer you the x86_64 variant.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do I request a custom x86_64 image?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Just ask. We start from the same base and the same hardening and build the image for
x86_64, so you get exactly the same product on the architecture you need.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Am I really going to save with ARM64?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For suitable workloads, savings of 20 % to 40 % on compute cost are common, on top of
lower energy consumption. The way to confirm it for your specific case is to run your
workload and compare.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we bet on ARM64 because we believe it is best for your bill, your
performance and the planet. And if you need x86_64, all you have to do is ask: we build
you a custom one.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/optimize-ami-size-and-boot-time/</id><title>Shrink the size and boot time of your AMIs</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/optimize-ami-size-and-boot-time/"/><published>2026-07-31T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="operations"/><category term="performance"/><category term="boot"/><category term="cost"/><category term="autoscaling"/><category term="minimal image"/><summary type="text">A bloated image boots slowly, costs more to store and widens your attack surface. Slimming your AMIs and speeding up their boot improves your autoscaling, your bill and your security in one move. Here is how.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/optimizar-tamano-arranque-ami_hu_69b1788d3fbcbc6c.webp" alt="Pocket stopwatch on a black background" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;An image&amp;rsquo;s size and boot time look like technical details, but they hit three things the
business does care about: &lt;strong&gt;autoscaling speed&lt;/strong&gt; —how long you take to answer a spike—,
&lt;strong&gt;cost&lt;/strong&gt; —storage and idle compute waiting for boot— and &lt;strong&gt;security&lt;/strong&gt;: less software
means less attack surface.&lt;/p&gt;
&lt;p&gt;A slim, fast image is almost always a better image.&lt;/p&gt;
&lt;h2 id="slimming-the-image-less-is-more"&gt;Slimming the image: less is more&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Start from a minimal base&lt;/strong&gt;: use &lt;em&gt;minimal&lt;/em&gt; variants of the operating system rather
than full installs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Install only what you need&lt;/strong&gt;: every extra package is weight, maintenance and attack
surface.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clean up after building&lt;/strong&gt;: delete package caches (&lt;code&gt;dnf clean all&lt;/code&gt;, &lt;code&gt;apt-get clean&lt;/code&gt;),
logs, documentation and temporary files before sealing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Remove build tools&lt;/strong&gt;: if you compiled something, strip out compilers and development
dependencies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Review the volume size&lt;/strong&gt;: do not drag a 100 GB disk around if your software takes 8.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="speeding-up-boot"&gt;Speeding up boot&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bake, do not install at boot&lt;/strong&gt;: everything you install in user-data is boot time;
move it into the image.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Minimal services at start&lt;/strong&gt;: disable whatever you do not need on the first boot.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Preload dependencies&lt;/strong&gt;: drivers, runtimes and base containers already present avoid
initial downloads.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimise cloud-init&lt;/strong&gt;: a small, idempotent user-data boots sooner.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Snapshots and provisioning&lt;/strong&gt;: use the cloud&amp;rsquo;s options to hydrate volumes faster.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-impact-in-numbers"&gt;The impact, in numbers&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Lever&lt;/th&gt;
&lt;th&gt;Effect on autoscaling&lt;/th&gt;
&lt;th&gt;Effect on cost and security&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Smaller image&lt;/td&gt;
&lt;td&gt;Faster copies and launches&lt;/td&gt;
&lt;td&gt;Lower snapshot cost, fewer CVEs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Faster boot&lt;/td&gt;
&lt;td&gt;You answer spikes sooner&lt;/td&gt;
&lt;td&gt;Less compute paid without serving&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fewer packages&lt;/td&gt;
&lt;td&gt;Less to load and initialise&lt;/td&gt;
&lt;td&gt;Reduced attack surface&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Optimising the image improves performance, cost and security at the same time.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="do-not-overshoot"&gt;Do not overshoot&lt;/h2&gt;
&lt;p&gt;Optimising is not amputating. Cutting too much can break subtle dependencies or make
debugging harder. The right discipline: measure size and boot time as part of your
pipeline, trim with judgement, always validate in staging, and document what you removed
and why. Treat these metrics as image quality indicators, not as an obsession.&lt;/p&gt;
&lt;h2 id="optimisation-checklist"&gt;Optimisation checklist&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Minimal operating system base.&lt;/li&gt;
&lt;li&gt;Only the indispensable packages.&lt;/li&gt;
&lt;li&gt;Cleanup of caches, logs and temporary files before sealing.&lt;/li&gt;
&lt;li&gt;No build tools in the final image.&lt;/li&gt;
&lt;li&gt;Small user-data; the heavy lifting baked in.&lt;/li&gt;
&lt;li&gt;Volume size matched to reality.&lt;/li&gt;
&lt;li&gt;Size and boot metrics in the pipeline.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;How much faster can boot get by optimising the image?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It depends on the starting point, but moving installations out of user-data and into the
image, plus reducing initial services, usually cuts boot time noticeably, which directly
improves how quickly your autoscaling responds.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Is a smaller image more secure?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Generally yes: less installed software means fewer potential vulnerabilities and a
smaller attack surface, plus it is easier to audit.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Is a minimal OS worth it?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For most server workloads, yes: it boots sooner, takes less space and is more secure.
Just avoid minimising so far that you hamper diagnostics or break dependencies you
genuinely need.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we make sure our images are light, quick to boot and easy to maintain.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/ai-gpu-images-2026/</id><title>Machine images for AI and GPUs in 2026: what changes when GPUs enter the picture</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/ai-gpu-images-2026/"/><published>2026-07-28T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="news"/><category term="ai"/><category term="gpu"/><category term="nvidia"/><category term="cuda"/><category term="mlops"/><summary type="text">Assembling a GPU-based AI environment by hand is a festival of drivers, CUDA versions and frameworks that refuse to line up. A well-prepared GPU image saves you days of pain. Here is what an AI AMI should carry in 2026.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/imagenes-ia-gpu-2026_hu_57244b43363ee40d.webp" alt="Graphics card with its heatsink and fans" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;With AI in production as the big theme of 2026, more and more teams are launching GPU
instances to train and run inference on models. But a GPU does not work on its own: it
needs a very specific software stack —&lt;strong&gt;NVIDIA driver, CUDA, cuDNN, frameworks&lt;/strong&gt;— with
versions that must line up with each other. Preparing all of that by hand on every
instance is slow and fragile.&lt;/p&gt;
&lt;p&gt;Hence the value of a &lt;strong&gt;GPU-ready image&lt;/strong&gt;: it encapsulates that validated stack once and
boots ready to work.&lt;/p&gt;
&lt;h2 id="what-an-ai-ami-should-carry"&gt;What an AI AMI should carry&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NVIDIA driver&lt;/strong&gt; compatible with the target GPU, for instance those in the accelerated
instance families.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CUDA and cuDNN&lt;/strong&gt; in versions aligned with the frameworks you plan to use.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frameworks&lt;/strong&gt; such as PyTorch or TensorFlow or, better still, the &lt;strong&gt;NVIDIA Container
Toolkit&lt;/strong&gt; to run them in containers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MLOps tooling&lt;/strong&gt; and GPU monitoring, for example DCGM, preinstalled.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Boot optimisation&lt;/strong&gt;: preloaded drivers so you do not lose minutes —and GPU money— on
every launch.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="build-or-use-a-ready-made-image"&gt;Build or use a ready-made image&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;Advantage&lt;/th&gt;
&lt;th&gt;Trade-off&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Official GPU image (NVIDIA GPU-Optimized, Deep Learning)&lt;/td&gt;
&lt;td&gt;Validated, maintained stack&lt;/td&gt;
&lt;td&gt;Less control over versions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom image&lt;/td&gt;
&lt;td&gt;Full control of versions and hardening&lt;/td&gt;
&lt;td&gt;Maintenance on you&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPU containers on a base AMI&lt;/td&gt;
&lt;td&gt;Portability and reproducibility&lt;/td&gt;
&lt;td&gt;Needs the toolkit and driver-equipped nodes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Choose according to how much version control and maintenance you want to take on.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="cost-rules-the-gpu-is-expensive"&gt;Cost rules: the GPU is expensive&lt;/h2&gt;
&lt;p&gt;GPU time is the most expensive resource on your AI bill, and reducing &lt;strong&gt;idle GPU&lt;/strong&gt; is one
of 2026&amp;rsquo;s priorities. The image directly influences this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fast boot&lt;/strong&gt;: an image with drivers and dependencies already in place avoids minutes
of paid GPU doing nothing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPU containers&lt;/strong&gt;: package the model environment to reproduce it instantly on any
driver-equipped node.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Edge inference&lt;/strong&gt;: lightweight images to bring models close to the data and cut
latency and cost.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scaling and spot&lt;/strong&gt;: combine ready images with spot instances to cheapen
interruption-tolerant workloads.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="best-practices"&gt;Best practices&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pin and document the &lt;strong&gt;versions&lt;/strong&gt; of driver, CUDA and framework: compatibility is
brittle.&lt;/li&gt;
&lt;li&gt;Keep the image &lt;strong&gt;up to date&lt;/strong&gt; with driver and operating system security patches.&lt;/li&gt;
&lt;li&gt;Separate the &lt;strong&gt;platform layer&lt;/strong&gt; —driver, toolkit— from the &lt;strong&gt;model layer&lt;/strong&gt; —the
container— so you can iterate fast.&lt;/li&gt;
&lt;li&gt;Measure the &lt;strong&gt;cost per inference&lt;/strong&gt; and tune image and instance accordingly.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Should I use an official Deep Learning AMI or build my own?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Official GPU images save an enormous amount of time and come with a validated stack.
Build your own if you need specific versions, particular hardening or strict compliance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why does fast boot matter so much on GPUs?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Because the GPU is the most expensive resource: every minute a GPU instance spends
booting and installing drivers is money paid for nothing. An image with everything
preinstalled cuts that waste.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Containers or direct installation for GPU AI?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;GPU containers, with the NVIDIA Container Toolkit, bring reproducibility and portability,
and are the recommended practice. They need the node to carry the driver, which a good
base AMI solves.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we follow the evolution of AI workloads closely so our images spare you
driver hell and slow boots.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/arm-graviton-savings/</id><title>ARM and Graviton: migrate your images and cut your cloud bill</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/arm-graviton-savings/"/><published>2026-07-24T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="guides"/><category term="arm"/><category term="graviton"/><category term="arm64"/><category term="finops"/><category term="multi-architecture"/><summary type="text">ARM stopped being a phone thing a long time ago: today it powers a huge share of the cloud and offers a price-performance ratio that is hard to ignore. Migrating your images to Graviton can trim your bill noticeably. Here is how, and with what care.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/arm-graviton-ahorro_hu_564873198e07c9a3.webp" alt="Exynos chip mounted on a motherboard" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;ARM-based processors, such as the &lt;strong&gt;AWS Graviton&lt;/strong&gt; family, have become a first-class
option for production workloads. Their pitch is simple and powerful: &lt;strong&gt;better
price-performance&lt;/strong&gt; than traditional x86 alternatives for many workloads, with lower
power consumption.&lt;/p&gt;
&lt;p&gt;In a cloud landscape that keeps getting more expensive —one of the big trends of 2026—
migrating to ARM is one of the most effective savings levers inside a FinOps strategy.&lt;/p&gt;
&lt;h2 id="how-much-can-you-save"&gt;How much can you save&lt;/h2&gt;
&lt;p&gt;The numbers vary by workload, but the industry consistently reports meaningful savings
when moving to Graviton, in the order of &lt;strong&gt;20 % to 40 %&lt;/strong&gt; on compute cost for suitable
workloads, thanks to a better price per vCPU and greater efficiency. It is not magic:
you have to validate it with your real workload, but the potential is large and it is
often money left on the table.&lt;/p&gt;
&lt;h2 id="what-migrates-well-and-what-needs-care"&gt;What migrates well and what needs care&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Migrates well&lt;/th&gt;
&lt;th&gt;Needs validation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Interpreted languages: Python, Node, Java, Go&lt;/td&gt;
&lt;td&gt;Binaries compiled for x86 only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Containers with multi-architecture images&lt;/td&gt;
&lt;td&gt;Native dependencies with no ARM build&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Web, APIs and microservices&lt;/td&gt;
&lt;td&gt;Proprietary software with no ARM version&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Common databases and caches&lt;/td&gt;
&lt;td&gt;Specific drivers or extensions&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Most modern workloads migrate without drama; watch out for native dependencies.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="the-role-of-multi-architecture-images"&gt;The role of multi-architecture images&lt;/h2&gt;
&lt;p&gt;The key to a clean migration is building your images for &lt;strong&gt;both architectures&lt;/strong&gt;, x86_64
and arm64. In the container world, &lt;em&gt;multi-arch&lt;/em&gt; images let the same tag work on either
one. In the AMI world, it pays to have your pipeline —Packer or EC2 Image Builder—
ready to produce the arm64 image alongside the x86 one, reusing the same provisioners.&lt;/p&gt;
&lt;h2 id="a-five-step-migration-plan"&gt;A five-step migration plan&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Inventory&lt;/strong&gt; your workloads and spot dependencies that may have no ARM version.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Build arm64 images&lt;/strong&gt; in your pipeline, in parallel with the x86 ones.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Test&lt;/strong&gt; in staging: performance, compatibility and functional results.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Migrate in phases&lt;/strong&gt; with canary or blue/green, measuring real cost and performance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimise&lt;/strong&gt;: match the Graviton instance type to the workload profile.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="arm-on-azure-and-gcp-too"&gt;ARM on Azure and GCP too&lt;/h2&gt;
&lt;p&gt;The trend is not AWS-only. Azure offers ARM-based machines —Cobalt and partner ones—
and Google Cloud has ARM instances such as Axion and Tau T2A. If you design your images
as code and for multiple architectures, you earn the freedom to chase the best
price-performance on any cloud.&lt;/p&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Exactly how much will I save with Graviton?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It depends on your workload, but savings of 20 % to 40 % on compute cost are common for
suitable workloads. The only way to know for sure is to run your real workload on ARM
instances and compare.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do I have to rewrite my application for ARM?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Rarely. Interpreted languages and most modern software run on ARM unchanged. The work
shows up with binaries compiled for x86 only or native dependencies with no ARM build.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Can I have images that work on x86 and ARM at the same time?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes: with multi-architecture container images and AMI pipelines that produce both
variants. That way you migrate gradually and never get stuck.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we design our images to make the most of each architecture and help you
optimise cost and performance.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/migrate-ami-without-downtime/</id><title>How to migrate to a new AMI without service interruptions</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/migrate-ami-without-downtime/"/><published>2026-07-21T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="operations"/><category term="blue/green"/><category term="rolling update"/><category term="canary"/><category term="auto scaling"/><category term="deployment"/><summary type="text">Updating the image that holds up your service does not have to mean a sleepless night or a maintenance page. With the right strategy you switch AMIs with zero downtime and a reverse gear always within reach.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/migrar-ami-sin-downtime_hu_1ed2f0ccb833f256.webp" alt="Point lever beside a railway track" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;Changing the AMI your instances use is like changing the foundation of your service while
it keeps running. Done badly it means outages; done well it is nearly invisible to the
user. The good news: there are proven patterns that make this migration safe and
reversible.&lt;/p&gt;
&lt;p&gt;The common basis is not to edit live instances, but to &lt;strong&gt;launch new instances with the
new AMI&lt;/strong&gt; and shift traffic in a controlled way.&lt;/p&gt;
&lt;h2 id="before-migrating-prepare-the-ground"&gt;Before migrating: prepare the ground&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Test the new AMI&lt;/strong&gt; in a staging environment identical to production.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reliable health checks&lt;/strong&gt;: define checks that confirm a new instance is genuinely
healthy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rollback plan&lt;/strong&gt;: have the previous version and the procedure to return to it ready.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Observability&lt;/strong&gt;: metrics and alerts to spot regressions instantly.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="zero-downtime-migration-strategies"&gt;Zero-downtime migration strategies&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Strategy&lt;/th&gt;
&lt;th&gt;How it works&lt;/th&gt;
&lt;th&gt;Ideal for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Rolling update&lt;/td&gt;
&lt;td&gt;Replaces instances in batches, little by little&lt;/td&gt;
&lt;td&gt;Services in an Auto Scaling Group&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Blue/Green&lt;/td&gt;
&lt;td&gt;You stand up a new environment and switch traffic at once&lt;/td&gt;
&lt;td&gt;Migrations with instant rollback&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Canary&lt;/td&gt;
&lt;td&gt;You send a small percentage of traffic to the new version&lt;/td&gt;
&lt;td&gt;Validating in production at low risk&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Three patterns for changing AMIs without interrupting the service.&lt;/em&gt;&lt;/p&gt;
&lt;h3 id="rolling-update"&gt;Rolling update&lt;/h3&gt;
&lt;p&gt;You update the Launch Template with the new AMI and the Auto Scaling Group replaces
instances in waves: it launches new ones, waits for them to pass the health check and
retires the old ones. Simple and with no extra infrastructure, although both versions
coexist for a while.&lt;/p&gt;
&lt;h3 id="bluegreen"&gt;Blue/Green&lt;/h3&gt;
&lt;p&gt;You stand up a parallel environment (&lt;em&gt;green&lt;/em&gt;) with the new AMI while the current one
(&lt;em&gt;blue&lt;/em&gt;) keeps serving. Once green is validated, you redirect traffic at the load
balancer or in DNS. If anything fails, you are back on blue in seconds. It is the pattern
with the fastest rollback, at the cost of temporarily duplicating resources.&lt;/p&gt;
&lt;h3 id="canary"&gt;Canary&lt;/h3&gt;
&lt;p&gt;You send a small fraction of traffic to instances with the new AMI and observe. If the
metrics hold, you raise the percentage progressively up to 100 %. It minimises the blast
radius of an unexpected problem.&lt;/p&gt;
&lt;h2 id="after-migrating"&gt;After migrating&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Watch metrics and logs for a reasonable period before declaring the migration good.&lt;/li&gt;
&lt;li&gt;Mark the old AMI as &lt;strong&gt;deprecated&lt;/strong&gt; so it is not relaunched by mistake.&lt;/li&gt;
&lt;li&gt;Document the deployed version and the reason for the change.&lt;/li&gt;
&lt;li&gt;Do not delete the previous image immediately: keep it in case you need a rollback.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Which strategy is best for zero downtime?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Blue/Green offers the fastest rollback; rolling update is simpler and cheaper; canary
minimises risk by validating in production. The choice depends on your risk tolerance and
your infrastructure budget.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do I need to duplicate the infrastructure to migrate?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Only with blue/green, and temporarily. With rolling update or canary you reuse the same
group and replace instances as you go, without duplicating the whole environment.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do I guarantee I can go back?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Keep the previous AMI and its Launch Template, define reliable health checks and have the
rollback procedure tested before starting the migration.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we version our images so that migrating between versions is predictable
and reversible.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/byol-vs-hourly-pricing/</id><title>BYOL vs hourly pricing: understand the licensing and cost of your AMIs</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/byol-vs-hourly-pricing/"/><published>2026-07-17T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="guides"/><category term="byol"/><category term="licensing"/><category term="costs"/><category term="marketplace"/><category term="finops"/><summary type="text">Do you bring your own licence or pay by the hour when you use an image? The answer changes your bill, your flexibility and your legal obligations. This guide helps you pick the model that actually suits you.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/byol-vs-pago-por-hora_hu_5e9a1e84b468f504.webp" alt="Euro coins and banknotes on a table" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;When you launch an instance from an AMI, on top of the compute cost —the EC2 instance—
there may be a cost attached to the image&amp;rsquo;s &lt;strong&gt;software&lt;/strong&gt;. That cost is structured mainly
in three models: free (open source), hourly pricing bundled with the instance, and BYOL
(bring your own licence).&lt;/p&gt;
&lt;p&gt;Understanding the difference avoids surprises on the bill and licence compliance
headaches.&lt;/p&gt;
&lt;h2 id="the-models-clearly"&gt;The models, clearly&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;How you pay&lt;/th&gt;
&lt;th&gt;Main advantage&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free or open source&lt;/td&gt;
&lt;td&gt;You only pay for the instance&lt;/td&gt;
&lt;td&gt;Minimum cost, no software licence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hourly pricing (PAYG)&lt;/td&gt;
&lt;td&gt;The software is billed per hour of use&lt;/td&gt;
&lt;td&gt;No commitment: scale up and shut down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BYOL&lt;/td&gt;
&lt;td&gt;You reuse a licence you already own&lt;/td&gt;
&lt;td&gt;You leverage prior investment and keep control&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;The three software cost models in a machine image.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="hourly-pricing-flexibility-above-all"&gt;Hourly pricing: flexibility above all&lt;/h2&gt;
&lt;p&gt;In the pay-as-you-go model, the software cost is added to the instance cost and billed
per hour or second of use. It is ideal when your workload is variable or unpredictable:
no upfront commitment, you scale when you need to and stop paying when you shut down. The
trade-off is that with intensive, constant usage it can end up pricier in the long run
than amortising your own licence.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;For&lt;/strong&gt;: zero upfront investment, full elasticity, maintenance and support often
included.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Against&lt;/strong&gt;: an hourly cost that, added up 24/7, can exceed an amortised licence.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="byol-make-the-most-of-what-you-already-have"&gt;BYOL: make the most of what you already have&lt;/h2&gt;
&lt;p&gt;With &lt;strong&gt;Bring Your Own License&lt;/strong&gt; you reuse a licence you already own —for instance, from
an enterprise agreement— on a cloud image. It can cut costs if you have already invested
in licences, but it comes with responsibilities: you must comply with the vendor&amp;rsquo;s terms,
watch the licence&amp;rsquo;s portability to the cloud and manage compliance yourself.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;For&lt;/strong&gt;: leverages prior investment, possible savings with constant usage, continuity
with your vendor.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Against&lt;/strong&gt;: compliance complexity, vendor audit risk and management on your side.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="hidden-costs-you-should-watch"&gt;Hidden costs you should watch&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Storage&lt;/strong&gt;: the image&amp;rsquo;s EBS snapshots cost money, even if the software is free.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data transfer&lt;/strong&gt; between regions or out to the internet.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Support&lt;/strong&gt;: is it included in the hourly price or does it go separately?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Instance type&lt;/strong&gt;: the software may require larger instances, pushing compute cost up.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Licence portability&lt;/strong&gt;: some BYOL licences require dedicated tenancy, which is more
expensive.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="how-to-decide"&gt;How to decide&lt;/h2&gt;
&lt;p&gt;The rule of thumb: for &lt;strong&gt;variable or short-lived&lt;/strong&gt; workloads, hourly pricing usually wins
on flexibility. For &lt;strong&gt;constant 24/7, long-lived&lt;/strong&gt; workloads, amortising a licence or
reserving capacity can reduce total cost. Run the numbers with your real usage profile
—not the worst case— and remember to include the hidden costs.&lt;/p&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Which is cheaper, BYOL or hourly pricing?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It depends on your usage. Hourly pricing wins with variable or intermittent workloads;
BYOL can pay off with constant 24/7 usage if you already have licences to amortise.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Does free software in an AMI mean zero cost?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Not quite: even if the software is open source, you still pay for the instance, the
snapshot storage and data transfer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What legal risks does BYOL carry?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You must comply with the vendor&amp;rsquo;s terms on cloud usage and licence portability. A breach
can surface in an audit, so it pays to review the conditions carefully.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we help you understand each image&amp;rsquo;s cost model so you can choose with the
numbers clear.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/ami-secrets-management/</id><title>Secrets management: never bake credentials into an AMI</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/ami-secrets-management/"/><published>2026-07-14T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="security"/><category term="secrets"/><category term="vault"/><category term="iam"/><category term="imdsv2"/><category term="secrets manager"/><summary type="text">A password inside an image is a leak waiting to happen: it gets copied, shared and stays forever in a snapshot. The rule is simple and admits no exceptions: secrets never go in the image. Here is how to do it right.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/gestion-secretos-ami_hu_ed7ffbea445a9c3c.webp" alt="Armoured door of a bank vault" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;When you embed a credential in an AMI, that credential travels with every copy of the
image, stays etched into the snapshots and can end up in accounts or regions you never
imagined. All it takes is somebody with read access to the image extracting it. And since
images are kept by version, the secret can survive long after you believed you had
rotated it.&lt;/p&gt;
&lt;p&gt;The golden rule: &lt;strong&gt;the image defines the machine; secrets are delivered at runtime&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="where-secrets-should-live"&gt;Where secrets should live&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Cloud or environment&lt;/th&gt;
&lt;th&gt;Ideal for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AWS Secrets Manager&lt;/td&gt;
&lt;td&gt;AWS&lt;/td&gt;
&lt;td&gt;Rotatable credentials, native integration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AWS SSM Parameter Store&lt;/td&gt;
&lt;td&gt;AWS&lt;/td&gt;
&lt;td&gt;Simple parameters and secrets, low cost&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HashiCorp Vault&lt;/td&gt;
&lt;td&gt;Multicloud&lt;/td&gt;
&lt;td&gt;Dynamic secrets and fine-grained control&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Azure Key Vault / Google Secret Manager&lt;/td&gt;
&lt;td&gt;Azure / GCP&lt;/td&gt;
&lt;td&gt;Native equivalents on each cloud&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Keep secrets in a dedicated manager, never in the image nor in plaintext user-data.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="the-right-pattern-identity-not-passwords"&gt;The right pattern: identity, not passwords&lt;/h2&gt;
&lt;p&gt;The safest way for an instance to reach resources is not to give it a password, but to
give it an &lt;strong&gt;identity&lt;/strong&gt;. On AWS, an &lt;strong&gt;IAM role&lt;/strong&gt; attached to the instance lets it obtain
temporary, automatically rotated credentials, without any key travelling in the image.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Instance IAM roles&lt;/strong&gt;: the instance assumes a role and gets temporary credentials.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IRSA on Kubernetes&lt;/strong&gt;: per-pod identity, with no shared keys on the node.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dynamic secrets with Vault&lt;/strong&gt;: short-lived credentials generated on demand.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Runtime injection&lt;/strong&gt;: the application reads the secret from the manager at start-up,
not from a baked file.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="protect-the-metadata-imdsv2"&gt;Protect the metadata: IMDSv2&lt;/h2&gt;
&lt;p&gt;The role&amp;rsquo;s temporary credentials are obtained through the instance metadata service. An
attacker exploiting an SSRF flaw could try to steal them. &lt;strong&gt;IMDSv2&lt;/strong&gt; requires a session
token and mitigates that class of attack: make it mandatory on your launches.&lt;/p&gt;
&lt;h2 id="hygiene-leave-no-traces-in-the-image"&gt;Hygiene: leave no traces in the image&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Before sealing the AMI, &lt;strong&gt;delete&lt;/strong&gt; shell histories, logs containing credentials,
temporary SSH keys and configuration files with secrets.&lt;/li&gt;
&lt;li&gt;Scan the image for &lt;strong&gt;secrets&lt;/strong&gt; with tools like gitleaks or trufflehog adapted to
filesystems.&lt;/li&gt;
&lt;li&gt;Do not leave extra &lt;strong&gt;authorised keys&lt;/strong&gt; in &lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Avoid &lt;strong&gt;public AMIs&lt;/strong&gt; with secrets: if you publish, check that you are leaking nothing.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="quick-checklist"&gt;Quick checklist&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Zero secrets baked into the image.&lt;/li&gt;
&lt;li&gt;Secrets manager with roles or federated identity.&lt;/li&gt;
&lt;li&gt;IMDSv2 mandatory.&lt;/li&gt;
&lt;li&gt;Secret scanning in the pipeline.&lt;/li&gt;
&lt;li&gt;Traces cleaned up before sealing.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;What if my application needs the secret at boot?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Have it read the secret from the secrets manager at runtime using the instance identity.
That way the secret never travels inside the image and can be rotated without rebuilding.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Is it safe to use user-data to pass secrets?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Not in plain text: user-data is readable from the metadata. At most, use it to indicate
which secret to pull from the manager, protecting the metadata with IMDSv2.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do I detect whether an image already has baked-in secrets?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By scanning it with secret detection tools over its filesystem and reviewing
configuration files, histories and authorised keys before using it.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we build images free of credentials and designed to integrate with
secrets managers and federated identity.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/sbom-machine-images/</id><title>SBOM for machine images: inventory and traceability for your software</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/sbom-machine-images/"/><published>2026-07-10T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="security"/><category term="sbom"/><category term="spdx"/><category term="cyclonedx"/><category term="syft"/><category term="supply chain"/><summary type="text">When the next critical vulnerability lands, the question will be: "am I affected?". Without an SBOM the answer takes days of manual searching. With one, seconds. Here is what it is and how to generate it for your images.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/sbom-imagenes-de-maquina_hu_ffc36a1f6a89fff9.webp" alt="Warehouse shelving with stacked, inventoried pallets" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;An &lt;strong&gt;SBOM&lt;/strong&gt; (&lt;em&gt;Software Bill of Materials&lt;/em&gt;) is your software&amp;rsquo;s &amp;ldquo;ingredient list&amp;rdquo;: the
complete inventory of packages, libraries, versions and dependencies an image contains.
Like a nutrition label, it tells you exactly what is inside.&lt;/p&gt;
&lt;p&gt;Its value becomes obvious on the day of a critical vulnerability: instead of manually
tracking dozens of images, you query the SBOM and know in seconds which images contain
the affected component and at what version.&lt;/p&gt;
&lt;h2 id="why-it-matters-for-your-images"&gt;Why it matters for your images&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fast CVE response&lt;/strong&gt;: you instantly identify whether a new vulnerability affects you.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Supply chain security&lt;/strong&gt;: you know where every component comes from.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compliance&lt;/strong&gt;: more and more frameworks and customers request it as evidence.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transparency&lt;/strong&gt;: if you publish images, an SBOM builds trust with whoever uses them.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="standard-formats"&gt;Standard formats&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Format&lt;/th&gt;
&lt;th&gt;Origin&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;SPDX&lt;/td&gt;
&lt;td&gt;Linux Foundation / ISO&lt;/td&gt;
&lt;td&gt;ISO standard, widely used in compliance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CycloneDX&lt;/td&gt;
&lt;td&gt;OWASP&lt;/td&gt;
&lt;td&gt;Security oriented, rich for vulnerability analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;The two dominant SBOM formats; many tools export to both.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="how-to-generate-an-image-sbom-step-by-step"&gt;How to generate an image SBOM, step by step&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Choose the tool&lt;/strong&gt;: Syft, from Anchore, is a de facto standard for generating SBOMs
of images and filesystems; there are cloud-native options too.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Generate it in the pipeline&lt;/strong&gt;: during the AMI build, scan the filesystem and produce
the SBOM, for instance in CycloneDX and SPDX.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Analyse vulnerabilities&lt;/strong&gt;: run the SBOM through Grype or Trivy to cross-reference it
with CVE databases.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sign and archive&lt;/strong&gt;: sign the SBOM —with cosign, for instance— and store it as an
artefact tied to the image version.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Query it when needed&lt;/strong&gt;: when a new CVE appears, check your archived SBOMs to
establish the scope.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="the-regulatory-context-of-2026"&gt;The regulatory context of 2026&lt;/h2&gt;
&lt;p&gt;SBOMs have been gaining weight for years as a supply chain security good practice. The
regulatory picture, however, is nuanced: in the United States the administration revised
inherited software attestation mandates in 2026 towards a more risk-based approach, while
in the European Union rules such as the Cyber Resilience Act push software transparency
and component inventories. Practical conclusion: regardless of regulatory swings, having
SBOMs is a defensive and commercial advantage worth adopting.&lt;/p&gt;
&lt;h2 id="best-practices"&gt;Best practices&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Generate the SBOM &lt;strong&gt;automatically&lt;/strong&gt; on every build, not by hand.&lt;/li&gt;
&lt;li&gt;Store it &lt;strong&gt;versioned&lt;/strong&gt; alongside the image it belongs to.&lt;/li&gt;
&lt;li&gt;Combine it with &lt;strong&gt;vulnerability scanning&lt;/strong&gt; so it is actionable.&lt;/li&gt;
&lt;li&gt;Sign it to guarantee its &lt;strong&gt;integrity&lt;/strong&gt; and provenance.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Is an SBOM the same as a vulnerability scan?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;No. The SBOM is the component inventory; the scan cross-references that inventory with
CVE databases to find vulnerabilities. They complement each other: first you know what
you have, then whether it is vulnerable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SPDX or CycloneDX?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SPDX is an ISO standard widely used in compliance; CycloneDX is more security oriented.
Many tools export to both, so you do not have to pick just one.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do I need an SBOM if I only consume third-party images?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes. Requesting or generating the SBOM for the images you use lets you assess their risk
and respond quickly to vulnerabilities, even if you did not build them.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we bet on traceability: inventorying and documenting the software in our
images is part of building them well.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/cloud-init-user-data/</id><title>cloud-init and user-data: configure your instances at boot like a pro</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/cloud-init-user-data/"/><published>2026-07-07T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="guides"/><category term="cloud-init"/><category term="user-data"/><category term="ec2"/><category term="bootstrapping"/><category term="imdsv2"/><summary type="text">A golden AMI handles what is stable; cloud-init handles what changes. Mastering user-data and cloud-init is what lets you use one image in a thousand scenarios without rebaking it. Here is the practical guide.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/cloud-init-user-data_hu_6c8986f026962556.webp" alt="Laptop showing a system update in a terminal" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;cloud-init&lt;/strong&gt; is the de facto standard for initialising cloud instances during their
first boot. When you launch an instance and pass it a &lt;strong&gt;user-data&lt;/strong&gt; script, it is
cloud-init that interprets and runs it: it creates users, writes files, installs
packages, mounts disks or starts services.&lt;/p&gt;
&lt;p&gt;The ideal combination is clear: the &lt;strong&gt;golden AMI&lt;/strong&gt; holds what does not change —operating
system, runtime, hardening— and &lt;strong&gt;user-data&lt;/strong&gt; supplies what varies by environment or
instance: configuration, injected secrets, role. That way you reuse a single image across
many contexts.&lt;/p&gt;
&lt;h2 id="two-ways-to-write-user-data"&gt;Two ways to write user-data&lt;/h2&gt;
&lt;p&gt;user-data accepts several formats; the two most common are the shell script and
cloud-config.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Shell script&lt;/strong&gt;: starts with &lt;code&gt;#!/bin/bash&lt;/code&gt;. Simple and direct for quick tasks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloud-config&lt;/strong&gt;: starts with &lt;code&gt;#cloud-config&lt;/code&gt; and uses declarative YAML. Cleaner, more
readable and more idempotent for configuring users, packages, files and commands.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="a-cloud-config-example"&gt;A cloud-config example&lt;/h3&gt;
&lt;p&gt;A typical &lt;code&gt;#cloud-config&lt;/code&gt; declares sections such as &lt;code&gt;packages:&lt;/code&gt; (packages to install),
&lt;code&gt;write_files:&lt;/code&gt; (configuration files), &lt;code&gt;runcmd:&lt;/code&gt; (final commands) and &lt;code&gt;users:&lt;/code&gt; (accounts
and keys). Being declarative, it is easier to review and maintain than a long script.&lt;/p&gt;
&lt;h2 id="best-practices"&gt;Best practices&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Keep user-data small&lt;/strong&gt;: if it grows too much, that probably belongs baked into the
AMI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Idempotence&lt;/strong&gt;: design the commands so that re-running them breaks nothing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Never put secrets in the clear&lt;/strong&gt; in user-data: it is readable from the instance
metadata. Inject them from Secrets Manager, Parameter Store or Vault at runtime.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Protect metadata access&lt;/strong&gt;: use IMDSv2 to mitigate credential theft via SSRF.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Log and debug&lt;/strong&gt;: the cloud-init logs (&lt;code&gt;/var/log/cloud-init-output.log&lt;/code&gt;) are your best
friend when something fails.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="baking-or-booting-where-each-thing-goes"&gt;Baking or booting: where each thing goes&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Goes in the AMI (baking)&lt;/th&gt;
&lt;th&gt;Goes in user-data (booting)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Operating system and patches&lt;/td&gt;
&lt;td&gt;Environment-specific configuration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Runtime, agents and hardening&lt;/td&gt;
&lt;td&gt;Per-instance variables and parameters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stable, heavy software&lt;/td&gt;
&lt;td&gt;Cluster registration and discovery&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anything slow to install&lt;/td&gt;
&lt;td&gt;Runtime secret injection&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Golden rule: what is stable and slow gets baked; what is variable and light goes at
boot.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="common-mistakes-that-cost-hours"&gt;Common mistakes that cost hours&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Putting into user-data what should be in the image, which yields slow, fragile boots.&lt;/li&gt;
&lt;li&gt;Exposing secrets in plain text in the metadata.&lt;/li&gt;
&lt;li&gt;Assuming user-data re-runs on every boot: by default it only runs on the first one.&lt;/li&gt;
&lt;li&gt;Not checking cloud-init logs when the instance &amp;ldquo;does not do what it should&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Does user-data run on every reboot?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By default, only on the first boot. You can configure cloud-init to run certain parts on
every boot, but do it deliberately and idempotently.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Is it safe to pass passwords in user-data?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;No. user-data is readable from the instance metadata. Use a secrets manager and inject
them at runtime, and protect the metadata with IMDSv2.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Does cloud-init only work on AWS?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;No. cloud-init is cross-platform and works on AWS, Azure, GCP and others, which makes it
ideal for automating boot in a portable way.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we design images meant to be combined with cloud-init, so that a single
AMI serves you across many scenarios.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/hardened-ami-kubernetes/</id><title>Hardened AMIs for Kubernetes nodes: the secure foundation of your cluster</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/hardened-ami-kubernetes/"/><published>2026-07-03T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="guides"/><category term="kubernetes"/><category term="eks"/><category term="bottlerocket"/><category term="hardening"/><category term="nodes"/><summary type="text">Kubernetes is only as secure as the nodes it runs on. A hardened, patched and tuned node AMI is the foundation many teams overlook. Here is how to build the ideal base image for EKS and self-managed clusters.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/ami-endurecida-kubernetes_hu_448c2b0b32cba86a.webp" alt="Aerial view of the Bremerhaven container terminal" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;It is easy to assume that once you work with containers, host security stops mattering.
The truth is the opposite: every Kubernetes node is a machine that boots from an image,
and a breach on the host compromises every pod it hosts. The &lt;strong&gt;node AMI&lt;/strong&gt; is therefore a
critical piece of your security posture.&lt;/p&gt;
&lt;p&gt;You have three paths: use the official optimised AMIs as they come, use them as a base
and customise them, or build your own. For serious production workloads, customising or
building on a hardened base is the recommended route.&lt;/p&gt;
&lt;h2 id="what-a-good-node-ami-should-carry"&gt;What a good node AMI should carry&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;An optimised base&lt;/strong&gt; for the container runtime, with containerd and the kubelet
correctly configured.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CIS hardening&lt;/strong&gt; of the operating system and, where it applies, of the CIS Benchmark
for Kubernetes itself.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Up-to-date patching&lt;/strong&gt; of the kernel and components, with periodic rebuilds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The agents you need&lt;/strong&gt; —logs, metrics, security— preinstalled for a fast boot.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No baked-in secrets or credentials&lt;/strong&gt;; identity via IAM Roles for Service Accounts
(IRSA) or an equivalent.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Minimal configuration&lt;/strong&gt;: strip out packages and services a node does not need.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="image-options-for-eks"&gt;Image options for EKS&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;Advantage&lt;/th&gt;
&lt;th&gt;When to choose it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;EKS optimised AMI (AL2023)&lt;/td&gt;
&lt;td&gt;Official, maintained by AWS&lt;/td&gt;
&lt;td&gt;General starting point&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bottlerocket&lt;/td&gt;
&lt;td&gt;Minimal container-oriented OS, immutable&lt;/td&gt;
&lt;td&gt;Maximum security and smallest surface&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom AMI&lt;/td&gt;
&lt;td&gt;Full control over hardening and agents&lt;/td&gt;
&lt;td&gt;Strict compliance requirements&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Pick your node base according to your balance between control and convenience.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="bottlerocket-containers-first"&gt;Bottlerocket: containers first&lt;/h2&gt;
&lt;p&gt;Bottlerocket is a minimalist operating system from AWS designed exclusively to run
containers. Its attack surface is tiny, it is immutable and it updates by image —not by
hot patching— which fits the immutable infrastructure philosophy beautifully. If your
priority is node security with the least maintenance effort, it deserves a serious
evaluation.&lt;/p&gt;
&lt;h2 id="upgrading-nodes-without-pain"&gt;Upgrading nodes without pain&lt;/h2&gt;
&lt;p&gt;A hardened node AMI is only useful if you keep the nodes current. The immutable pattern
shines here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Replace, do not patch&lt;/strong&gt;: publish a new AMI version and rotate the nodes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rolling update of the node group&lt;/strong&gt;: drain with &lt;em&gt;cordon&lt;/em&gt; and &lt;em&gt;drain&lt;/em&gt; and replace node
by node.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Managed Node Groups&lt;/strong&gt; or Karpenter to automate the replacement with new AMIs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PodDisruptionBudgets&lt;/strong&gt; so that rotation does not affect the availability of your
services.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="common-mistakes"&gt;Common mistakes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Running the default optimised AMI for months without updating it.&lt;/li&gt;
&lt;li&gt;Baking cluster credentials into the image instead of using federated identity.&lt;/li&gt;
&lt;li&gt;Forgetting to harden the kubelet itself and the filesystem permissions.&lt;/li&gt;
&lt;li&gt;Not restricting SSH access to nodes: ideally, zero SSH and access only via SSM.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Do I need a custom AMI or is the EKS optimised one enough?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To get started, the official optimised AMI is a good point of departure. If you have
strict compliance or security requirements, customise it or build your own with your own
hardening and agents.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Does Bottlerocket replace a normal Linux AMI?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For nodes that only run containers, yes: it offers a smaller attack surface and
immutable updates. It is not suitable for workloads that need a general-purpose OS.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do I upgrade nodes when I publish a new AMI?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With a rolling update of the node group: nodes are drained and replaced progressively,
respecting PodDisruptionBudgets so the service is not affected.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we design hardened base images that make an ideal foundation for your
Kubernetes nodes.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/rebuild-ami-after-cve/</id><title>Rebuilding AMIs on a critical CVE: automate your vulnerability response</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/rebuild-ami-after-cve/"/><published>2026-06-30T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="security"/><category term="cve"/><category term="vulnerabilities"/><category term="pipeline"/><category term="inspector"/><category term="mttr"/><summary type="text">When the next Log4Shell lands, the clock is running. Organisations that rebuild and redistribute their image within hours sleep soundly; those that patch by hand do not. This is the architecture for responding to a critical CVE automatically.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/reconstruir-ami-ante-cve_hu_920b537b3bf25409.webp" alt="Fire alarm call point with its red light" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;Between a critical vulnerability being published and you fixing it across every instance
lies the &lt;strong&gt;exposure window&lt;/strong&gt;. The longer it lasts, the more time an attacker has to
exploit it. In the traditional server-by-server patching model, that window is measured
in days or weeks. In a well-automated immutable image model, in hours.&lt;/p&gt;
&lt;p&gt;The key is to treat CVE response as a reproducible engineering process, not as a
last-minute manual scramble.&lt;/p&gt;
&lt;h2 id="automated-response-architecture"&gt;Automated response architecture&lt;/h2&gt;
&lt;p&gt;The goal is that, when a critical CVE affects you, a new patched image is born, validated
and ready to deploy with minimal human intervention. The circuit has four pieces.&lt;/p&gt;
&lt;h3 id="1-detection"&gt;1. Detection&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Continuous scanning&lt;/strong&gt; of your current images with Amazon Inspector, Trivy or Grype.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vulnerability feeds&lt;/strong&gt; —NVD, operating system vendor advisories— feeding alerts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SBOM&lt;/strong&gt; for each image so you know in seconds whether the vulnerable component is
present.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-trigger"&gt;2. Trigger&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;A critical or high severity alert triggers the rebuild pipeline, for instance via
EventBridge into CodeBuild, or with a webhook to your CI.&lt;/li&gt;
&lt;li&gt;You can require human approval for production while keeping build and validation fully
automatic.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-rebuild-and-validation"&gt;3. Rebuild and validation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The pipeline —Packer or EC2 Image Builder— rebuilds the image from the updated base,
applying &lt;code&gt;dnf&lt;/code&gt;/&lt;code&gt;apt update&lt;/code&gt; and the usual hardening.&lt;/li&gt;
&lt;li&gt;The new image is &lt;strong&gt;rescanned&lt;/strong&gt;: there is no point publishing if the CVE is still there.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tests&lt;/strong&gt; are run: boot, smoke tests, InSpec, so nothing breaks.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-distribution-and-deployment"&gt;4. Distribution and deployment&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The new AMI is &lt;strong&gt;versioned&lt;/strong&gt;, copied to the necessary regions and the pointer in SSM
Parameter Store is updated.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Launch Template&lt;/strong&gt; is updated and the Auto Scaling Group performs a &lt;em&gt;rolling
update&lt;/em&gt; or a blue/green deployment.&lt;/li&gt;
&lt;li&gt;Vulnerable images are marked &lt;strong&gt;deprecated&lt;/strong&gt; so nobody launches them by mistake.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-key-metric-patch-mttr"&gt;The key metric: patch MTTR&lt;/h2&gt;
&lt;p&gt;Measure the &lt;strong&gt;average time from a critical CVE being published to your fleet running the
fixed image&lt;/strong&gt;. It is the indicator that sums up your maturity. Bringing it down from
weeks to hours is one of the biggest returns of investing in an image pipeline.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Maturity level&lt;/th&gt;
&lt;th&gt;Typical MTTR&lt;/th&gt;
&lt;th&gt;How patching happens&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Manual&lt;/td&gt;
&lt;td&gt;Days or weeks&lt;/td&gt;
&lt;td&gt;SSH server by server&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Semi-automated&lt;/td&gt;
&lt;td&gt;Hours to a day or two&lt;/td&gt;
&lt;td&gt;Manual rebuild and rolling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Automated&lt;/td&gt;
&lt;td&gt;Hours&lt;/td&gt;
&lt;td&gt;Trigger, rebuild and deploy&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Pipeline automation dramatically shrinks the exposure window.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="best-practices"&gt;Best practices&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Run the drill&lt;/strong&gt;: test the circuit with a simulated CVE before you really need it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Progressive deployment&lt;/strong&gt;: canary or rolling to catch regressions without taking the
service down.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rollback ready&lt;/strong&gt;: keep the previous version and have an immediate reversion plan.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Communication&lt;/strong&gt;: record which CVE motivated each rebuild; it is compliance evidence.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Should I rebuild for any CVE?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;No. Prioritise by severity and exploitability, and by whether the affected component is
actually in your image: the SBOM is key here. Critical and exploitable high ones justify
an urgent rebuild; the rest can wait for the regular cycle.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do I avoid breaking production when deploying the new image?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With automated validation —smoke tests, InSpec— before publishing, and progressive
deployments: canary, rolling or blue/green, with rollback ready.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Can I automate this outside AWS?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes. The pattern —detect, trigger, rebuild, deploy— holds on Azure and GCP with their
equivalents; Packer brings portability to the build phase.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we rebuild and rescan our images quickly in the face of new
vulnerabilities so you start from an up-to-date base.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/aws-azure-gcp-images/</id><title>AWS vs Azure vs GCP: comparing machine images across clouds</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/aws-azure-gcp-images/"/><published>2026-06-26T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="guides"/><category term="aws"/><category term="azure"/><category term="gcp"/><category term="multicloud"/><category term="packer"/><summary type="text">AMI, Managed Image, Custom Image: every cloud has its own name and its own rules for the same thing, a template to boot machines from. If you work across several clouds, understanding the differences saves you surprises.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/aws-azure-gcp-imagenes_hu_4cc3e453ad41116a.webp" alt="Patch panels and Ethernet switches in a 19-inch rack" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;The three big clouds solve the same problem —having a reusable template to launch
identical machines— with their own approaches and naming. Knowing the equivalences is the
first step to designing a frictionless multicloud strategy.&lt;/p&gt;
&lt;p&gt;On AWS it is called an &lt;strong&gt;AMI&lt;/strong&gt; (Amazon Machine Image); on Azure, a &lt;strong&gt;Managed Image&lt;/strong&gt; and,
above all, the &lt;strong&gt;Azure Compute Gallery&lt;/strong&gt; (formerly Shared Image Gallery); on Google
Cloud, a &lt;strong&gt;Custom Image&lt;/strong&gt;. They all encapsulate a preconfigured boot disk, but they
differ in how they are versioned, shared and distributed.&lt;/p&gt;
&lt;h2 id="equivalences-at-a-glance"&gt;Equivalences at a glance&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;AWS&lt;/th&gt;
&lt;th&gt;Azure&lt;/th&gt;
&lt;th&gt;Google Cloud&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Machine image&lt;/td&gt;
&lt;td&gt;AMI&lt;/td&gt;
&lt;td&gt;Managed Image&lt;/td&gt;
&lt;td&gt;Custom Image&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Catalogue or gallery&lt;/td&gt;
&lt;td&gt;None native: tags and SSM&lt;/td&gt;
&lt;td&gt;Azure Compute Gallery&lt;/td&gt;
&lt;td&gt;Image Family&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Managed versioning&lt;/td&gt;
&lt;td&gt;Manual, by name and tags&lt;/td&gt;
&lt;td&gt;Native in the Gallery&lt;/td&gt;
&lt;td&gt;Image Family: latest per family&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-region distribution&lt;/td&gt;
&lt;td&gt;AMI copy&lt;/td&gt;
&lt;td&gt;Replicas in the Gallery&lt;/td&gt;
&lt;td&gt;Global images by default&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Underlying store&lt;/td&gt;
&lt;td&gt;EBS snapshots&lt;/td&gt;
&lt;td&gt;Managed Disks&lt;/td&gt;
&lt;td&gt;Persistent Disk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Encryption&lt;/td&gt;
&lt;td&gt;KMS&lt;/td&gt;
&lt;td&gt;Platform or customer keys&lt;/td&gt;
&lt;td&gt;Google-managed or CMEK&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Functional equivalences of machine images across the three big clouds.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="aws-ami-the-de-facto-standard"&gt;AWS AMI: the de facto standard&lt;/h2&gt;
&lt;p&gt;The AMI is probably the best-known image format and the one with the largest ecosystem.
Its strength is maturity: a huge catalogue, integration with EC2 Image Builder,
Marketplace and an immense community. Its historical weak spot is the absence of a native
image gallery with managed versioning: versioning and multi-region distribution are
solved with naming conventions, tags, SSM Parameter Store and explicit copies across
regions.&lt;/p&gt;
&lt;h2 id="azure-compute-gallery-versioning-and-replicas-out-of-the-box"&gt;Azure Compute Gallery: versioning and replicas out of the box&lt;/h2&gt;
&lt;p&gt;Azure has bet heavily on image governance. The &lt;strong&gt;Compute Gallery&lt;/strong&gt; natively offers image
definitions, versions and automatic replicas to several regions, plus granular access
control. For large organisations that need to distribute images in an orderly way across
teams and regions, it is a very comfortable model. The trade-off is a slightly steeper
conceptual learning curve.&lt;/p&gt;
&lt;h2 id="gcp-custom-image-global-simplicity"&gt;GCP Custom Image: global simplicity&lt;/h2&gt;
&lt;p&gt;Google Cloud stands out for its simplicity. Its images are &lt;strong&gt;global&lt;/strong&gt; by default —you do
not have to copy them region by region— and the &lt;strong&gt;Image Family&lt;/strong&gt; concept solves
versioning elegantly: you point at the family and always get the latest non-deprecated
image. It is a minimalist model that reduces friction, especially attractive for teams
that value operational simplicity.&lt;/p&gt;
&lt;h2 id="the-multicloud-strategy-one-template-three-images"&gt;The multicloud strategy: one template, three images&lt;/h2&gt;
&lt;p&gt;If you publish or deploy across several clouds, maintaining three separate build
processes is painful. The industry&amp;rsquo;s answer is &lt;strong&gt;Packer&lt;/strong&gt;: a single template with shared
provisioners and one source block per cloud, able to generate the AMI, the Managed Image
and the Custom Image in parallel from the same definition.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reuse&lt;/strong&gt; the same installation and hardening scripts across the three clouds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduce&lt;/strong&gt; drift between environments: the same configuration, three destinations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Version&lt;/strong&gt; coherently with a common naming and metadata scheme.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automate&lt;/strong&gt; publication to each gallery: Gallery, Image Family, tags and SSM.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="which-one-should-you-choose"&gt;Which one should you choose?&lt;/h2&gt;
&lt;p&gt;There is no absolute winner; it depends on your context. If you want ecosystem and
maturity, AWS. If you need enterprise image governance with native versioning and
replicas, Azure&amp;rsquo;s Compute Gallery shines. If you value simplicity and global reach with
no copies, GCP. And if you live across several clouds, the answer is not a platform but a
&lt;strong&gt;practice&lt;/strong&gt;: describe your images as code and build them portably.&lt;/p&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Can I move an AWS AMI to Azure or GCP directly?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Not directly: the formats and underlying stores differ. The usual approach is to rebuild
the image on each cloud from a common template, for instance with Packer, or to import
the disk using each provider&amp;rsquo;s import process.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Which cloud has the best image versioning?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Azure Compute Gallery offers the most complete managed versioning out of the box; GCP
solves it elegantly with Image Families; AWS requires more of your own conventions,
although it is very flexible.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Is a multicloud image strategy worth it?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you operate across several clouds for data sovereignty, resilience or to avoid vendor
lock-in, yes. The key is to use images as code so you do not multiply the maintenance
effort.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we think about portability from the design stage so your deployments do
not depend on a single cloud.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/cloud-trends-2026/</id><title>Cloud trends 2026: immutable images, FinOps and AI set the pace</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/cloud-trends-2026/"/><published>2026-06-23T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="news"/><category term="finops"/><category term="trends"/><category term="multicloud"/><category term="edge"/><category term="regulation"/><summary type="text">2026 arrives with a cloud that is pricier, more regulated and more intelligent. For those who build and deploy infrastructure, three currents —immutability, cost control and AI-driven automation— define where to put the focus this year.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/tendencias-cloud-2026_hu_c649ca0919e5a33f.webp" alt="Server aisle in the CERN data centre" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;The first big news of 2026 is uncomfortable: the era of continuous price cuts is over.
Energy cost pressure, massive AI investment and GPU demand are pushing rates up. Discounts
become the exception, not the norm.&lt;/p&gt;
&lt;p&gt;That underlying shift shapes everything else. When the cloud was cheap, waste was
tolerated; when it gets expensive, efficiency becomes a board-level priority. Hence this
year&amp;rsquo;s trends revolve around doing more with less and automating with judgement.&lt;/p&gt;
&lt;h2 id="1-immutable-infrastructure-as-the-standard"&gt;1. Immutable infrastructure as the standard&lt;/h2&gt;
&lt;p&gt;The &amp;ldquo;build an image and replace&amp;rdquo; model is consolidating as the default practice. Instead
of patching live servers, teams bake versioned images and deploy by replacing instances.
It brings predictable deployments, clean rollbacks and a smaller attack surface. &lt;strong&gt;Golden
AMIs&lt;/strong&gt; and well-governed machine images are the centrepiece of this approach.&lt;/p&gt;
&lt;h2 id="2-finops-moves-up-to-the-board"&gt;2. FinOps moves up to the board&lt;/h2&gt;
&lt;p&gt;Cloud cost management stops being a technical team&amp;rsquo;s concern and becomes a business
priority. The levers most in use this year:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Tagging and visibility&lt;/strong&gt; for every workload, so you know who spends what.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reserved and spot instances&lt;/strong&gt; to work on unit cost.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Image optimisation&lt;/strong&gt;: light images, fast boots and cleanup of orphaned snapshots, a
classic hidden cost.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Continuous rightsizing&lt;/strong&gt; and shutting down idle resources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ARM and Graviton adoption&lt;/strong&gt; for their better price-performance.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-ai-from-experimenting-to-monetising"&gt;3. AI: from experimenting to monetising&lt;/h2&gt;
&lt;p&gt;After the initial fever, 2026 is the year of squeezing the return out of AI. The focus
shifts to reducing idle GPU time, optimising inference and taking models to the edge. A
pattern is also emerging: &lt;strong&gt;AI agent meshes&lt;/strong&gt;, hubs that govern communication between
agents, apply cost control and route requests to the cheapest model that can solve the
task.&lt;/p&gt;
&lt;h2 id="4-multicloud-and-edge-with-feet-on-the-ground"&gt;4. Multicloud and edge, with feet on the ground&lt;/h2&gt;
&lt;p&gt;Multicloud is going mainstream, but pragmatically: not as a fashion, but to avoid vendor
lock-in, meet data sovereignty requirements and take the best of each cloud. Machine
image portability —one template producing images for several clouds— gains value. In
parallel, the &lt;strong&gt;edge&lt;/strong&gt; grows to bring compute closer to the data, driven by AI and IoT.&lt;/p&gt;
&lt;h2 id="5-regulation-the-year-of-compliance"&gt;5. Regulation: the year of compliance&lt;/h2&gt;
&lt;p&gt;The regulatory framework is tightening. In 2026 relevant stages of European AI regulation
and new liability directives come into force, and cloud governance requirements are being
strengthened in several jurisdictions. The direct consequence for infrastructure:
traceability —what software you run, how you secure it, how you prove it— becomes
mandatory. Auditable image chains and SBOMs stop being a luxury.&lt;/p&gt;
&lt;h2 id="what-this-means-for-your-infrastructure"&gt;What this means for your infrastructure&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Trend&lt;/th&gt;
&lt;th&gt;Practical implication&lt;/th&gt;
&lt;th&gt;Recommended action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Pricier cloud&lt;/td&gt;
&lt;td&gt;Every resource counts&lt;/td&gt;
&lt;td&gt;FinOps and efficient images&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Immutability&lt;/td&gt;
&lt;td&gt;Less drift, more control&lt;/td&gt;
&lt;td&gt;Golden AMI pipelines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI in production&lt;/td&gt;
&lt;td&gt;Optimise inference and cost&lt;/td&gt;
&lt;td&gt;Shared GPU, edge, agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multicloud&lt;/td&gt;
&lt;td&gt;Avoid lock-in&lt;/td&gt;
&lt;td&gt;Portable images with Packer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Regulation&lt;/td&gt;
&lt;td&gt;Mandatory traceability&lt;/td&gt;
&lt;td&gt;SBOMs and auditable chains&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;From the trend to the concrete action in your day to day.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Is the price of the cloud really going up in 2026?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Analysts point to upward pressure from energy and GPU costs, with discounts becoming the
exception. That is why FinOps and resource efficiency carry so much weight this year.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is an AI agent mesh?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It is an architecture where a central hub governs communication between AI agents,
applying security, cost control and routing of requests to the most suitable and
economical model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why is immutability a trend if it is not new?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Because the context makes it nearly mandatory: rising costs, demanding regulation and the
need for auditable deployments push the versioned-image-and-replace model into the
standard.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we follow these trends closely so our images fit the cloud that is coming:
efficient, portable and auditable.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/amis-vs-containers/</id><title>AMIs vs containers: when each one fits (and when to combine them)</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/amis-vs-containers/"/><published>2026-06-19T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="guides"/><category term="containers"/><category term="kubernetes"/><category term="docker"/><category term="microvm"/><category term="architecture"/><summary type="text">Machine image or container? The question is framed wrong: they do not compete, they complement each other. Understanding what each one solves saves you from over-engineering and helps you pick the right tool for every workload.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/amis-vs-contenedores_hu_9942fe419781baec.webp" alt="Shipping containers stacked at the port of Rotterdam" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;An &lt;strong&gt;AMI&lt;/strong&gt; packages a complete operating system plus your software: it is the template
for an entire virtual machine. A &lt;strong&gt;container&lt;/strong&gt; packages only your application and its
dependencies, sharing the host kernel. The difference in size and isolation model
explains almost everything else.&lt;/p&gt;
&lt;p&gt;It is not a battle: in practice, containers run &lt;strong&gt;on top of&lt;/strong&gt; virtual machines that boot
from an AMI. The useful question is not which one wins, but which layer each one solves.&lt;/p&gt;
&lt;h2 id="head-to-head-comparison"&gt;Head-to-head comparison&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;AMI (virtual machine)&lt;/th&gt;
&lt;th&gt;Container&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;What it includes&lt;/td&gt;
&lt;td&gt;Full OS plus software&lt;/td&gt;
&lt;td&gt;App and dependencies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Isolation&lt;/td&gt;
&lt;td&gt;Strong, via hypervisor&lt;/td&gt;
&lt;td&gt;Process level, shared kernel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Size&lt;/td&gt;
&lt;td&gt;Gigabytes&lt;/td&gt;
&lt;td&gt;Megabytes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Boot&lt;/td&gt;
&lt;td&gt;Seconds to minutes&lt;/td&gt;
&lt;td&gt;Milliseconds to seconds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Density&lt;/td&gt;
&lt;td&gt;Lower: one VM per instance&lt;/td&gt;
&lt;td&gt;High: many per host&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Portability&lt;/td&gt;
&lt;td&gt;Tied to the cloud or hypervisor&lt;/td&gt;
&lt;td&gt;Very high: any host with a runtime&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OS maintenance&lt;/td&gt;
&lt;td&gt;You manage it&lt;/td&gt;
&lt;td&gt;Inherited from the host or base image&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ideal case&lt;/td&gt;
&lt;td&gt;Monoliths, hosts, dedicated VMs&lt;/td&gt;
&lt;td&gt;Microservices, fast scaling&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;AMIs and containers solve different problems at different layers.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="when-to-choose-an-ami"&gt;When to choose an AMI&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Strong isolation is mandatory&lt;/strong&gt;: multi-tenant workloads or strict regulatory
requirements where hypervisor isolation is a hard requirement.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Software that expects a full machine&lt;/strong&gt;: databases, legacy applications, network or
security appliances.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Full control of the operating system&lt;/strong&gt;: when you need kernel modules, specific
drivers or fine-grained OS tuning.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The base of your nodes&lt;/strong&gt;: even in a container world, your Kubernetes nodes boot from
an AMI.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="when-to-choose-containers"&gt;When to choose containers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Microservices&lt;/strong&gt; that scale and deploy independently.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fast deployment cycles&lt;/strong&gt; with continuous integration and delivery.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High density&lt;/strong&gt; to squeeze the hardware with many small workloads.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Portability&lt;/strong&gt; across development, testing and several clouds.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-mature-answer-combine-them"&gt;The mature answer: combine them&lt;/h2&gt;
&lt;p&gt;Advanced teams do not pick one or the other, they layer. They build a &lt;strong&gt;hardened golden
AMI&lt;/strong&gt; as the host base —patched, CIS hardened, with security agents— and run their
containers on top of it. That gives them the best of both worlds: host security and
control at the machine image level, and container agility and density at the application
level.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kubernetes or ECS nodes based on a hardened, versioned AMI.&lt;/li&gt;
&lt;li&gt;Host updates by AMI replacement (immutable), not by hot patching.&lt;/li&gt;
&lt;li&gt;Containers for the fast lifecycle of the application.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="microvms-the-boundary-blurs"&gt;MicroVMs: the boundary blurs&lt;/h2&gt;
&lt;p&gt;Technologies like Firecracker —the one behind AWS Lambda and Fargate— create
&lt;strong&gt;microVMs&lt;/strong&gt;: the strong isolation of a virtual machine with millisecond boot times,
almost like a container. It is the sign that the future is not &amp;ldquo;VM or container&amp;rdquo;, but a
continuum where you pick the right point between isolation and agility for each
workload.&lt;/p&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Do containers make AMIs obsolete?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;No. Containers run on machines that boot from images. A hardened AMI is still the ideal
base for the nodes that run your containers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Which is more secure, a VM or a container?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The VM offers stronger isolation by design. Containers share a kernel, so they require
additional controls. For very sensitive workloads, combining a VM with a hardened
container is the usual approach.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Can I migrate from AMIs to containers easily?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It depends on the application. Stateless, modular services migrate well; monoliths
tightly coupled to the OS take more work. A hybrid, gradual approach is often the right
call.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we believe in the right tool for each workload: that is why our images
serve both as a direct host and as a hardened base for your containers.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/choosing-a-trusted-ami/</id><title>How to choose a trustworthy AMI before deploying to production</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/choosing-a-trusted-ami/"/><published>2026-06-16T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="guides"/><category term="ami"/><category term="security"/><category term="provenance"/><category term="checklist"/><category term="marketplace"/><summary type="text">Not every public image is safe, and not every safe image fits your case. Before booting an instance on somebody else's AMI, it pays to look under the hood. This is the checklist that discerning teams use.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/elegir-ami-de-confianza_hu_ab14e41f927a6439.webp" alt="Magnifying glass examining a postage stamp" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;Launching an instance from an AMI is, in practice, running software packaged by somebody
else inside your own account. If the image contains malware, cryptocurrency miners,
embedded keys or simply unpatched packages, that risk walks straight into your
infrastructure. There are documented cases of malicious public images designed for
exactly that.&lt;/p&gt;
&lt;p&gt;The answer is not paranoia but a repeatable &lt;strong&gt;verification process&lt;/strong&gt;. Choosing an AMI
well is like hiring somebody: you check identity, references and condition before handing
over the keys.&lt;/p&gt;
&lt;h2 id="the-five-pillars-of-a-trustworthy-ami"&gt;The five pillars of a trustworthy AMI&lt;/h2&gt;
&lt;p&gt;Assess every candidate image against these five axes. If it fails several, look for
another.&lt;/p&gt;
&lt;h3 id="1-provenance-who-publishes-it"&gt;1. Provenance: who publishes it?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Verify the &lt;strong&gt;owner ID&lt;/strong&gt; of the account publishing the image; be wary of anonymous or
unknown owners.&lt;/li&gt;
&lt;li&gt;Prefer images from official vendors, verified partners or publishers with demonstrable
reputation.&lt;/li&gt;
&lt;li&gt;Check that the name and description match a legitimate origin: watch out for
&lt;em&gt;typosquatting&lt;/em&gt; imitations.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-security-what-is-inside"&gt;2. Security: what is inside?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Is it &lt;strong&gt;hardened&lt;/strong&gt; (CIS or an equivalent) or an unprotected base?&lt;/li&gt;
&lt;li&gt;Are the &lt;strong&gt;snapshots encrypted&lt;/strong&gt;?&lt;/li&gt;
&lt;li&gt;Scan it yourself before production with Inspector, Trivy or similar to find CVEs and
secrets.&lt;/li&gt;
&lt;li&gt;Check that it has no unknown &lt;strong&gt;authorised SSH keys&lt;/strong&gt; or extra users.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-maintenance-is-it-alive"&gt;3. Maintenance: is it alive?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;How &lt;strong&gt;often is it updated&lt;/strong&gt;? An image with no new versions in a year is a red flag.&lt;/li&gt;
&lt;li&gt;Does the publisher report the &lt;strong&gt;CVEs fixed&lt;/strong&gt; in each version?&lt;/li&gt;
&lt;li&gt;Is there clear &lt;strong&gt;documentation&lt;/strong&gt; of what it contains and how it is configured?&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-compatibility-does-it-fit-your-case"&gt;4. Compatibility: does it fit your case?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Correct architecture (&lt;strong&gt;x86_64&lt;/strong&gt; versus &lt;strong&gt;ARM/Graviton&lt;/strong&gt;) and virtualisation type.&lt;/li&gt;
&lt;li&gt;Available region and the ability to copy it to yours.&lt;/li&gt;
&lt;li&gt;Support for the instance type you need and compatibility with your automation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5-cost-and-licensing-what-do-you-pay-and-under-what-terms"&gt;5. Cost and licensing: what do you pay, and under what terms?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Cost model: free, hourly or BYOL.&lt;/li&gt;
&lt;li&gt;Licence of the included software and its obligations.&lt;/li&gt;
&lt;li&gt;Cost of the &lt;strong&gt;snapshots&lt;/strong&gt; and associated storage.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="quick-verification-checklist"&gt;Quick verification checklist&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Check&lt;/th&gt;
&lt;th&gt;Good sign&lt;/th&gt;
&lt;th&gt;Red flag&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Owner&lt;/td&gt;
&lt;td&gt;Verified, known owner&lt;/td&gt;
&lt;td&gt;Anonymous or newly created account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Encryption&lt;/td&gt;
&lt;td&gt;Encrypted snapshots&lt;/td&gt;
&lt;td&gt;No encryption&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Updates&lt;/td&gt;
&lt;td&gt;Recent, frequent versions&lt;/td&gt;
&lt;td&gt;No changes in over 12 months&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Documentation&lt;/td&gt;
&lt;td&gt;Release notes and CVEs&lt;/td&gt;
&lt;td&gt;None or non-existent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Your own scan&lt;/td&gt;
&lt;td&gt;No critical CVEs or secrets&lt;/td&gt;
&lt;td&gt;Vulnerabilities or embedded keys&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost&lt;/td&gt;
&lt;td&gt;Clear, predictable model&lt;/td&gt;
&lt;td&gt;Hidden storage costs&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Verify every point before taking an AMI to production.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="good-practice-rebake-on-top-of-what-you-receive"&gt;Good practice: rebake on top of what you receive&lt;/h2&gt;
&lt;p&gt;Even a trustworthy image ages. The safest practice is to take a reliable base AMI and
&lt;strong&gt;rebake it in your own pipeline&lt;/strong&gt;: apply your patches, your hardening and your
configuration, encrypt it with your key and version it. That way you inherit the good
parts of the source image and add your own quality control and traceability.&lt;/p&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Is it safe to use a public community AMI?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It can be, but you must verify the owner, the content and its condition, and scan it
before use. For production, an image from a trusted publisher —or one you rebake
yourself— is preferable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do I know whether an AMI has a backdoor?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;No method is foolproof, but scanning the image, reviewing users and authorised keys,
inspecting scheduled tasks and analysing network traffic on an isolated test instance
greatly reduces the risk.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Should I trust paid images more than free ones?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Price does not guarantee security, but a publisher who maintains and documents their
images —paid or not— usually offers more assurance than an abandoned anonymous image.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we build images with clear provenance, encryption and continuous updates
so you can deploy with confidence.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/encryption-patching-cloud-compliance/</id><title>Encryption, patching and compliance: the security triad of your cloud images</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/encryption-patching-cloud-compliance/"/><published>2026-06-12T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="security"/><category term="encryption"/><category term="kms"/><category term="cve"/><category term="soc 2"/><category term="iso 27001"/><category term="pci dss"/><summary type="text">Encrypting the data, keeping patches current and being able to prove it in an audit: three practices that, combined, turn your machine images into a trusted asset instead of a latent risk.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/cifrado-parches-cumplimiento-cloud_hu_d680a8e49016fa16.webp" alt="Enigma cipher machine with its keyboard in view" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;Organisations invest heavily in protecting the network and the applications, but they
often neglect the &lt;strong&gt;base image&lt;/strong&gt; everything boots from. An AMI with outdated packages or
unencrypted snapshots spreads risk to every instance born from it. The good news:
protecting the image is a single, highly cost-effective control point.&lt;/p&gt;
&lt;p&gt;The triad that solves it is simple to state and demanding to maintain: &lt;strong&gt;encryption&lt;/strong&gt;,
&lt;strong&gt;patching&lt;/strong&gt; and &lt;strong&gt;demonstrable compliance&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="1-encryption-protecting-data-at-rest-and-in-transit"&gt;1. Encryption: protecting data at rest and in transit&lt;/h2&gt;
&lt;p&gt;Encryption is the line of defence when everything else fails. For machine images it works
at several levels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Encrypted EBS snapshots&lt;/strong&gt; with AWS KMS, or Azure Disk Encryption and Google CMEK on
other clouds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customer-managed keys (CMK)&lt;/strong&gt; with automatic rotation and minimal access policies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Encryption by default&lt;/strong&gt; enabled at the account level so no image is ever born
unencrypted.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Secrets managed outside the image&lt;/strong&gt;: never bake passwords or tokens; inject them at
runtime with Secrets Manager, Vault or Parameter Store.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-patching-the-race-against-cves"&gt;2. Patching: the race against CVEs&lt;/h2&gt;
&lt;p&gt;Vulnerabilities are published every day. An image is secure the day you create it, and a
little less every day after that. Patch management in an immutable world is not about
updating live servers, but about &lt;strong&gt;rebaking&lt;/strong&gt; frequently.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rebuild cadence&lt;/strong&gt;: rebuild the base image at least monthly, and urgently on a
critical CVE affecting your stack.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scanning in the pipeline&lt;/strong&gt;: integrate Trivy, Grype or Amazon Inspector to catch CVEs
before publishing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quality gate&lt;/strong&gt;: block publication if vulnerabilities appear above a threshold, for
instance critical or exploitable high ones.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SBOM&lt;/strong&gt;: generate a &lt;em&gt;Software Bill of Materials&lt;/em&gt; to know exactly what each image
contains and respond quickly when the next Log4Shell lands.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-compliance-prove-it-do-not-just-do-it"&gt;3. Compliance: prove it, do not just do it&lt;/h2&gt;
&lt;p&gt;In an audit, being secure is not enough: you have to prove it with evidence. Well-governed
images produce that evidence naturally.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Framework&lt;/th&gt;
&lt;th&gt;What it expects from your images&lt;/th&gt;
&lt;th&gt;Evidence you can provide&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;SOC 2&lt;/td&gt;
&lt;td&gt;Consistent, monitored security controls&lt;/td&gt;
&lt;td&gt;Hardening reports and build logs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ISO 27001&lt;/td&gt;
&lt;td&gt;Vulnerability management and change control&lt;/td&gt;
&lt;td&gt;CVE scans, versioning and SBOM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PCI DSS&lt;/td&gt;
&lt;td&gt;Secure configuration and documented patching&lt;/td&gt;
&lt;td&gt;CIS Benchmark and rebuild history&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ENS / GDPR&lt;/td&gt;
&lt;td&gt;Encryption and data minimisation&lt;/td&gt;
&lt;td&gt;KMS encryption and no personal data in the image&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;How secure image practices translate into compliance evidence.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="the-new-regulatory-context-of-2026"&gt;The new regulatory context of 2026&lt;/h2&gt;
&lt;p&gt;The regulatory environment is tightening. In 2026 key stages of the European AI
regulation and new product liability directives come into force, and several
jurisdictions are strengthening their cloud governance and compliance requirements. The
practical translation: traceability of what software you run and how you secure it stops
being optional. An auditable image chain is your best insurance.&lt;/p&gt;
&lt;h2 id="image-security-checklist"&gt;Image security checklist&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Encryption by default enabled and snapshots with a CMK.&lt;/li&gt;
&lt;li&gt;No baked-in secrets; external credential management.&lt;/li&gt;
&lt;li&gt;CVE scanning on every build with a quality gate.&lt;/li&gt;
&lt;li&gt;Periodic rebuilds and rebuilds on critical CVEs.&lt;/li&gt;
&lt;li&gt;CIS Benchmark applied and validated.&lt;/li&gt;
&lt;li&gt;SBOM and build logs archived as evidence.&lt;/li&gt;
&lt;li&gt;Safe retirement of obsolete images.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;How often should an immutable image be patched?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It is not hot patched: it is rebuilt. A monthly cycle is a good minimum, with
extraordinary rebuilds on critical CVEs affecting your software.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is an SBOM and why do I need one?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;An SBOM is the inventory of all the software and dependencies in your image. It lets you
know in minutes whether a new vulnerability affects you, and it is increasingly required
for compliance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Does encryption affect performance?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;EBS encryption with KMS is transparent and its performance impact is practically
imperceptible for most workloads.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we apply encryption, scanning and continuous updates to our images so you
start from a base you can defend in any audit.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/cis-hardening-ec2-ami/</id><title>CIS hardening of AMIs: a practical guide to hardening your EC2 images</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/cis-hardening-ec2-ami/"/><published>2026-06-09T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="security"/><category term="cis"/><category term="hardening"/><category term="compliance"/><category term="inspec"/><category term="security"/><summary type="text">An unhardened image is an open door waiting for someone to walk through. Applying the CIS Benchmarks to your AMIs lifts your security posture in one move and brings you closer to compliance. Here is how to do it without slowing your team down.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/hardening-cis-ami-ec2_hu_8c72206698ec85fc.webp" alt="Padlock and chain closing a metal gate" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;The &lt;strong&gt;CIS Benchmarks&lt;/strong&gt; are secure configuration guides published by the Center for
Internet Security, drawn up by expert consensus. They cover operating systems —Amazon
Linux, Ubuntu, RHEL, Windows— with hundreds of concrete recommendations: file
permissions, kernel parameters, password policies, services that should be disabled or
audit configuration.&lt;/p&gt;
&lt;p&gt;Applying hardening to the &lt;strong&gt;AMI&lt;/strong&gt; —rather than to every already-deployed server— is the
most efficient route: you harden once and every instance is born secure. It is the
&amp;ldquo;secure by default&amp;rdquo; approach demanded by frameworks such as ISO 27001, SOC 2, PCI DSS or
national security schemes.&lt;/p&gt;
&lt;h2 id="l1-and-l2-levels-how-far-to-tighten"&gt;L1 and L2 levels: how far to tighten&lt;/h2&gt;
&lt;p&gt;CIS defines profiles by level. Choosing well avoids breaking applications through excess
of zeal.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Profile&lt;/th&gt;
&lt;th&gt;Goal&lt;/th&gt;
&lt;th&gt;When to use it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Level 1 (L1)&lt;/td&gt;
&lt;td&gt;Essential security with no relevant functional impact&lt;/td&gt;
&lt;td&gt;Starting point for most workloads&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Level 2 (L2)&lt;/td&gt;
&lt;td&gt;Defence in depth for sensitive environments&lt;/td&gt;
&lt;td&gt;Regulated data, high risk; may need tuning&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;STIG&lt;/td&gt;
&lt;td&gt;US Department of Defense requirements&lt;/td&gt;
&lt;td&gt;Government or defence contracts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;CIS hardening profiles and their scope of application.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="how-to-automate-hardening-in-the-image"&gt;How to automate hardening in the image&lt;/h2&gt;
&lt;p&gt;Manual hardening neither scales nor is auditable. These are the three most common ways to
bring it into the build pipeline:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EC2 Image Builder with CIS components&lt;/strong&gt;: AWS offers integration with managed CIS
levels that apply and validate the benchmark during the build, with the option of CIS
Hardened images in the Marketplace.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ansible with a hardening role&lt;/strong&gt;: reuse CIS-based roles for Linux inside a Packer
provisioner; it is portable across clouds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Your own idempotent scripts&lt;/strong&gt;: for specific cases, with the advantage of full control
and the disadvantage of maintenance.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="high-impact-controls-that-must-not-be-missing"&gt;High-impact controls that must not be missing&lt;/h2&gt;
&lt;p&gt;If you had to prioritise, these CIS controls deliver the greatest risk reduction at the
lowest cost:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Disable direct root access over SSH&lt;/strong&gt; and force key-based access, never passwords.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Remove unnecessary packages and services&lt;/strong&gt; to reduce the attack surface.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configure the host firewall&lt;/strong&gt; (firewalld or nftables) with default deny.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enable auditing&lt;/strong&gt; (&lt;code&gt;auditd&lt;/code&gt;) and centralised event logging.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Apply secure kernel parameters&lt;/strong&gt; (&lt;code&gt;sysctl&lt;/code&gt;) against spoofing and network attacks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Strict password policies and account lockout.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Correct permissions on critical files&lt;/strong&gt;: &lt;code&gt;/etc/passwd&lt;/code&gt;, &lt;code&gt;/etc/shadow&lt;/code&gt; and the boot
directories.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="validate-that-hardening-really-was-applied"&gt;Validate that hardening really was applied&lt;/h2&gt;
&lt;p&gt;Hardening without verifying is an act of faith. Add an automated validation stage that
scores the image against the benchmark and fails the build if it misses the threshold.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CIS-CAT, InSpec or OpenSCAP&lt;/strong&gt; scan the freshly baked instance and generate a
compliance report.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pass threshold&lt;/strong&gt;: define, for instance, &amp;ldquo;≥ 95 % of L1 controls passed&amp;rdquo; as a quality
gate.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audit evidence&lt;/strong&gt;: keep the report as a build artefact; it will be pure gold at your
next SOC 2 or ISO audit.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-balance-security-without-breaking-the-application"&gt;The balance: security without breaking the application&lt;/h2&gt;
&lt;p&gt;The classic mistake is applying L2 blindly and discovering the application no longer
starts. The sensible strategy: start from L1, measure and raise L2 controls selectively,
testing in a staging environment. Document every justified exception; a control disabled
with a recorded reason is acceptable in an audit, one disabled silently is not.&lt;/p&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Does CIS hardening slow my instances down?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The performance impact of the L1 profile is practically nil. Some intensive L2 auditing
controls can add overhead, which is why they are applied selectively and measured.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do I need to buy CIS Hardened images or can I do it myself?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can harden yourself with Ansible, OpenSCAP or EC2 Image Builder components. The CIS
Hardened images in the Marketplace save work and include validation, but they are not
indispensable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Does hardening alone make me ISO 27001 or PCI DSS compliant?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Hardening is an important technical control, but compliance also covers processes,
policies and evidence. Hardening your AMIs gets you a long way, but it does not replace
the rest of the compliance framework.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we start from images hardened according to industry good practice so you
deploy on a secure foundation.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/ami-lifecycle/</id><title>AMI lifecycle: versioning, encryption and automated cleanup</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/ami-lifecycle/"/><published>2026-06-05T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="operations"/><category term="versioning"/><category term="kms"/><category term="snapshots"/><category term="governance"/><category term="costs"/><summary type="text">Creating an AMI is easy; governing it over time is what separates a professional team from a graveyard of orphaned images and inflated bills. This is the complete guide to versioning, encrypting and cleaning up your images painlessly.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/ciclo-de-vida-ami_hu_d04b0e8cea647c79.webp" alt="Platter and head of an opened hard drive" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;Many teams treat an AMI as something you create once and forget. The problem shows up
months later: dozens of untagged images, EBS snapshots nobody knows whether they can
delete, and a bill that grows without explanation. Managing the &lt;strong&gt;lifecycle of an AMI&lt;/strong&gt;
means treating it as a software artefact with a birth, versions, maturity, deprecation
and retirement.&lt;/p&gt;
&lt;p&gt;Good image governance cuts costs, improves security —nobody accidentally launches an
unpatched image from a year ago— and makes compliance audits easier.&lt;/p&gt;
&lt;h2 id="phase-1--versioning-with-meaning"&gt;Phase 1 — Versioning with meaning&lt;/h2&gt;
&lt;p&gt;Versioning is the backbone. Without it, &amp;ldquo;the latest good AMI&amp;rdquo; is a hallway conversation,
not a fact. We recommend a readable, consistent scheme.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Versioned name&lt;/strong&gt;: for instance &lt;code&gt;imaxe-ubuntu22-nginx-2026.07.1&lt;/code&gt;, with product, base
and calendar version.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mandatory tags&lt;/strong&gt;: &lt;code&gt;Version&lt;/code&gt;, &lt;code&gt;GitCommit&lt;/code&gt;, &lt;code&gt;BuildDate&lt;/code&gt;, &lt;code&gt;Owner&lt;/code&gt;, &lt;code&gt;Environment&lt;/code&gt;,
&lt;code&gt;CISLevel&lt;/code&gt;, &lt;code&gt;Status&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Immutable: one version, one artefact.&lt;/strong&gt; Never modify a published AMI; create a new
version.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Central registry&lt;/strong&gt;: use AWS Systems Manager Parameter Store to hold the ID of &amp;ldquo;the
current production AMI&amp;rdquo; so your Launch Templates read it by reference.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="phase-2--end-to-end-encryption"&gt;Phase 2 — End-to-end encryption&lt;/h2&gt;
&lt;p&gt;An AMI&amp;rsquo;s data lives in EBS snapshots. If they are not encrypted, any poorly governed
copy is a potential leak. Encryption should be the norm, not the exception.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Encryption by default&lt;/strong&gt;: enable &lt;em&gt;EBS encryption by default&lt;/em&gt; at account and region
level.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customer-managed keys (CMK)&lt;/strong&gt;: use your own KMS key instead of the AWS default one
to control permissions and rotation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A copy is a re-encryption&lt;/strong&gt;: when copying an AMI to another region or account, take
the chance to re-encrypt it with the destination key.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Share with KMS grants&lt;/strong&gt;: if you distribute the AMI to other accounts, grant key
access with minimal policies.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="phase-3--deprecation-warn-before-deleting"&gt;Phase 3 — Deprecation: warn before deleting&lt;/h2&gt;
&lt;p&gt;AWS lets you mark an AMI as &lt;strong&gt;deprecated&lt;/strong&gt; with a date. From that moment it stops
appearing by default in searches, but it still works for anyone referencing it
explicitly. It is the civilised middle ground between &amp;ldquo;current&amp;rdquo; and &amp;ldquo;deleted&amp;rdquo;: you warn,
you give room to migrate and you avoid breaking deployments.&lt;/p&gt;
&lt;h2 id="phase-4--automated-cleanup-and-the-hidden-cost-of-snapshots"&gt;Phase 4 — Automated cleanup (and the hidden cost of snapshots)&lt;/h2&gt;
&lt;p&gt;Here is where the money is. When you delete an AMI, its associated EBS snapshots &lt;strong&gt;are
not removed automatically&lt;/strong&gt;. That is the number-one cause of storage bills that grow
mysteriously. A retirement policy must deregister the AMI and then delete its orphaned
snapshots.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Retention policy&lt;/strong&gt;: keep N recent versions (for example the last three) and retire
the rest.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automate with the cloud&lt;/strong&gt;: Amazon Data Lifecycle Manager (DLM) can manage image
creation and deletion by policy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hunt orphaned snapshots&lt;/strong&gt;: periodically audit snapshots with no associated AMI and
delete them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Never delete blindly&lt;/strong&gt;: check that no active instance or Launch Template depends on
the AMI before retiring it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="lifecycle-summary-table"&gt;Lifecycle summary table&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Phase&lt;/th&gt;
&lt;th&gt;Key action&lt;/th&gt;
&lt;th&gt;Tool or service&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Creation&lt;/td&gt;
&lt;td&gt;Reproducible build and tagging&lt;/td&gt;
&lt;td&gt;Packer / EC2 Image Builder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Encryption&lt;/td&gt;
&lt;td&gt;Snapshots encrypted with a CMK&lt;/td&gt;
&lt;td&gt;AWS KMS + EBS default encryption&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Distribution&lt;/td&gt;
&lt;td&gt;Multi-region or multi-account copy and re-encryption&lt;/td&gt;
&lt;td&gt;AMI copy / AWS RAM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;In force&lt;/td&gt;
&lt;td&gt;Registry of the current ID&lt;/td&gt;
&lt;td&gt;SSM Parameter Store&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deprecation&lt;/td&gt;
&lt;td&gt;Mark deprecated with a date&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ec2 enable-image-deprecation&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retirement&lt;/td&gt;
&lt;td&gt;Deregister and delete snapshots&lt;/td&gt;
&lt;td&gt;DLM / scheduled scripts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;The six phases of AMI governance and how to automate them.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="metrics-you-should-watch"&gt;Metrics you should watch&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Average age&lt;/strong&gt; of the AMIs in use: the lower, the better patched.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of orphaned snapshots&lt;/strong&gt; and their monthly cost.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Percentage of encrypted AMIs&lt;/strong&gt;, with a target of 100 %.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time from a critical CVE to the new published image&lt;/strong&gt;, the patch MTTR.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Why is my EBS bill rising if I already deleted the AMIs?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Because deregistering an AMI does not delete its snapshots. You must remove them
explicitly. Audit orphaned snapshots regularly; they are usually the biggest hidden cost.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Is it safe to share an encrypted AMI with another account?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes, as long as you grant access to the KMS key with a specific grant and minimal
permissions. Without that access, the destination account cannot launch the image.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How many versions of an AMI should I keep?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It depends on your rollback and compliance needs, but keeping between two and four recent
versions is usually a good balance between rollback safety and cost.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we design our images with versioning and encryption from the start, so
their lifecycle is predictable and auditable.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/golden-ami-packer-pipeline/</id><title>Golden AMI with Packer: how to build a reproducible pipeline step by step</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/golden-ami-packer-pipeline/"/><published>2026-06-02T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="guides"/><category term="packer"/><category term="golden ami"/><category term="aws"/><category term="ci/cd"/><category term="immutable infrastructure"/><summary type="text">A well-built golden AMI is the difference between deploying in seconds with confidence and fighting servers that are never quite the same. In this technical guide we assemble a reproducible Packer pipeline, ready for production.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/golden-ami-packer-pipeline_hu_cdeb95d898f689f8.webp" alt="Server cabinets in a machine room" width="1200" height="675"&gt;&lt;/p&gt;&lt;p&gt;A &lt;strong&gt;golden AMI&lt;/strong&gt; is a preconfigured, hardened and validated Amazon Machine Image that
serves as the single template for launching identical EC2 instances. Instead of booting
an empty server and installing dependencies by hand every time, you bake everything once
—patched operating system, agents, runtime, configuration and security controls— and
reuse it on every deployment.&lt;/p&gt;
&lt;p&gt;This approach is the foundation of &lt;strong&gt;immutable infrastructure&lt;/strong&gt;: you do not hot-patch
servers, you build a new image and replace the instances. The result is less
configuration drift, faster boots under autoscaling, and deployments you can audit and
roll back.&lt;/p&gt;
&lt;h2 id="golden-ami-versus-bootstrapping-at-boot"&gt;Golden AMI versus bootstrapping at boot&lt;/h2&gt;
&lt;p&gt;There are two philosophies. With &lt;strong&gt;bootstrapping&lt;/strong&gt;, the instance configures itself at
boot (user-data, Ansible pull, cloud-init). It is flexible but slow and fragile: if a
package repository goes down, your autoscaling fails. In the &lt;strong&gt;golden AMI (baking)&lt;/strong&gt;
model the heavy lifting happens once, in the pipeline; boot is nearly instantaneous and
deterministic. Most mature teams combine both: they bake what is stable and leave to boot
only the configuration that varies by environment.&lt;/p&gt;
&lt;h2 id="why-packer"&gt;Why Packer&lt;/h2&gt;
&lt;p&gt;Packer, from HashiCorp, is the de facto standard tool for building machine images
automatically and across clouds from a single template. You define the image as code
(HCL2); it launches a temporary instance, applies your provisioners, creates the AMI and
destroys the temporary resources. The same template can produce images for AWS, Azure and
GCP, which makes it ideal if you publish on several clouds.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reproducible&lt;/strong&gt;: the image is described in a file versioned in Git.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multicloud&lt;/strong&gt;: a single flow for AMI, Azure Managed Image and GCP Custom Image.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Integrable&lt;/strong&gt;: it fits into CI/CD (GitHub Actions, GitLab CI, CodePipeline).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auditable&lt;/strong&gt;: every build is recorded, with its manifest and artefacts.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="anatomy-of-a-packer-template-hcl2"&gt;Anatomy of a Packer template (HCL2)&lt;/h2&gt;
&lt;p&gt;A modern template is organised in blocks. The &lt;strong&gt;source&lt;/strong&gt; block defines the builder (for
example &lt;code&gt;amazon-ebs&lt;/code&gt;), the base AMI, the instance type and the region. The &lt;strong&gt;build&lt;/strong&gt;
block chains the &lt;strong&gt;provisioners&lt;/strong&gt; that install and configure software. The
&lt;strong&gt;post-processors&lt;/strong&gt; generate artefacts such as a JSON manifest with the resulting AMI ID.&lt;/p&gt;
&lt;h3 id="a-minimal-annotated-example"&gt;A minimal annotated example&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;source &amp;quot;amazon-ebs&amp;quot; &amp;quot;app&amp;quot;&lt;/code&gt; — starts from an official base AMI looked up dynamically with
a &lt;code&gt;data &amp;quot;amazon-ami&amp;quot;&lt;/code&gt; filtering by owner and name pattern, so you do not pin an ID that
will expire.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;provisioner &amp;quot;shell&amp;quot;&lt;/code&gt; — runs installation and update scripts (&lt;code&gt;dnf update -y&lt;/code&gt;, runtime
installation, CloudWatch agent, SSM agent).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;provisioner &amp;quot;ansible&amp;quot;&lt;/code&gt; — if you already have Ansible roles, reuse them to configure the
image idempotently.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;post-processor &amp;quot;manifest&amp;quot;&lt;/code&gt; — writes &lt;code&gt;manifest.json&lt;/code&gt; with the &lt;code&gt;artifact_id&lt;/code&gt;, which your
pipeline reads to know which AMI was born.&lt;/p&gt;
&lt;h2 id="the-pipeline-step-by-step"&gt;The pipeline step by step&lt;/h2&gt;
&lt;p&gt;This is the flow we recommend for taking a golden AMI from commit to production safely
and repeatably:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Step&lt;/th&gt;
&lt;th&gt;What happens&lt;/th&gt;
&lt;th&gt;Typical tool&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1. Commit&lt;/td&gt;
&lt;td&gt;You change the template or scripts and push to Git&lt;/td&gt;
&lt;td&gt;Git / PR review&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2. Validate&lt;/td&gt;
&lt;td&gt;&lt;code&gt;packer fmt&lt;/code&gt; + &lt;code&gt;packer validate&lt;/code&gt; check the syntax&lt;/td&gt;
&lt;td&gt;Packer, CI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3. Build&lt;/td&gt;
&lt;td&gt;Packer launches a temporary instance and applies provisioners&lt;/td&gt;
&lt;td&gt;Packer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4. Harden&lt;/td&gt;
&lt;td&gt;The CIS Benchmark is applied and credentials are cleaned&lt;/td&gt;
&lt;td&gt;Ansible / CIS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5. Scan&lt;/td&gt;
&lt;td&gt;Vulnerability and secret scanning&lt;/td&gt;
&lt;td&gt;Trivy, Inspector&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6. Test&lt;/td&gt;
&lt;td&gt;An instance is booted and validated&lt;/td&gt;
&lt;td&gt;InSpec / Goss&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7. Tag &amp;amp; version&lt;/td&gt;
&lt;td&gt;The AMI is tagged (version, commit, date)&lt;/td&gt;
&lt;td&gt;AWS CLI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8. Distribute&lt;/td&gt;
&lt;td&gt;It is shared or copied to other regions or accounts&lt;/td&gt;
&lt;td&gt;AWS RAM / copy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9. Deploy&lt;/td&gt;
&lt;td&gt;The AMI is referenced in the Launch Template&lt;/td&gt;
&lt;td&gt;Terraform / ASG&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Reference flow for a golden AMI pipeline in nine stages.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="best-practices-that-make-the-difference"&gt;Best practices that make the difference&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Never pin a base AMI by ID&lt;/strong&gt;: look it up dynamically by owner and name so you always
inherit the latest patches.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Version the image&lt;/strong&gt; with a clear scheme (for example &lt;code&gt;app-2026.07.1&lt;/code&gt;) and store the
Git commit in the AMI tags.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clean up before sealing&lt;/strong&gt;: delete logs, shell histories, temporary SSH keys and
package caches so you do not leak secrets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Always scan&lt;/strong&gt;: integrate Trivy or Amazon Inspector so you never publish known CVEs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Encrypt the snapshots&lt;/strong&gt; with your own KMS key from day one.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automate expiry&lt;/strong&gt;: mark old versions as deprecated and delete them to keep costs
under control.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="packer-or-ec2-image-builder-which-should-i-choose"&gt;Packer or EC2 Image Builder: which should I choose?&lt;/h2&gt;
&lt;p&gt;If you work exclusively on AWS and value native integration with Inspector, managed CIS
components and zero infrastructure to maintain, &lt;strong&gt;EC2 Image Builder&lt;/strong&gt; is a solid option
with no licence cost. If you need to build for several clouds from the same template, or
you already have a HashiCorp ecosystem (Terraform, Vault), &lt;strong&gt;Packer&lt;/strong&gt; gives you more
portability. They are not mutually exclusive: many teams use Packer for multicloud logic
and Image Builder for internal AWS pipelines.&lt;/p&gt;
&lt;h2 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;How often should I rebuild the golden AMI?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;At a minimum with every operating system patch cycle (monthly is usually a good rhythm)
and whenever a critical CVE is published for your stack. An automated pipeline lets you
rebuild on demand in minutes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Can I use the same Packer template for AWS and Azure?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes. Packer supports multiple builders in one build. You share the provisioners and only
change each cloud&amp;rsquo;s source block, producing an AMI, a Managed Image and a Custom Image in
parallel.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Golden AMI or containers?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It is not one or the other. Golden AMIs are ideal for the host layer and for
non-containerised workloads; containers live on top. In fact, a hardened golden AMI makes
an excellent base for your Kubernetes nodes.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At imaxe.cloud we build and maintain hardened, up-to-date base images so your pipeline
starts from a reliable foundation.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><id>https://www.imaxe.cloud/en/blog/zabbix-7-lts/</id><title>Zabbix 7.0 LTS now available: what changes in our AMI</title><link rel="alternate" type="text/html" href="https://www.imaxe.cloud/en/blog/zabbix-7-lts/"/><published>2026-05-28T00:00:00Z</published><updated>2026-08-22T15:25:49Z</updated><category term="news"/><summary type="text">Refreshed frontend, SLA widgets and a rewritten SQS reader. We go over what's new in the LTS line and how to migrate from 6.0 without losing history.</summary><content type="html">&lt;p&gt;&lt;img src="https://www.imaxe.cloud/blog-covers/zabbix-7-lts_hu_a2d5ca0fc6cd5b29.webp" alt="Diagnostic monitors in a control room" width="1200" height="675"&gt;&lt;/p&gt;</content></entry></feed>