Skip to content

Conversation

kilfoyle
Copy link
Contributor

@kilfoyle kilfoyle commented Aug 12, 2025

The scope of ILM and of data stream lifecycle should be called out more clearly, with respect to their supported deployment types and to the objects that each can manage.

This adds an "Availability" section to the top of the main ILM page and the main data stream lifecycle page.

Please see previews:

Rel: #190

Copy link

github-actions bot commented Aug 12, 2025

@kilfoyle kilfoyle marked this pull request as ready for review August 22, 2025 17:14
@kilfoyle kilfoyle requested a review from a team as a code owner August 22, 2025 17:14
@kilfoyle kilfoyle requested a review from yetanothertw August 22, 2025 17:14
Copy link
Contributor

@yetanothertw yetanothertw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like the explicit availability statement around indices and data streams. I think this context was missing on this page, so it's a great addition.

I've left a few more comments where I think we can do more. Let me know what you think


* Data stream lifecycle is supported only for data streams and cannot be used with standalone indices.

* Like [{{ilm-cap}} ({{ilm-init}})](/manage-data/lifecycle/index-lifecycle-management.md), data stream lifecycle is supported in both {{ecloud}} and self-managed environments. Data stream lifecycle is less feature rich than {{ilm-init}} and is focused on simplicity. For a detailed comparison refer to [Data lifecycle](/manage-data/lifecycle.md).
Copy link
Collaborator

@shainaraskas shainaraskas Sep 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd avoid "{{ecloud}} and self-managed environments" because we've found that this is not comprehensive or clear enough. to external users, "elastic cloud" could be "elastic cloud on kubernetes", which is technically a self-managed option. I'd indicate either that this is for deployments of the versioned stack, or list out all of the supported deployment types.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to Data stream lifecycle is supported for all deployment types on the versioned {{stack}} as well as for {{es-serverless}}.

Similarly, for ILM: {{ilm-init}} is available for all deployment types on the versioned {{stack}} but is not available for {{es-serverless}}.

Copy link
Collaborator

@shainaraskas shainaraskas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

couple of notes on the "ILM not available in serverless" thing


* Data stream lifecycle is supported only for data streams and cannot be used with indices.

* Data stream lifecycle is supported for all deployment types on the versioned {{stack}} as well as for {{es-serverless}}. Compared with {{ilm-init}}, which is not available for {{serverless-short}}, data stream lifecycle is focused on simplicity, optimized for the most common lifecycle management needs. It enables you to configure the retention duration for your data and to optimize how the data is stored. For a detailed comparison of {{ilm-init}} and data stream lifecycle refer to [Data lifecycle](/manage-data/lifecycle.md).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this comparison information doesn't seem to fit here. I think we have that info up here but maybe it makes sense to have this somewhere else on this page too.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree. I've just removed it.


* **Data streams:** A [data stream](/manage-data/data-store/data-streams.md) acts as a layer of abstraction over a set of indices that contain append-only, time series data. You can configure {{ilm-init}} using a data stream as a single named resource, so that rollover and any other configured actions are performed on the data stream's backing indices automatically.

* {{ilm-init}} is available for all deployment types on the versioned {{stack}} but is not available for {{es-serverless}}. In a {{serverless-short}} environment, data stream lifecycle (see the following tip) is available as a data lifecycle option.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this method of referring to the tip in the body feels weird. I'd keep the link in this bullet body and adjust the note to center the serverless benefit.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea. I've moved the link into the main text and removed "see the following tip".


* {{ilm-init}} is available for all deployment types on the versioned {{stack}} but is not available for {{es-serverless}}. In a {{serverless-short}} environment, data stream lifecycle (see the following tip) is available as a data lifecycle option.

:::{tip}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
:::{tip}
:::{admonition} Simpler lifecycle management in Serverless environments

:::{tip}
{{ilm-init}} lets you automatically transition indices through data tiers according to your performance needs and retention requirements. This allows you to balance hardware costs with performance. {{es-serverless}} eliminates this complexity by optimizing your cluster performance for you. In a {{serverless-short}} environment, data stream lifecycle is available as a data management option.

{applies_to}`stack: ga` {applies_to}`serverless: ga` [Data stream lifecycle](/manage-data/lifecycle/data-stream.md) is a simpler lifecycle management tool optimized for the most common lifecycle management needs. It enables you to configure the retention duration for your data and to optimize how the data is stored, without hardware-centric concepts like data tiers. For a detailed comparison of {{ilm-init}} and data stream lifecycle refer to [Data lifecycle](/manage-data/lifecycle.md).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these applies tags don't feel right here. I'd skip them.

the benefit is really much greater for serverless environments and dsl is not powerful enough for all stack cases, so communicating that it's available in stack isn't super critical

can drop the link if it's in the bullet item above

Suggested change
{applies_to}`stack: ga` {applies_to}`serverless: ga` [Data stream lifecycle](/manage-data/lifecycle/data-stream.md) is a simpler lifecycle management tool optimized for the most common lifecycle management needs. It enables you to configure the retention duration for your data and to optimize how the data is stored, without hardware-centric concepts like data tiers. For a detailed comparison of {{ilm-init}} and data stream lifecycle refer to [Data lifecycle](/manage-data/lifecycle.md).
Data stream lifecycle is a simpler lifecycle management tool optimized for the most common lifecycle management needs. It enables you to configure the retention duration for your data and to optimize how the data is stored, without hardware-centric concepts like data tiers. For a detailed comparison of {{ilm-init}} and data stream lifecycle refer to [Data lifecycle](/manage-data/lifecycle.md).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in new commit

* {{ilm-init}} is available for all deployment types on the versioned {{stack}} but is not available for {{es-serverless}}. In a {{serverless-short}} environment, data stream lifecycle (see the following tip) is available as a data lifecycle option.

:::{tip}
{{ilm-init}} lets you automatically transition indices through data tiers according to your performance needs and retention requirements. This allows you to balance hardware costs with performance. {{es-serverless}} eliminates this complexity by optimizing your cluster performance for you. In a {{serverless-short}} environment, data stream lifecycle is available as a data management option.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to double down on "ILM is not available in serverless BECAUSE" - splitting the info from the note has made that a little harder to parse

:::

::::{important}
To use {{ilm-init}}, all nodes in a cluster must run the same version. Although it might be possible to create and apply policies in a mixed-version cluster, there is no guarantee they will work as intended. Attempting to use a policy that contains actions that aren’t supported on all nodes in a cluster will cause errors.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this an availability concern or a prereq?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've moved this to the bottom of the intro paragraph.

@kilfoyle
Copy link
Contributor Author

@yetanothertw I applied your comments but some of them may have later been changed or removed as part of the latest review. Just so you don't think I ignored them. :-)

Copy link
Contributor

@yetanothertw yetanothertw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes look great, David! Thank you 🚀

I've approved the PR, but let's give Shaina a chance to greenlight it as well.

Copy link
Collaborator

@shainaraskas shainaraskas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

coolcoolcool

one tiny indent thing

@kilfoyle kilfoyle merged commit b12bc02 into elastic:main Sep 16, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants