Hi everyone.
I have updated the PRD and I would like to request additions comments
and improvements to this first draft.
My first pass can be edited or modified in the cloud-sig fork at
https://pagure.io/fork/davdunc/cloud-sig/blob/prd-improve-davdunc/f/PRD.md
---
Fedora Cloud Working Group <2022-05-24 Tue>
1 Purpose and Demographic
=========================
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 /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.
2 Product Objectives
====================
2.1 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.
2.2 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.
2.3 Example Use Cases
~~~~~~~~~~~~~~~~~~~~~
2.3.1 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.
2.3.2 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.
2.3.3 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.
2.4 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.
2.5 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.
[open source way] <
https://www.theopensourceway.org/>
3 Participants
==============
Currently the following people are involved in the Cloud Working
group.
- [David Duncan]
- [Dusty Mabe]
- [Major Hayden]
- [Neal Gompa]
- [Davida Cavalca]
- [Michel Salim]
- [Amy Marrich]
- [Joe Doss]
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.
[David Duncan] <
https://fedoraproject.org/wiki/User:Davdunc>
[Dusty Mabe] <
https://fedoraproject.org/wiki/User:Dustymabe>
[Major Hayden] <
https://fedoraproject.org/wiki/User:Mhayden>
[Neal Gompa] <
https://fedoraproject.org/wiki/User:Ngompa>
[Davida Cavalca] <
https://fedoraproject.org/wiki/User:Dcavalca>
[Michel Salim] <
https://fedoraproject.org/wiki/User:Salimma>
[Amy Marrich]
<
https://blog.centos.org/2022/03/new-centos-director-amy-marrich/>
[Joe Doss] <
https://fedoramagazine.org/joe-doss-how-do-you-fedora/>
[FPL] <
https://docs.fedoraproject.org/en-US/council/fpl/>
[Matthew Miller] <
https://fedoraproject.org/wiki/User:Mattdm>
4 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.
[Edition] <
https://fedoraproject.org/wiki/Changes/RestoreCloudEdition>
[Project Atomic] <
https://projectatomic.io/>
4.1 Meeting Times
~~~~~~~~~~~~~~~~~
Bi-Weekly, every other Thursday at 14:00 UTC
Footnotes
_________
[1] <
https://lwn.net/Articles/821158/n>
--
David Duncan | He/Him
Partner Solutions Architect, Linux