Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Jan 2019 10:52:50 -0800
From:      Enji Cooper <yaneurabeya@gmail.com>
To:        Alan Somers <asomers@freebsd.org>
Cc:        Cy Schubert <Cy.Schubert@cschubert.com>, Wojciech Puchar <wojtek@puchar.net>, Hackers freeBSD <freebsd-hackers@freebsd.org>, Igor Mozolevsky <igor@hybrid-lab.co.uk>
Subject:   Re: Strategic Thinking (was: Re: Speculative: Rust for base system components)
Message-ID:  <F4A2607D-BB3E-4D00-B8D9-C633DB7C0102@gmail.com>
In-Reply-To: <CAOtMX2jdDSUwtifm=a_nqJWg_5yCOoe4BYGmO4QkbysRZ8UCrg@mail.gmail.com>
References:  <wojtek@puchar.net> <alpine.BSF.2.20.1901032030260.40635@puchar.net> <201901032228.x03MSxkq087945@slippy.cwsent.com> <CAOtMX2jdDSUwtifm=a_nqJWg_5yCOoe4BYGmO4QkbysRZ8UCrg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> On Jan 3, 2019, at 14:51, Alan Somers <asomers@freebsd.org> wrote:
>=20
>> On Thu, Jan 3, 2019 at 3:29 PM Cy Schubert <Cy.Schubert@cschubert.com> wr=
ote:
>>=20
>> In message <alpine.BSF.2.20.1901032030260.40635@puchar.net>, Wojciech
>> Puchar wr
>> ites:
>>>>> That's precisely how ideas that most people disagree with get *pushed*=

>>>>> through by evangelists with confirmation bias! Like someone said
>>>>> earlier in the discussion: does Rust add anything? The answer is a
>>>>> resounding NO, save for bloat.
>>>>=20
>>>> And this is why one reason people say =C3=A2=E2=82=AC=C5=93FreeBSD is d=
ying=C3=A2=E2=82=AC .
>>>>=20
>>> dying for whom?
>>=20
>> Not to answer this question but to think strategically:
>>=20
>> I come from the corporate/government environment, having spent most of
>> my time there. Large datacentres (Canadian spelling), large machines,
>> large networks of machines, large networks. In this environment, today,
>> virtualization in all forms are the platforms of business. Migrations
>> from physical platforms running AIX, Solaris and Linux to either Linux
>> on VMware or Linux containers is where they are putting 100% of their
>> effort. The language of choice is mostly Java. Much of the Java is
>> canned too. What used to be implemented on LAMP stacks is now being
>> implemented using microservices. The platform of choice for
>> microservices is Linux. Stripped down Linux primarily capable of
>> supporting microservices. And now at $JOB we're talking about running
>> microservices on Linux VMs -- virtualization on virtualization, on a
>> virtual network (NSX). My customers are working on microservices and
>> containers that can be migrated from their private cloud to the public
>> cloud and back again easily.
>>=20
>> Even Microsoft is working on a container strategy. The future is
>> containers. The desktop platform isn't nearly as important any more.
>> And, the physical server, its location, what it runs on and who runs it
>> are also less important. What is important is the speed and cost
>> effectiveness of standing up applications.
>>=20
>> IMO we have strengths that can immediately be capitalized on, like the
>> Linuxulator. If anything could be in base it might be go, the language
>> Kubernetes is written in -- don't get me wrong, I'm not advocating
>> importing go into base. Having said that, transforming FreeBSD into a
>> PaaS platform, tying it all together using Kubernetes would position
>> FreeBSD for the future to come. Maybe I'm talking myself into go and
>> Kubernetes in base but maybe this could just as easily be done in ports.
>>=20
>> Think about this: Kubernetes in base or ports, using the Linuxulator
>> and jails (or an implementation of cgroups and namespaces constructs in
>> addition to jails). Bhyve and jails provide the enterprise with other
>> virtualization options such that a FreeBSD host could host Linux or
>> FreeBSD containers, Windows or other VMs, and FreeBSD jails, all on one
>> or a cluster of FreeBSD hosts, possibly part of a heterogeneous cluster.
>>=20
>> This IMO would position FreeBSD for the future.
>>=20
>> Maybe go and Kubernetes? Let's not be left behind.
>>=20
>>=20
>> --
>> Cheers,
>> Cy Schubert <Cy.Schubert@cschubert.com>
>> FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  http://www.FreeBSD.org
>>=20
>>        The need of the many outweighs the greed of the few.
>=20
> FreeBSD support in Kubernetes would be great, but I don't think
> there's any reason to put it into base.

+1. Kubernetes should remain as a port, given the development process that Fa=
cebook and Google use being out of step with the BSDs (backwards compatibili=
ty to the degree that BSD wants is generally a lower priority item).

> The interesting thing about
> Rust is that it's so good at low-level work.  As we discussed,
> Johannes Lundberg has written a device driver in Rust.  And Fabian
> Freyer is working on jail(3) and jail(8) replacements in Rust.  Enji
> is thinking about writing an rc(8) replacement in Rust.

Sidenote: not wanting to do an rc(8) replacement. More like a system monitor=
 of sorts, paralleling what devd does with device events and such.

> These are the
> kind of projects that make sense to do in base, apart from the
> language barrier.  Go, I think, would be just fine remaining in ports.
> If I were to pick any language other than Rust to add to the base
> system, it might be Lua.

Lua=E2=80=99s already in base =E2=80=94 the bootloader is being rewritten fr=
om forth to Lua.

> Though high level, its embeddable and nicely
> complements C and Rust.  That's why it's used internally in Kyua, and
> it even in the NetBSD kernel.

And Linux kernel for that matter, iirc. It=E2=80=99s a wonderful, stripped d=
own language. It=E2=80=99s just a bit awkward to write because its lexicogra=
phy/grammar matches pure mathematics as opposed to many other C-like languag=
es.

Thanks :),
-Enji=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F4A2607D-BB3E-4D00-B8D9-C633DB7C0102>