On Mi, Dez 16, 2020 at 23:01, Peter Boy <pboy(a)uni-bremen.de> wrote:
The current PRD is from 2014. Urgently needs to be revised along the
following general objectives:
- We want the target audience and server edition goals to keep up to
date as the computing world changes
- But there are also big changes in how servers are used and
deployed. Fedora should be at the forefront.
This leads to at least 4 questions:
- What are the high level goals?
- What is our *market*?
- how server relate to curent developments, coreos cloud, etc.?
- merging in the Cloud Base image so it's basically just an alternate
deploy of server?
Hi y'all,
thank you for the opportunity to attend to the meeting yesterday.
There was a lot of impressions and ideas, which left me a bit puzzled
in the end. Below I have tried to address
my questions and to address the questions. Please keep in mind, that
this is my very personal view. Leaving my
background at Ansible aside, I have no knowledge of earlier decisions,
discussions or processes. I would appreciate
feedback, critiques, questions and a lot of patience on your side :)
Hopefully I will be helpful at some point in time.
Thanks a lot in advance for your time.
---------------------------------------------
# 1) My questions
- Is there a general difference between SIG Server and Server WG?
- Is there some general scope of both and overlaps to other SIGs and
WGs?
---------------------------------------------
# 2) My view on the above questions
## High Level goals
For me, it is quite hard to define high level goals. But maybe I can
provide my intention,
why I started to use Fedora as a Server distribution.
I am a IT/Dev/Ops/DevOps Consultant working mostly for companies, that
are having the below issues:
- developers require new software (php, node, ruby, java, name-it)
- operators need to maintain 2-3 hardware vendors, 2-3 major versions
of OS, 2-3 different OS types
- business has several demands to developers and operators
(yesterday!!!11)
The bottleneck very often was a situation of "we need to maintain A, B
is running only on C, D is to old for E,
F is so old - nobody wants to touch it, G takes ages, because somebody
needs to backport H. Other issues
are often something coming from Security and Audits, which require:
Audit Tools, Log Monitoring, regular
Patches, Firewall, SELinux/Apparmor, Hardening for X, etc.
Many of these problems were solvable with Fedora as a plattform
and/or/optional RHEL'ish ecosystem.
- many security tools out of the box (usbguard, SELinux, firewalld,
auditd, aide, etc.)
- kernel is very new and therefore supports tons of hardware
- software is very new and supports tons of developer demand
- additional software like cockpit, pcp, tuned, etc. is very handy for
small to larger environments
(nobody wants to use cockpit to manage 100s of servers, but providing a
UI for devs/unexperienced ops/hosting customers is quite nice)
- fedora-minimal is quite nice container base to build upon
- the awareness of EOL and mitigation plans are immediatly a thing, if
the lifetime is 13 month only
- the awareness of single instance SLA is a thing, if you should patch
at least every 90 days AND reboot
- developers are able to use the same tools on their
notebook/workstation they can use on the servers/images
"But there is this 10 year old ERP/CRM/Connector, that nobody wants to
touch."
- Why touching it then?
- Is it worth the effort?
- What does it cost to migrate to a new OS compared to migrate to a new
ERP?
- If nothing fits, RHEL/CentOS is basically the same ecosystem and will
run for 10 years support.
## Market
I can see at least the following personas (all of them is me to some
degree) using Fedora Server:
### The Tinkerer
I have a raspberry/intel nuc/etc. and playing a bit with new stuff. I
need a lot of "cool" packages. Newest
nodejs, php8, GPIO support, build tools, containers, vms, name-it. Give
me all of this, in BETA please.
I want the newest shit and I want to break it.
### The Home Admin
I need a somewhat stable machine, with a graphical interface (cockpit)
and just want to start a couple of containers and/or VMs
to have nextcloud running on it. I need some gitea here, some gitlab
there, some jenkins, some photoprism, minecraft, etc. Can I
build a NAS easily? I am ok with updates and reboots over night, but it
should work. It would be awesome to have mDNS and a Web UI.
### The Developer
I need to have a plattform, that feels like my workstation. I want to
build containers, start them, test them and push them. If I can
have nodejs, ruby, php in a decently current version, that would be
awesome. I am ok pulling stuff from "the interwebs", as long as
it works and does not bother me too much with: "This container will not
run on RHEL, because it requires X or Y." Yesterday I read
something about "remote podman", can I use it? Why isn't podman dnsname
plugin working on the servers, but on my Fedora
Workstation? What does the admin mean with "prepare the image for
virtualization/cloning/templating"?
### The Operator
I want to have a reliable plattform for virtualization, core services
and container. It should be out of my way, so I can focus on
scaling, monitoring, implementation. I want to automate configurations
for hostname, timeserver, hardening, etc. In addition I want
to deploy typical services like mariadb, httpd, nginx, redis, nodejs,
java, etc. in a reproducible way. To see what the machines are doing,
I need a well documented way to manage, monitor and backup them. My
Security Team also wants me to disable unneeded services,
disable legacy protocols, enable hardening on several levels.
### The "Let's make a distribution" / "Let's build upon it"
I love how Fedora works and I want to create something upon it. My new
distro will feature all the cool fedora things and I want to add
some software on top of it. I need a very well documented build process
and maybe tools to produce new install images and packages.
Removing the branding should be possible with some compiler flags or
variables, so I don't need to mess with the code itself.
This will allow me to build my new distribution which will be the
perfect:
- NAS
- CloudStorage
- media server
- gaming server
- home server
- SOHO distribution
- etc.
## Relation to cloud, coreos, etc.
I am not very deeply involved in these projects. But some examples are
coming to my mind.
For example, the IoT Edition features 2 tools
(greenboot and zezere), which may be a nice addition for smaller
environments or edge computing. Both tools are currently meant for IoT
only, but can be easily adopted. Zezere for example can be used to add
SSH Keys (or else) to remote edge servers and greenboot is capable
to trigger scripts if something goes wrong.
For the cloud/coreos approach, there is even more stuff in both
ecosystems. podman, docker and kubernetes are a thing that are present
on both platforms. Ignition on the other hand shares some of the
capabilities of kickstart (at least from a user perspective). I am not
sure
why 2 different deployment approaches, that basically do the same
(preconfigure a system) should co-exist on the long run. To be honest
coreOS in its current state lacks some features, that I personally love
and even Fedora IoT or Silverblue feel more "mature". For example
installing cockpit on Fedora IoT is basically the same as in fedora
server. The cockpit deployment on coreos does not work the way it is
documented and the IoT way does not work either. CoreOS (at least for
now) seems somewhat out of place.
Supporting each other to have a coherent experience, where everything
"feels" well known would be the only correct step from my perspective.
---
### Contact
daniel(a)while-true-do.io
while-true-do.io
### Web
style-cheat.io
while-true-do.io
### Code
github.com/while-true-do/
github.com/style-cheat/
github.com/kudos-txt/
github.cim/daniel-wtd/
### Social
twitter.com/daniel_wtd
reddit.com/u/daniel-wtd
daniel-wtd @freenode
### Disclaimer
If not stated otherwise all of my work is licensed under a Creative
Commons Attribution 4.0 International License
(
https://creativecommons.org/licenses/by/4.0/).