[Phil] Enterprise Guix Hosting?

4 views
Skip to first unread message

Munyoki Kilyungi

unread,
Aug 24, 2022, 5:08:19 AM8/24/22
to Nairobi GNU/Linux User Group, ja...@rogena.me, John Nduli, Benson Muite

Some interesting remarks on Guix's usability to
new users. Also, sorry I haven't been able to
push some scripts to ubunifu - life happened :(.
But I'll do so soon \m/\m/.

PS: I noticed that googlegroups snips forwarded
messages and I don't have the bandwidth to figure
that out - so this is best read from your
favourite MUA.

-------------------- Start of forwarded message --------------------
Date: Wed, 24 Aug 2022 12:04:59 +0300
From: Phil <ph...@beadling.co.uk>
Subject: Enterprise Guix Hosting?

Topics:
Re: Enterprise Guix Hosting?
Re: Enterprise Guix Hosting?


----------------------------------------------------------------------

Date: Sun, 14 Aug 2022 10:53:37 +0100
From: Phil <ph...@beadling.co.uk>
To: Ludovic =?utf-8?Q?Court=C3=A8s?= <lu...@gnu.org>
Cc: Benjamin Slade <beo...@gmail.com>, Yasuaki Kudo <ya...@yasuaki.com>,
Olivier Dion <olivie...@polymtl.ca>, help...@gnu.org
Subject: Re: Enterprise Guix Hosting?
Message-ID: <8735dzq...@beadling.co.uk>
References: <87edy2a...@beadling.co.uk>
<961019EF-219A-4DAE...@yasuaki.com>
<0c1f853a-f613-4ad2...@gmail.com>
<87bkt5a...@beadling.co.uk> <875yj14...@gnu.org>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0

Hi Ludo,

Comments inline. I'm also aiming to be at the Guix 10 Year thing in
Paris - sadly only for the Friday, so happy to discuss this informally
there too!

Ludovic Court=C3=A8s writes:

> Hi Phil,
>
> Phil <ph...@beadling.co.uk> skribis:
>
>
> From your experience, would you say that persuading was hard primarily
> because Guix was unknown (to them), or because getting started is
> difficult?

It's a bit of both, in the commercial space there are some mundane
practical concerns. One example would be when 2 companies security
audit each other before using each other's services. If you're using a
prebuilt image of a well known OS, served by AWS or Azure, then the
reality is that this is often easier for a security team to tick this off as
a known platform - for no other reason than they've seen it before.
Auditing Guix isn't impossible but it can lead to more questions, simply
because of lack of familiarity. This can be somewhat mitigated by using
Guix as just a package manager on top of a foreign distro, but this
doesn't fully harness the potential of Guix, so it's a trade-off.

Internally speaking the lack of familiarity wasn't as much of a barrier.
Python is the main language where I work, so I sold it as a better version
of Virtual Environments - which work for all languages not just Python.
There was an significant initial effort from me and my team to convert
all the current venvs to Guix packages and integrate it with the various
Runtimes and IDEs we use, but once we'd done this, people were largely
happy to transition. I did have to do some tutorials and write a bit of
documentation that meant people could start using Guix without really
getting into the details of what Guix is doing. My argument to most
developers was, "you don't really know all the details of how virtual
environments work, so why do you care about Guix's internals?". Most
happily accepted this argument, providing you give them good docs on how
to use Guix in the workplace.

Whilst I like Guix's own documentation, some developers did feedback to
me that it was to complex for people who just wanted to get-on and use
Guix, rather than setup, understand and maintain Guix. So this is the
area I ended-up documenting - "Guix Up-and-running for Python
Developers". One day I'd like to publish it properly, but it's very much
a WIP at the moment!

One advantage I did have is that I rewrote the CI/CD system
to work around Guix, and the old system was showing it's age, so people
were happy to trade Python venvs, for a better build and deployment experie=
nce.

We now have 5 developers working at least part of the time writing
Guix packages, or tweaking small bits of the Guix core code (I keep
meaning to make more of an effort to get our efforts back into Guix
proper!). As more developers slowly try-out more advanced stuff in Guix
this number is growing, and most developers that invest the time end up
liking Guix - so I think there's plenty of hope to grow it further!

>
> Personally I think we need to make Guix approachable to a wide audience,
> meaning not just developers=E2=80=94that goes beyond your target audience=
, let=E2=80=99s
> be ambitious! I=E2=80=99d like to think that =E2=80=98guix install=E2=80=
=99, =E2=80=98guix shell=E2=80=99, and
> the likes have a rather low barrier to entry to someone who=E2=80=99s use=
the
> command line before, but I=E2=80=99ve also seen newcomers confused because
> =E2=80=9Cenvironment variables are hard=E2=80=9D and get in the way.

Yep I do review how Guix is being used at work, and occasionally do find
people using it in weird and wonderful ways. All I do is build up my
documentation so we have a cookbook like format which covers recommended
ways for developers to do things, and things for them to avoid doing too!

Environment variables can be a common one, when people fiddle with their
PYTHONPATH in their code, or .bashrc, and this can have knock-on issues
with Guix. Best practice documentation helps with this.

>
> Are there any takeaways from your experience in terms of UX/UI
> improvements we could work on?

3 things which lowers the barrier to entry in my experience commercially
would be:

- Push button WSL support (I know this has some momentum eg
https://lists.gnu.org/archive/html/guix-patches/2022-08/msg00945.html).
At the moment I tend to use a custom image I made which is just WSL on
top of Ubuntu. I have made it work with busybox, but it's not yet
robust enough to wheel out over the enterprise like this.
- Perhaps a set of videos aimed directly at converting a vanilla Python
environment into one running in Guix. Try to entice the communities
off their current tooling by making it as easy as possible to switch.
I even went as far as writing a requirements file to guix package
converter at work to help with this.
- Excellent Javascript support would help. I'm aware of some of the
difficulties this presents Guix, and am not a fan of npm, etc - but
it's so often used by developers I think not having support for it is
always going to be tricky to sell to a wider audience.

>
> Thanks,
> Ludo=E2=80=99.




------------------------------

Date: Tue, 09 Aug 2022 22:37:10 +0200
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <lu...@gnu.org>
To: Phil <ph...@beadling.co.uk>
Cc: Benjamin Slade <beo...@gmail.com>, Yasuaki Kudo <ya...@yasuaki.com>,
Olivier Dion <olivie...@polymtl.ca>, help...@gnu.org
Subject: Re: Enterprise Guix Hosting?
Message-ID: <875yj14...@gnu.org>
References: <87edy2a...@beadling.co.uk>
<961019EF-219A-4DAE...@yasuaki.com>
<0c1f853a-f613-4ad2...@gmail.com>
<87bkt5a...@beadling.co.uk>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0

Hi Phil,

Phil <ph...@beadling.co.uk> skribis:

> My own experience is that whilst it doesn't require a PhD to setup Guix
> for the enterprise, it is a non-trivial journey, and it does require
> a fair amount of time and effort to create something that regular
> developers/scientists (i.e. non-Guix converts who just want to get on wit=
h their
> day-jobs) accept is as good or better than regular tooling they are used
> to. There's certainly a barrier to entry for people who don't want to
> do a deep-dive and just want tooling to support them in their professional
> role, without them having to think about it too much.
>
> Upselling the real benefits of Guix like rollbacks, profiles, perfectly
> reproducable builds, swapping one dependency for another - even in a
> scientific/tech-savvy company with lots of PhDs took a bit of persuading
> from me. Even now I think our company is only using perhaps 30% of the
> true power of Guix. Making all that power accessible to people who just
> want to get on with their jobs in an easy, intuitive way is a challenge
> I'm continuously trying to address. I also hope things like PantherX
> might help bridge the gap in the near future!=20

From your experience, would you say that persuading was hard primarily
because Guix was unknown (to them), or because getting started is
difficult?

Personally I think we need to make Guix approachable to a wide audience,
meaning not just developers=E2=80=94that goes beyond your target audience, =
let=E2=80=99s
be ambitious! I=E2=80=99d like to think that =E2=80=98guix install=E2=80=
=99, =E2=80=98guix shell=E2=80=99, and
the likes have a rather low barrier to entry to someone who=E2=80=99s use t=
he
command line before, but I=E2=80=99ve also seen newcomers confused because
=E2=80=9Cenvironment variables are hard=E2=80=9D and get in the way.

Are there any takeaways from your experience in terms of UX/UI
improvements we could work on?

Thanks,
Ludo=E2=80=99.



------------------------------

End of forwardR8ffr0 Digest
***************************

-------------------- End of forwarded message --------------------


--
(To agree without understanding is inane.
To disagree without understanding is impudent.)
(D4F09EB110177E03C28E2FE1F5BBAE1E0392253F
(hkp://keys.openpgp.org))
signature.asc

Benson Muite

unread,
Aug 27, 2022, 10:22:10 AM8/27/22
to Nairobi GNU/Linux User Group
Explanation as a virtual env/conda replacement that will work with a
variety of languages is nice.
Reply all
Reply to author
Forward
0 new messages