Hey everyone,
While mowing the yard last weekend, something came to mind about Fedora on clouds. We spend a lot of time thinking about getting Fedora onto more clouds and making it more interoperable with cloud APIs. Increasing Fedora's usage by making it available in more clouds seems like a worthwhile goal.
However, I wonder why people choose to use Fedora versus an alternative when they deploy in public clouds. These questions came to mind:
* Is there something lacking in the Fedora experience? * Is Fedora more difficult to use or does it have limitations that frustrate users? * Are we missing docs and blog posts that help users deploy their favorite applications on Fedora?
I'll admit that I bounce between regular Fedora and Fedora CoreOS in my own deployments. A lot of that depends on what I plan to run there. If I'm running containerized applications, CoreOS gets me up and running quickly. If I need to do some development or run something a bit more complex, I usually reach for Fedora Cloud.
I would love to hear thoughts from others on this topic about how we can improve the end-user experience for Fedora in public clouds of all sizes.
-- Major Hayden
While mowing the yard last weekend, something came to mind about Fedora on clouds. We spend a lot of time thinking about getting Fedora onto more clouds and making it more interoperable with cloud APIs. Increasing Fedora's usage by making it available in more clouds seems like a worthwhile goal.
This is a great path for your thoughts and I am so grateful that you _do_ think in this direction when you are really relaxed into a routine.
However, I wonder why people choose to use Fedora versus an alternative when they deploy in public clouds. These questions came to mind:
- Is there something lacking in the Fedora experience?
- Is Fedora more difficult to use or does it have limitations that frustrate users?
- Are we missing docs and blog posts that help users deploy their favorite applications on
Fedora?
I'll admit that I bounce between regular Fedora and Fedora CoreOS in my own deployments. A lot of that depends on what I plan to run there. If I'm running containerized applications, CoreOS gets me up and running quickly. If I need to do some development or run something a bit more complex, I usually reach for Fedora Cloud.
I think that's great. They are both incredibly beneficial, but one doesn't answer all of my problems. Like you, I feel incredibly comfortable using both FCOS and Fedora Cloud Editions.
I would love to hear thoughts from others on this topic about how we can improve the end-user experience for Fedora in public clouds of all sizes.
There are a lot of variations in workloads, but one of the things that I run into for user workloads is an ability to predict how they are going to use the tools they have been using previously in the context of their old process and still deliver big engineering goals.
One of the things that makes me excited is building supported models for specific tasks. It's how I built out support for configurations including Nice-DCV on AWS which ultimately became the proof of concept that cemented process for Amazon EC2 Accelerated Instances on RHEL Workstation. CoreOS wasn't going to make it through the commercial partner application security team review for the organization that I needed for a hand off to the engineering team. It was the shortest path to complete the concept work and helps me to build out the next generation support efforts.
Another thing that I enjoy working with the cloud images for is the consistency with the Workstation experience from the perspective of the filesystem. Bringing btrfs onto the cloud image could not happen without strong community control, but it delivers a lot of flexibility in the configurations and a significantly different experience to the image in terms of experimental configurations. It allows me to build, store, and restore in ways that I could not do with a single experimental instance before. That is super helpful building out new solutions too.
Also, adding packages into the cloud-sig, so that we are working on an ecosystem for the support model excites me. I don't care if they are beneficial for only CoreOS or everywhere. I like the idea that we are building towares a shared core of utilities that supports management of cloud resources and related configurations. Being able to support the ecosystem is most important for me as a member of the team.
I think that everyone should be focused on application modernization, but not every problem is going to call for a new solution. When I reach for the tool to get what I want, I stick to the old adage I learned from my mentor Wayne Walker a long time ago, which is this: "The right tool for the job is the tool that gets the job done while I still have a job!" Sometimes, that's means I pull from what I know will work and that can be different in different situations or it can be, like I mentioned above, to satisfy external requirements that are not in my control while I still handle the task at hand.
Dne 15. 05. 23 v 16:28 Major Hayden napsal(a):
- Is there something lacking in the Fedora experience?
I was recently forced to migrate my personal server from on-premise to cloud and I tried several small EU VPS providers. The Fedora was not available there. Sometimes CentOS 7, rarely 8. Only Debian or Ubuntu.
- Are we missing docs and blog posts that help users deploy their favorite applications on Fedora?
More documentation and examples please.
This
https://cloudinit.readthedocs.io/en/latest/howto/index.html
is better than I remember, but I know cloudinit can do more.
I would love to hear thoughts from others on this topic about how we can improve the end-user experience for Fedora in public clouds of all sizes.
I spin-up VM, do the job and terminate it. While the cloudinit speed improved a lot, I wonder why it is so serialized. Can it be turned to bunch of systemd services and run in paralell? Oh, wait. It is already bunch of systemd services. Nice. But still, cloudinit takes about 10+ seconds. I think there is still place for improvements. E.g. DataSourceEc2Local runs for 6 seconds on my machine.
Miroslav
Very helpful for testing and development. Can setup a clean, sometimes relatively powerful environment with fast downloads from caches then take it down once done.
On 5/16/23 08:48, Miroslav Suchý wrote:
Dne 15. 05. 23 v 16:28 Major Hayden napsal(a):
- Is there something lacking in the Fedora experience?
I was recently forced to migrate my personal server from on-premise to cloud and I tried several small EU VPS providers. The Fedora was not available there. Sometimes CentOS 7, rarely 8. Only Debian or Ubuntu.
Making this easier would be great. CentOS stream is not popular for smaller providers. Rocky and have Alma gained traction there.
- Are we missing docs and blog posts that help users deploy their favorite applications on Fedora?
More documentation and examples please.
This would be helpful. Documentation would also help for deploying on smaller VPS providers. Increasing number of availability zones in AWS would be good as well, for example South Africa is missing. Alibaba and Oracle are other cloud providers for which it would be nice to have images. Happy to help with these.
This
I can add a bit on why people end up picking Amazon Linux, and where these reasons conflict with Fedora….
On May 15, 2023, at 10:29 AM, Major Hayden major@mhtx.net wrote:
While mowing the yard last weekend, something came to mind about Fedora on clouds. We spend a lot of time thinking about getting Fedora onto more clouds and making it more interoperable with cloud APIs. Increasing Fedora's usage by making it available in more clouds seems like a worthwhile goal.
One thing we ask ourselves when looking at possible changes to Amazon Linux (including the “base it on Fedora” one) is “How would this benefit our customers?”
It’s a good thing to think about - *why* do we want to increase Fedora usage if not for solving problems for those who end up using Fedora?
However, I wonder why people choose to use Fedora versus an alternative when they deploy in public clouds. These questions came to mind:
- Is there something lacking in the Fedora experience?
We do hear from a lot of Amazon Linux customers that the Long Term Support is important to them. This is, of course, something lacking in the Fedora experience. Perhaps it always should? It can be in direct conflict with the idea of being first, and is certainly a hefty investment.
For the Fedora experience on AWS, there are a few more AWS agents and SDKs packaged in Amazon Linux than Fedora. This is on us (AWS) to fix, and ensure that software we vend is easy to package for linux distributions and can thus easily get into the hands of all EC2 linux users. We over in the Amazon Linux space are quite motivated to make that happen as it means there’s lots of time for the teams working on the upstream software in these packages to ensure they adapt to the changes in the Free Software ecosystem that will make their way into a future AL version. So us, as users of Fedora to make a downstream Linux distribution, get incredible value from Fedora being First.
Other things we hear a lot of is a desire for a choice on language runtimes and major leaf packages. While everyone WISHES they could get rid of older python versions, older php, older MariaDB, PostgreSQL etc, having a choice and a grace period is seen as a feature. For some packages in Fedora, they get this already.
Launch times is another one. When customers in a cloud need to scale up, they want to launch new capacity FAST. There’s a few tricks we have in AL that should make their way upstream :)
There’s also the security footprint - which comes down to the minimal number of packages that are on a base image (AMI or container). Fedora packages do tend to enable a lot of options and functionality, and this makes the base package set fairly large. For AL2023 we were able to tweak (or add) a whole lot of bconds to help bring this down dramatically, and we were looking heavily at “what could we do to alter the default images so that customers would have fewer patching runs required”.
- Is Fedora more difficult to use or does it have limitations that frustrate users?
We have found that ease of use in a cloud isn’t exactly what you’d expect when thinking of ease of use for a more traditional server or desktop OS.
One thing we have ensured we started doing was releasing a new AMI for any security updates. A lot of customers just want to patch with instance replacement, and use the “there’s a new AMI available” as that trigger. It also means that container builds get kicked off, as the base layer changes. Running arbitrary “dnf update” on launch or in container recipes tends to lead to sadness.
Another one is information on what is fixed where, and having accurate and up to date security patching information. This is, of course, a lot of work.
- Are we missing docs and blog posts that help users deploy their favorite applications on Fedora?
One thing I’ve been thinking of as lacking is good guidance for ISVs packaging software. They may need to bundle dependencies and other such things, may even not be open source, but we still want them to be good citizens in the ecosystem and help there not be needless complications.