(Initial draft) |
(→Product Objectives: Update the general statement) |
||
(117 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
{{header|cloud-sig}} | {{header|cloud-sig}} | ||
Fedora | <!-- The code for this page is kept at https://pagure.io/cloud-sig/blob/main/f/PRD.mw and should be edited and merged from there --> | ||
= Purpose and Demographic = | |||
The ''Cloud Edition Working Group'' targets efforts towards the | |||
facilitation and improvement of continuous delivery by ensuring that Fedora project | |||
solutions support cloud native workflow without forcing users to understand all of the | |||
environments in which they require enablement. | |||
= | = Product Objectives = | ||
The ''Fedora Cloud Edition'' allows users to work across multiple virtual environments at | |||
scale by focusing engineering efforts on supplying a base disk images, rpms, and | |||
container-based tooling of various architectures for working in and around public and | |||
private cloud environments. | |||
The | == The Fedora Cloud Base Image == | ||
There are many requirements for building and deployment into the various options for | |||
private and public clouds. The primary goal for the Cloud Edition is the Fedora Cloud Base | |||
Image. The Cloud Base image provides disk images for all of the environments that can be tested | |||
and confirmed to be functional. It is foundational to additional configurations and | |||
initiatives that require an image-based deployment model. | |||
== | == Adaptations for Hyperscaler Use Cases == | ||
Some use cases may be considered as antithetical to the goals of other edition deployment | |||
models, but have a strong use case to be included by default in hyperscalers. The use of | |||
cloud-native components is continually evolving and highly opinionated, so there is added | |||
benefit to including these curated images for use in the exploration of new technologies | |||
and scientific reproducibility. | |||
At the 2020 Power Management and Scheduling in the Linux Kernel summit (OSPM)[1], Andrea | |||
Righi and Rafael Wysocki discussed the use of hibernation on cloud-based systems and | |||
reviewed work that they have done in support of the program. Jonathan Corbet points out | |||
that "[t]he value there is to be able to pause a workload to save money. For example, | |||
Amazon's ''spot instances'' run at low priority when there are spare resources available; | |||
they can be shut down with ten minutes notice at any time." With support from the Cloud | |||
Edition team, the agents and kernel support can be maintained consistently and | |||
reliably. | |||
There are a number of example use cases to explore in both traditional and non-traditional | |||
ways and some of them are included in the next section. This use cases section is intended | |||
to be updated as time goes on to identify specific initiatives and configurations that the | |||
Cloud Edition can support. | |||
The | == Example Use Cases == | ||
=== An Example: Base image for use with Cloud IDE === | |||
The use of Fedora as a foundation for IDE environments such as the Amazon ''Cloud9'' IDE | |||
requires curation and support. When it is not properly prepared, it cannot be included as | |||
a part of the product offerings available to users who might wish to use them. A curated | |||
package group is beneficial, but insufficient for Amazon service teams to trust that there | |||
will be continued support. The Cloud Edition is consistent with other Fedora Editions, but | |||
includes some active modifications to ensure support for next-generation technologies that | |||
would not be possible with systems intended to be more consistent with downstream | |||
directives. | |||
=== An Example: Base Image optimized for use with cloud native Kubernetes services === | |||
== | Amongst the hyperscaler cloud infrastructures there are those services where a specialized | ||
internal community is served. One for which the standard Fedora Editions does not include | |||
specialized support. Optimizing images for use with downstream platforms, i.e. not OKD or | |||
Red Hat OpenShift, for managing containerized workloads the cloud images can be for | |||
example, Kubernetes (k8s): Support for k8s is,in all cloud providers, an opinionated | |||
configuration that fits specifically an immutable operations model. | |||
=== An Example: (EDA) Electronic Design Automation === | |||
EDA workloads typically target their support towards stable, downstream EL distributions | |||
and are therefore not capable of moving as quickly as distributions like Fedora. With the | |||
use of cloud-native technologies, it's clear that the design world is at last ready to | |||
engage agile processes for the development of system-on-chip (SoC) design. The electronic | |||
design automation (EDA) industry is maneuvering itself into position that makes new | |||
technologies critical to decreasing time to market. Almost all of the pieces to facilitate | |||
an SoC methodology are in place in terms of cloud-managed development tools. The industry | |||
open access model is an ideal dovetail to ensure that the Fedora Cloud Edition can be a | |||
target for early development and adoption of advanced technology. | |||
For EDA, there is an expectation that a significant number of applications will run | |||
generally in the same operating space. Additionally as function specialization occurs, it | |||
will be beneficial to have an engineering specialization in tailoring these specialized | |||
operating systems to the requirements of software-defined architecture. | |||
== | == Focus on the familiarity of the users. == | ||
There are many people who have not advanced to the level of using container-based models | |||
for their bespoke code or operations practices. We don't want to leave them | |||
behind. Furthermore, there are still established practices which can only support | |||
containerization in part. Supporting these transitional and hybrid models is the focus of | |||
the Cloud Working Group.are looking at ways we can build support for next-generation | |||
support models. | |||
Many users of applications software have decades of experience interacting with a base | |||
operating system standard actions. They may not yet be able to move their practice to an | |||
immutable OS model or use projects that abstract away from decades of \*nix software | |||
development models. | |||
This | == An established practice for investigating the best model for deployment and governance == | ||
In many cases, cloud providers may determine that their opinionated model is the best or | |||
singularly valid model. This may be the result of focused groups or Product Managers who | |||
do not have a familiarity with the possiblities of incorporating open source into their | |||
active process due to concerns of any sort. It is a function of the cloud working group as | |||
curators of the edition to actively explore these management models and software decisions | |||
as a method to either determine the best of class open source interaction or to identify | |||
in a way that is acceptable to the greater Fedora community exactly why the current model | |||
is not handled in an [https://www.theopensourceway.org/ open source way]. | |||
Examples of opinionated models are the use of python 2.7 in Google's gcloud sdk or the practice | |||
of clobbering the systemd-acpid \`sleep.sh\` file in the Amazon Hibernation Agent. Simply | |||
put, these are problems for the Cloud Edition to resolve and to help work with the | |||
upstream teams responsible to make their applications functional in the context of the | |||
Fedora Distribution and downstream Enterprise Linux. | |||
As a part of the working group, this team builds, monitors and improves the upstream | |||
experiences complicated by closed or non-standard models to ensure that there is a path | |||
forward to remove the barriers that block open source success for the cloud communities to | |||
which we are aligned. | |||
= | = Architectural Considerations = | ||
== | == Boot Support == | ||
* Legacy Bios or ''Classic Boot'' | |||
* UEFI | |||
The Boot support is dependent upon a number of other considedations. Neal Gompa's collaborative work with the Red Hat team has made our images ready for both without modification. Aarch64 is UEFI only. | |||
= | == Processor Architecture Support == | ||
* x86_64 | |||
* aarch64 | |||
= | = Participants = | ||
Currently the following people are involved in the Cloud Working group. | |||
* [https://fedoraproject.org/wiki/User:Davdunc David Duncan] | |||
* | * [https://fedoraproject.org/wiki/User:Dustymabe Dusty Mabe] | ||
. | * [https://fedoraproject.org/wiki/User:Mhayden Major Hayden] | ||
* [https://fedoraproject.org/wiki/User:Ngompa Neal Gompa] | |||
* [https://fedoraproject.org/wiki/User:Dcavalca Davida Cavalca] | |||
* [https://fedoraproject.org/wiki/User:Salimma Michel Salim] | |||
* [https://fedoraproject.org/wiki/User:Chrismurphy Chris Murphy] | |||
* [https://blog.centos.org/2022/03/new-centos-director-amy-marrich/ Amy Marrich] | |||
* [https://fedoramagazine.org/joe-doss-how-do-you-fedora/ Joe Doss] | |||
Many others have participated in the past and the projects a whole was | |||
founded by the current (2022) [https://docs.fedoraproject.org/en-US/council/fpl/ FPL], [https://fedoraproject.org/wiki/User:Mattdm Matthew Miller]. Matthew has been integral in | |||
working on the scope and practices followed by the Cloud Working Group for many years. | |||
= Project Status = | |||
The Working group is '''ACTIVE''' | |||
Currently the Cloud Working Group is focused on returning to status as | |||
an [https://fedoraproject.org/wiki/Changes/RestoreCloudEdition Edition]. Edition status lapsed as a result of a number of | |||
changes. The first was a move to focus efforts related to cloud images | |||
to include [https://projectatomic.io/ Project Atomic] as well as the standard cloud edition and | |||
then a complication occurred when Fedora Atomic was replaced by Fedora | |||
CoreOS. The directives for these working groups is distinctly | |||
different and supports different goals related to downstream adoption | |||
and support. | |||
== | == Meeting Times == | ||
Bi-Weekly, every other Thursday. Currently we are supposed to be meeting at 15:00 UTC, but we have been meeting accidentally at 8:00 AM EDT daylight savings time. We are considering meeting on the 1st and 3rd of the month with a Video meeting on the 5th week of months that have a 5th week. Changing the meeting time would allow us to synchronize with the CentOS Cloud SIG for consistency. | |||
= | ---- | ||
=== Footnotes === | |||
[1] https://lwn.net/Articles/821158/n | |||
Latest revision as of 20:45, 1 November 2022
Purpose and Demographic
The Cloud Edition Working Group targets efforts towards the facilitation and improvement of continuous delivery by ensuring that Fedora project solutions support cloud native workflow without forcing users to understand all of the environments in which they require enablement.
Product Objectives
The Fedora Cloud Edition allows users to work across multiple virtual environments at scale by focusing engineering efforts on supplying a base disk images, rpms, and container-based tooling of various architectures for working in and around public and private cloud environments.
The Fedora Cloud Base Image
There are many requirements for building and deployment into the various options for private and public clouds. The primary goal for the Cloud Edition is the Fedora Cloud Base Image. The Cloud Base image provides disk images for all of the environments that can be tested and confirmed to be functional. It is foundational to additional configurations and initiatives that require an image-based deployment model.
Adaptations for Hyperscaler Use Cases
Some use cases may be considered as antithetical to the goals of other edition deployment models, but have a strong use case to be included by default in hyperscalers. The use of cloud-native components is continually evolving and highly opinionated, so there is added benefit to including these curated images for use in the exploration of new technologies and scientific reproducibility.
At the 2020 Power Management and Scheduling in the Linux Kernel summit (OSPM)[1], Andrea Righi and Rafael Wysocki discussed the use of hibernation on cloud-based systems and reviewed work that they have done in support of the program. Jonathan Corbet points out that "[t]he value there is to be able to pause a workload to save money. For example, Amazon's spot instances run at low priority when there are spare resources available; they can be shut down with ten minutes notice at any time." With support from the Cloud Edition team, the agents and kernel support can be maintained consistently and reliably.
There are a number of example use cases to explore in both traditional and non-traditional ways and some of them are included in the next section. This use cases section is intended to be updated as time goes on to identify specific initiatives and configurations that the Cloud Edition can support.
Example Use Cases
An Example: Base image for use with Cloud IDE
The use of Fedora as a foundation for IDE environments such as the Amazon Cloud9 IDE requires curation and support. When it is not properly prepared, it cannot be included as a part of the product offerings available to users who might wish to use them. A curated package group is beneficial, but insufficient for Amazon service teams to trust that there will be continued support. The Cloud Edition is consistent with other Fedora Editions, but includes some active modifications to ensure support for next-generation technologies that would not be possible with systems intended to be more consistent with downstream directives.
An Example: Base Image optimized for use with cloud native Kubernetes services
Amongst the hyperscaler cloud infrastructures there are those services where a specialized internal community is served. One for which the standard Fedora Editions does not include specialized support. Optimizing images for use with downstream platforms, i.e. not OKD or Red Hat OpenShift, for managing containerized workloads the cloud images can be for example, Kubernetes (k8s): Support for k8s is,in all cloud providers, an opinionated configuration that fits specifically an immutable operations model.
An Example: (EDA) Electronic Design Automation
EDA workloads typically target their support towards stable, downstream EL distributions and are therefore not capable of moving as quickly as distributions like Fedora. With the use of cloud-native technologies, it's clear that the design world is at last ready to engage agile processes for the development of system-on-chip (SoC) design. The electronic design automation (EDA) industry is maneuvering itself into position that makes new technologies critical to decreasing time to market. Almost all of the pieces to facilitate an SoC methodology are in place in terms of cloud-managed development tools. The industry open access model is an ideal dovetail to ensure that the Fedora Cloud Edition can be a target for early development and adoption of advanced technology.
For EDA, there is an expectation that a significant number of applications will run generally in the same operating space. Additionally as function specialization occurs, it will be beneficial to have an engineering specialization in tailoring these specialized operating systems to the requirements of software-defined architecture.
Focus on the familiarity of the users.
There are many people who have not advanced to the level of using container-based models for their bespoke code or operations practices. We don't want to leave them behind. Furthermore, there are still established practices which can only support containerization in part. Supporting these transitional and hybrid models is the focus of the Cloud Working Group.are looking at ways we can build support for next-generation support models.
Many users of applications software have decades of experience interacting with a base operating system standard actions. They may not yet be able to move their practice to an immutable OS model or use projects that abstract away from decades of \*nix software development models.
An established practice for investigating the best model for deployment and governance
In many cases, cloud providers may determine that their opinionated model is the best or singularly valid model. This may be the result of focused groups or Product Managers who do not have a familiarity with the possiblities of incorporating open source into their active process due to concerns of any sort. It is a function of the cloud working group as curators of the edition to actively explore these management models and software decisions as a method to either determine the best of class open source interaction or to identify in a way that is acceptable to the greater Fedora community exactly why the current model is not handled in an open source way.
Examples of opinionated models are the use of python 2.7 in Google's gcloud sdk or the practice of clobbering the systemd-acpid `sleep.sh` file in the Amazon Hibernation Agent. Simply put, these are problems for the Cloud Edition to resolve and to help work with the upstream teams responsible to make their applications functional in the context of the Fedora Distribution and downstream Enterprise Linux.
As a part of the working group, this team builds, monitors and improves the upstream experiences complicated by closed or non-standard models to ensure that there is a path forward to remove the barriers that block open source success for the cloud communities to which we are aligned.
Architectural Considerations
Boot Support
- Legacy Bios or Classic Boot
- UEFI
The Boot support is dependent upon a number of other considedations. Neal Gompa's collaborative work with the Red Hat team has made our images ready for both without modification. Aarch64 is UEFI only.
Processor Architecture Support
- x86_64
- aarch64
Participants
Currently the following people are involved in the Cloud Working group.
Many others have participated in the past and the projects a whole was founded by the current (2022) FPL, Matthew Miller. Matthew has been integral in working on the scope and practices followed by the Cloud Working Group for many years.
Project Status
The Working group is ACTIVE
Currently the Cloud Working Group is focused on returning to status as an Edition. Edition status lapsed as a result of a number of changes. The first was a move to focus efforts related to cloud images to include Project Atomic as well as the standard cloud edition and then a complication occurred when Fedora Atomic was replaced by Fedora CoreOS. The directives for these working groups is distinctly different and supports different goals related to downstream adoption and support.
Meeting Times
Bi-Weekly, every other Thursday. Currently we are supposed to be meeting at 15:00 UTC, but we have been meeting accidentally at 8:00 AM EDT daylight savings time. We are considering meeting on the 1st and 3rd of the month with a Video meeting on the 5th week of months that have a 5th week. Changing the meeting time would allow us to synchronize with the CentOS Cloud SIG for consistency.