From owner-freebsd-hackers@freebsd.org Thu Jan 3 22:51:50 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2EF4C143A443 for ; Thu, 3 Jan 2019 22:51:50 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lj1-f175.google.com (mail-lj1-f175.google.com [209.85.208.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 544646D580 for ; Thu, 3 Jan 2019 22:51:49 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lj1-f175.google.com with SMTP id n18-v6so31029794lji.7 for ; Thu, 03 Jan 2019 14:51:49 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=1GTJeCyNwwwYm/daiG45rJaXVTfojsruQ+CIZdgzIp8=; b=nu6apVYz7unmVbpUt8rS1PngTiPpiUBdPHbUrACxGLU/yIjpLtjboXxL1U/iuoVjnQ 4yT6NyTXKNoyOhgtl7k0g52BKSi6gMvrSUsVAaoq8vKJMsaEgzk6XUfVeZ0/9GpVKHz1 bccpxypzs70C8BHVL1aucsbMd3/LRmsb2L3oi1St1c/LOTNdqXyJfvWSGw3b3brrWTas BjAtLhiAVh4iA5ogWCKjt5WSscO35GeoWPTBxCNitej7cLejMS11xNHLzbl1DrbZ+MnF S1XT0MB7C06PacN6raRDt4BpEfAKaRDvYxd+Q/BPuTM+XgnxpECZAwcdLP3e60NQbzs2 3YSQ== X-Gm-Message-State: AJcUukc6U3rmwY87XQI9VxsmvVDVhScyw3mZxFMwoDDVxilD79Ty3UFm HAW6Xql45nlRXHHcTk5S5Zf7rGVJ+b32XoHyzpk= X-Google-Smtp-Source: ALg8bN4YZ7jGDdYXgKCwAXIw+/yZCEYEHSSfxy4Hh1vUQGA4N8/i7gCmzTGh9kctB7BgqyEe9U+3GjsL7l8XmseNbdg= X-Received: by 2002:a2e:45d:: with SMTP id 90-v6mr27823092lje.110.1546555901526; Thu, 03 Jan 2019 14:51:41 -0800 (PST) MIME-Version: 1.0 References: <201901032228.x03MSxkq087945@slippy.cwsent.com> In-Reply-To: <201901032228.x03MSxkq087945@slippy.cwsent.com> From: Alan Somers Date: Thu, 3 Jan 2019 15:51:29 -0700 Message-ID: Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) To: Cy Schubert Cc: Wojciech Puchar , Hackers freeBSD , Igor Mozolevsky , Enji Cooper Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 544646D580 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.208.175 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-4.07 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.998,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; RCPT_COUNT_FIVE(0.00)[5]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[175.208.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.97)[-0.968,0]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.77), asn: 15169(-1.64), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 22:51:50 -0000 On Thu, Jan 3, 2019 at 3:29 PM Cy Schubert wrot= e: > > In message , Wojciech > Puchar wr > ites: > > >> That's precisely how ideas that most people disagree with get *pushe= d* > > >> 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. > > > > > > And this is why one reason people say =C3=A2=E2=82=AC=C5=93FreeBSD is= dying=C3=A2=E2=82=AC . > > > > > dying for whom? > > Not to answer this question but to think strategically: > > 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. > > 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. > > 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. > > 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. > > This IMO would position FreeBSD for the future. > > Maybe go and Kubernetes? Let's not be left behind. > > > -- > Cheers, > Cy Schubert > FreeBSD UNIX: Web: http://www.FreeBSD.org > > The need of the many outweighs the greed of the few. FreeBSD support in Kubernetes would be great, but I don't think there's any reason to put it into base. 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. 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. 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. -Alan