From 69ede11f7d92c066d14cec9f36c9fc5e593858a3 Mon Sep 17 00:00:00 2001 From: Bruno Schaatsbergen Date: Sat, 14 Sep 2024 10:16:28 +0200 Subject: [PATCH 01/12] add Infrastructure Lifecycle WG website content Signed-off-by: Bruno Schaatsbergen --- .../content/en/wgs/infra-lifecycle/_index.md | 19 +++++ .../en/wgs/infra-lifecycle/charter/_index.md | 72 +++++++++++++++++++ .../en/wgs/infra-lifecycle/glossary/_index.md | 20 ++++++ 3 files changed, 111 insertions(+) create mode 100644 website/content/en/wgs/infra-lifecycle/_index.md create mode 100644 website/content/en/wgs/infra-lifecycle/charter/_index.md create mode 100644 website/content/en/wgs/infra-lifecycle/glossary/_index.md diff --git a/website/content/en/wgs/infra-lifecycle/_index.md b/website/content/en/wgs/infra-lifecycle/_index.md new file mode 100644 index 00000000..8124c391 --- /dev/null +++ b/website/content/en/wgs/infra-lifecycle/_index.md @@ -0,0 +1,19 @@ +# Infrastructure Lifecycle WG + +The [charter](./charter/charter.md) describes the goals and activites of this group. + +To contribute please join our Slack channel and/or biweekly meetings. + +#wg-infrastructure-lifecycle Slack channel: . Get an invite at + +## Chairs + +- Bruno Schaatsbergen (@bschaatsbergen) +- Jochen Zehnder (@elft3r) +- Ryan Nowak (@rynowak) + +## Meetings + +* Meeting schedule: Bi-weekly on Friday at [17:00 GMT+1](https://dateful.com/convert/utc?t=16) + * [Zoom](https://zoom-lfx.platform.linuxfoundation.org/meeting/96148400770?password=767d45df-c7cf-4400-9239-e789115cc85e&invite=true) +* Agendas and notes: diff --git a/website/content/en/wgs/infra-lifecycle/charter/_index.md b/website/content/en/wgs/infra-lifecycle/charter/_index.md new file mode 100644 index 00000000..a8426ec5 --- /dev/null +++ b/website/content/en/wgs/infra-lifecycle/charter/_index.md @@ -0,0 +1,72 @@ +# Infrastructure Lifecycle Working Group Charter + +## Problem Statement + +As the cloud native approach matures, the workloads we run have increasingly complex infrastructure needs. While we all strive to control costs, enforce best practices, and ensure secure configurations, the reality is often fragmented. Today's workloads reside in complex hybrid environments spanning on-premises physical infrastructure, public/private cloud, and Edge/IoT. This heterogeneity creates a significant burden for infrastructure engineers, particularly when it comes to maintaining workloads in production ("Day 10 and beyond"). The complexity for those managing infrastructure is growing rapidly across multiple dimensions. + +Despite the complexity and sophistication required, not enough has been done to meet the challenges. We're seeing significant investment in new open source infrastructure projects both in and out of CNCF but effective tooling for cloud native infrastructure lifecycle management remains elusive. The Platform Engineering movement emphasises treating infrastructure as a product, but there's no standardised approach for managing its lifecycle. + +While savvy users are embracing cloud native practices, infrastructure requirements are inherently diverse. However, there's an opportunity to champion technology-agnostic best practices. Infrastructure lifecycle management deserves the same level of attention and planning we dedicate to established areas of cloud native development. This ensures security, resilience, manageability, sustainability, and observability. This working group aims to bridge this critical gap by clarifying what a standardised approach for managing the infrastructure lifecycle looks like and develop best practices. + +## Deliverable + +Develop a framework for managing the lifecycle of infrastructure in public, private, or hybrid cloud environments based on cloud-native principles. This framework will guide end-users in managing infrastructure to ensure it is secure, resilient, manageable, sustainable, and observable. + +* **Start by**, collaborating with relevant Technical Advisory Groups (TAGs), Working Groups (WGs), vendors and end-users to integrate domain-specific expertise. +* **Next**, develop practical examples and reference architectures to guide end-users in applying the Infrastructure Lifecycle framework effectively across varied infrastructure environments. +* **Finally**, publish real-world case studies and collect feedback from end-users on their experiences with applying the Infrastructure Lifecycle framework. + +The key categories for the framework are: +* Infrastructure as Code + * Development processes + * Design and abstractions +* Control planes +* State management +* Disaster recovery +* Automation +* Testing +* Observability + +## Long-term vision +After delivering the framework, we will assess its effectiveness and decide whether a longer-term Working Group or TAG is needed. This approach ensures the framework remains relevant and adaptable to evolving infrastructure management needs. + +## Out of Scope + +* This working group is not intended to endorse or promote any specific infrastructure management tools or technologies. +* This working group won’t develop a new type of standard to infrastructure lifecycle management. +* This working group won’t create a new CNCF open source project. + +## Examples of known patterns aimed to manage lifecycle of infrastructure + +### Infrastructure as Code Tools + +There are various tools enabling practitioners to define and manage the lifecycle of infrastructure through code, enabling consistent and scalable deployments of their cloud infrastructure. Tools like Terraform, CloudFormation, Pulumi and Crossplane allow practitioners to describe their infrastructure in a declarative manner, ensuring reliability in managing the lifecycle of cloud infrastructure. + +### Infrastructure Tool Orchestration + +The growing need for GitOps-style deployments drives demand for orchestrating declarative cloud infrastructure using Infrastructure as Code Tools. These orchestrators manage cloud resources either using native APIs or IaC tools. They offer flexibility across cloud providers and tooling preferences. Tools like TACoS, Crossplane, and AWS Controller for Kubernetes (ACK) exemplify this powerful approach, simplifying cloud infrastructure management. + +## Examples of known tools aimed to manage the lifecycle of infrastructure: + +Without any claim to comprehensiveness: + +* Ansible +* AWS CloudFormation & AWS CDK +* Bicep +* Crossplane +* Metal³ +* OpenTofu +* Pulumi +* Radius +* Terraform +* Tinkerbell + +## Alignment with TAG App Delivery Charter + +The Infrastructure Lifecycle working group tackles the underlying infrastructure abstractions that serve as essential building blocks for platform products, an area addressed by the Platform Working Group. Application delivery is often coupled with infrastructure, think of databases, message queues and runtime environments. + +Originally, the Platform Working Group focused on clarifying the coordination between application development and infrastructure delivery. While this remains important, the group's focus has evolved to consider platforms as complete products. This broader perspective necessitates a renewed emphasis on the underlying infrastructure abstractions that provide the essential building blocks for these platform offerings, such as disaster recovery, infrastructure lifecycle state management, testability and more. The Infrastructure Lifecycle Working Group will address such topics in this charter. + +## Alignment with TAG Runtime Charter + +We partner with the Runtime TAG to ensure that cloud native runtime environments provide the fundamental workload execution abstractions and mechanisms needed to integrate with infrastructure lifecycle management tools. This collaboration focuses on guaranteeing that both runtime and infrastructure layers work cohesively to deliver applications effectively. diff --git a/website/content/en/wgs/infra-lifecycle/glossary/_index.md b/website/content/en/wgs/infra-lifecycle/glossary/_index.md new file mode 100644 index 00000000..6c7729d4 --- /dev/null +++ b/website/content/en/wgs/infra-lifecycle/glossary/_index.md @@ -0,0 +1,20 @@ +--- +title: Glossary +description: "Defines key terms used in the Infrastructure Lifecycle Working Group’s writings." +--- + +See also: [Cloud Native Glossary](https://glossary.cncf.io/) + +If you wish to refer to these definitions outside the scope of the working group’s papers, please note that they have been written in the context of both the CNCF and infrastructure management. + +## Infrastructure Lifecycle +The continuous process of designing, deploying, operating, updating, and decommissioning infrastructure resources. This lifecycle covers stages from provisioning to maintenance and eventual retirement, with a focus on resilience, security, sustainability, and automation. + +## Infrastructure as Code (IaC) +A practice where infrastructure is managed and provisioned through machine-readable configuration files, enabling consistency and scalability. Allowing infrastructure to be treated as code, enabling version control, testing, and automation of infrastructure management. + +## State +In infrastructure management, state refers to the current configuration, status, and condition of infrastructure resources at any given point in time. It captures details like resource attributes, dependencies, and operational status, often stored in a state file. + +## State Drift +A condition in which the actual state of infrastructure resources deviates from the desired state defined in code. Mechanisms like drift detection and reconciliation are used to identify and correct these discrepancies. From a3928c56c6cb629b60fd65caa6ec4d19a7d768e7 Mon Sep 17 00:00:00 2001 From: Bruno Schaatsbergen Date: Tue, 17 Sep 2024 16:50:29 -0400 Subject: [PATCH 02/12] chore: leave out state for now Signed-off-by: Bruno Schaatsbergen --- website/content/en/wgs/infra-lifecycle/glossary/_index.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/website/content/en/wgs/infra-lifecycle/glossary/_index.md b/website/content/en/wgs/infra-lifecycle/glossary/_index.md index 6c7729d4..a18556d8 100644 --- a/website/content/en/wgs/infra-lifecycle/glossary/_index.md +++ b/website/content/en/wgs/infra-lifecycle/glossary/_index.md @@ -12,9 +12,3 @@ The continuous process of designing, deploying, operating, updating, and decommi ## Infrastructure as Code (IaC) A practice where infrastructure is managed and provisioned through machine-readable configuration files, enabling consistency and scalability. Allowing infrastructure to be treated as code, enabling version control, testing, and automation of infrastructure management. - -## State -In infrastructure management, state refers to the current configuration, status, and condition of infrastructure resources at any given point in time. It captures details like resource attributes, dependencies, and operational status, often stored in a state file. - -## State Drift -A condition in which the actual state of infrastructure resources deviates from the desired state defined in code. Mechanisms like drift detection and reconciliation are used to identify and correct these discrepancies. From 853a63a21896c05a7c85791c61f553841ad76975 Mon Sep 17 00:00:00 2001 From: Bruno Schaatsbergen Date: Tue, 17 Sep 2024 16:53:17 -0400 Subject: [PATCH 03/12] chore: add a header Signed-off-by: Bruno Schaatsbergen --- website/content/en/wgs/infra-lifecycle/charter/_index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/website/content/en/wgs/infra-lifecycle/charter/_index.md b/website/content/en/wgs/infra-lifecycle/charter/_index.md index a8426ec5..bcd6bc4b 100644 --- a/website/content/en/wgs/infra-lifecycle/charter/_index.md +++ b/website/content/en/wgs/infra-lifecycle/charter/_index.md @@ -1,3 +1,8 @@ +--- +title: Infrastructure Lifecycle Working Group Charter +description: This charter outlines the mission and strategies of the Infrastructure Lifecycle Working Group (WG). +--- + # Infrastructure Lifecycle Working Group Charter ## Problem Statement From 3b99725033653c6f8fa70318d4cd1f89caf4df5c Mon Sep 17 00:00:00 2001 From: Bruno Schaatsbergen Date: Tue, 17 Sep 2024 16:58:05 -0400 Subject: [PATCH 04/12] add Infrastructure Lifecycle WG Signed-off-by: Bruno Schaatsbergen --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index da0a0c8d..c851f883 100644 --- a/README.md +++ b/README.md @@ -58,3 +58,4 @@ The TAG has created the following working groups to investigate and discuss the | [Operator](https://github.com/cncf/tag-app-delivery/tree/main/operator-wg) | | Inactive | | [Artifacts](artifacts-wg/README.md) | [artifacts-wg/README.md#chairs](./artifacts-wg/README.md#chairs) | [artifacts-wg/README.md#meetings](./artifacts-wg/README.md#meetings) | | [App Development](app-development-wg/README.md) | [app-development-wg/README.md#chairs](./app-development-wg/README.md#chairs) | [app-development-wg/README.md#meetings](./app-development-wg/README.md#meetings) | +| [Infrastructure Lifecycle](infra-lifecycle-wg/README.md) | [infra-lifecycle-wg/README.md#chairs](./infra-lifecycle-wg/README.md#chairs) | [infra-lifecycle-wg/README.md#meetings](./infra-lifecycle-wg/README.md#meetings) | From 1b96f042db4ebfbee9d126a2a9895a9be9c2d5ad Mon Sep 17 00:00:00 2001 From: Bruno Schaatsbergen Date: Tue, 17 Sep 2024 17:00:26 -0400 Subject: [PATCH 05/12] chore: fix href Signed-off-by: Bruno Schaatsbergen --- website/content/en/wgs/infra-lifecycle/_index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/content/en/wgs/infra-lifecycle/_index.md b/website/content/en/wgs/infra-lifecycle/_index.md index 8124c391..70702cbd 100644 --- a/website/content/en/wgs/infra-lifecycle/_index.md +++ b/website/content/en/wgs/infra-lifecycle/_index.md @@ -16,4 +16,5 @@ To contribute please join our Slack channel and/or biweekly meetings. * Meeting schedule: Bi-weekly on Friday at [17:00 GMT+1](https://dateful.com/convert/utc?t=16) * [Zoom](https://zoom-lfx.platform.linuxfoundation.org/meeting/96148400770?password=767d45df-c7cf-4400-9239-e789115cc85e&invite=true) -* Agendas and notes: +* Agendas and notes: + * https://docs.google.com/document/d/1KvNAY8hYZ_PXzyLC3BSnzWBl8w8glpLYuqDIa-Z6Stk/edit#heading=h.7ivcxpd95s29 From 09d7a97b6a871e354f9b7f868354202ed5ea0965 Mon Sep 17 00:00:00 2001 From: Bruno Schaatsbergen Date: Tue, 17 Sep 2024 17:03:11 -0400 Subject: [PATCH 06/12] chore: fix header Signed-off-by: Bruno Schaatsbergen --- website/content/en/wgs/infra-lifecycle/_index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/website/content/en/wgs/infra-lifecycle/_index.md b/website/content/en/wgs/infra-lifecycle/_index.md index 70702cbd..5261e397 100644 --- a/website/content/en/wgs/infra-lifecycle/_index.md +++ b/website/content/en/wgs/infra-lifecycle/_index.md @@ -1,3 +1,7 @@ +--- +title: Infrastructure Lifecycle Working Group +list_pages: true +--- # Infrastructure Lifecycle WG The [charter](./charter/charter.md) describes the goals and activites of this group. From 02fbc38e24562e5e8a443077da82b127c63e9326 Mon Sep 17 00:00:00 2001 From: Bruno Schaatsbergen Date: Tue, 17 Sep 2024 17:05:35 -0400 Subject: [PATCH 07/12] chore: add github hrefs Signed-off-by: Bruno Schaatsbergen --- website/content/en/wgs/infra-lifecycle/_index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/content/en/wgs/infra-lifecycle/_index.md b/website/content/en/wgs/infra-lifecycle/_index.md index 5261e397..895af48f 100644 --- a/website/content/en/wgs/infra-lifecycle/_index.md +++ b/website/content/en/wgs/infra-lifecycle/_index.md @@ -12,9 +12,9 @@ To contribute please join our Slack channel and/or biweekly meetings. ## Chairs -- Bruno Schaatsbergen (@bschaatsbergen) -- Jochen Zehnder (@elft3r) -- Ryan Nowak (@rynowak) +- Bruno Schaatsbergen ([@bschaatsbergen](https://github.com/bschaatsbergen)) +- Jochen Zehnder ([@elft3r](https://github.com/elft3r)) +- Ryan Nowak ([@rynowak](https://github.com/rynowak)) ## Meetings From cf8b0a2b7c4de9a21cbb5adc9ee930d177ff05bc Mon Sep 17 00:00:00 2001 From: Bruno Schaatsbergen Date: Tue, 17 Sep 2024 17:07:53 -0400 Subject: [PATCH 08/12] chore: remove redundant header Signed-off-by: Bruno Schaatsbergen --- website/content/en/wgs/infra-lifecycle/_index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/website/content/en/wgs/infra-lifecycle/_index.md b/website/content/en/wgs/infra-lifecycle/_index.md index 895af48f..7df99fa4 100644 --- a/website/content/en/wgs/infra-lifecycle/_index.md +++ b/website/content/en/wgs/infra-lifecycle/_index.md @@ -2,7 +2,6 @@ title: Infrastructure Lifecycle Working Group list_pages: true --- -# Infrastructure Lifecycle WG The [charter](./charter/charter.md) describes the goals and activites of this group. From d6f4ddccc1e01fccd7f8ddbf500443cd69170062 Mon Sep 17 00:00:00 2001 From: Bruno Schaatsbergen Date: Tue, 17 Sep 2024 17:09:22 -0400 Subject: [PATCH 09/12] chore: remove redundant header Signed-off-by: Bruno Schaatsbergen --- website/content/en/wgs/infra-lifecycle/charter/_index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/content/en/wgs/infra-lifecycle/charter/_index.md b/website/content/en/wgs/infra-lifecycle/charter/_index.md index bcd6bc4b..a8d27846 100644 --- a/website/content/en/wgs/infra-lifecycle/charter/_index.md +++ b/website/content/en/wgs/infra-lifecycle/charter/_index.md @@ -3,8 +3,6 @@ title: Infrastructure Lifecycle Working Group Charter description: This charter outlines the mission and strategies of the Infrastructure Lifecycle Working Group (WG). --- -# Infrastructure Lifecycle Working Group Charter - ## Problem Statement As the cloud native approach matures, the workloads we run have increasingly complex infrastructure needs. While we all strive to control costs, enforce best practices, and ensure secure configurations, the reality is often fragmented. Today's workloads reside in complex hybrid environments spanning on-premises physical infrastructure, public/private cloud, and Edge/IoT. This heterogeneity creates a significant burden for infrastructure engineers, particularly when it comes to maintaining workloads in production ("Day 10 and beyond"). The complexity for those managing infrastructure is growing rapidly across multiple dimensions. From 5928d1256e27001930b31c5de76ec292f05bbdcc Mon Sep 17 00:00:00 2001 From: Bruno Schaatsbergen Date: Tue, 17 Sep 2024 17:11:35 -0400 Subject: [PATCH 10/12] chore: improve description Signed-off-by: Bruno Schaatsbergen --- website/content/en/wgs/infra-lifecycle/charter/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/en/wgs/infra-lifecycle/charter/_index.md b/website/content/en/wgs/infra-lifecycle/charter/_index.md index a8d27846..1d3617a1 100644 --- a/website/content/en/wgs/infra-lifecycle/charter/_index.md +++ b/website/content/en/wgs/infra-lifecycle/charter/_index.md @@ -1,6 +1,6 @@ --- title: Infrastructure Lifecycle Working Group Charter -description: This charter outlines the mission and strategies of the Infrastructure Lifecycle Working Group (WG). +description: This charter outlines the mission, scope, deliverables, and long-term vision of the Infrastructure Lifecycle Working Group. --- ## Problem Statement From b4f96cf77bc1932396ed1638b791ab87e0d561ce Mon Sep 17 00:00:00 2001 From: Bruno Schaatsbergen Date: Wed, 18 Sep 2024 22:42:20 +0200 Subject: [PATCH 11/12] Update website/content/en/wgs/infra-lifecycle/_index.md Co-authored-by: Jochen Zehnder Signed-off-by: Bruno Schaatsbergen --- website/content/en/wgs/infra-lifecycle/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/en/wgs/infra-lifecycle/_index.md b/website/content/en/wgs/infra-lifecycle/_index.md index 7df99fa4..93c8898a 100644 --- a/website/content/en/wgs/infra-lifecycle/_index.md +++ b/website/content/en/wgs/infra-lifecycle/_index.md @@ -3,7 +3,7 @@ title: Infrastructure Lifecycle Working Group list_pages: true --- -The [charter](./charter/charter.md) describes the goals and activites of this group. +The [charter](./charter) describes the goals and activities of this group. To contribute please join our Slack channel and/or biweekly meetings. From b643776371e26fd6ee23b6df962b1b72696d8e8f Mon Sep 17 00:00:00 2001 From: Bruno Schaatsbergen Date: Thu, 26 Sep 2024 22:45:11 +0200 Subject: [PATCH 12/12] style: fix formatting of table Signed-off-by: Bruno Schaatsbergen --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c851f883..5d6e0f0c 100644 --- a/README.md +++ b/README.md @@ -58,4 +58,4 @@ The TAG has created the following working groups to investigate and discuss the | [Operator](https://github.com/cncf/tag-app-delivery/tree/main/operator-wg) | | Inactive | | [Artifacts](artifacts-wg/README.md) | [artifacts-wg/README.md#chairs](./artifacts-wg/README.md#chairs) | [artifacts-wg/README.md#meetings](./artifacts-wg/README.md#meetings) | | [App Development](app-development-wg/README.md) | [app-development-wg/README.md#chairs](./app-development-wg/README.md#chairs) | [app-development-wg/README.md#meetings](./app-development-wg/README.md#meetings) | -| [Infrastructure Lifecycle](infra-lifecycle-wg/README.md) | [infra-lifecycle-wg/README.md#chairs](./infra-lifecycle-wg/README.md#chairs) | [infra-lifecycle-wg/README.md#meetings](./infra-lifecycle-wg/README.md#meetings) | +| [Infrastructure Lifecycle](infra-lifecycle-wg/README.md) | [infra-lifecycle-wg/README.md#chairs](./infra-lifecycle-wg/README.md#chairs) | [infra-lifecycle-wg/README.md#meetings](./infra-lifecycle-wg/README.md#meetings) |