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>