1. 14

  2. 2

    Rethinking these abstractions to be native to the new world let’s us start over and redefine the abstractions for what we need? Do we need IP addresses, CIDR blocks, and NATs, or can we focus on which services have access to what resources?… I’m excited for a world where a normal software developer doesn’t need to know about CIDR blocks

    I agree with the sentiment, I just think we already have had these thoughts encapsulated in something that is called Single System Image operating systems ( https://en.wikipedia.org/wiki/Single_system_image ).

    Resource discovery (networking), elasticity (scheduling), containers (processes?), etc – these are things that Operating Systems do. Business app level programmers, indeed, should not be worried about k8/nomad container managements, pining processes to machines with particular resources, or writing gobs of ‘instruction’ commands for a container management system on how to do that.

    It just seems that OS development sort of slowed down, to accommodate exploding hardware, and forgot a bit about the app-level programmer…. so we now have the hardware that’s much faster than in the 90s, but app level programmers have SQL, POSIX, Web browser.

    Then language developers, library developers stepped in to fill the gaps with ‘application level tools’. Hopefully, OSes advance to serve their original intent, managing the data center hardware (small or large) as a single compute resource, rather than shrinking into ‘light-weight VMs’.

    1. 2

      We take your code and run it in the cloud for you, while letting you retain the productivity of writing code locally.

      Aha, there we go.

      “Dev whose career is a bet on Cloud technologies espouses supremacy and inevitability of Cloud technologies.”

      If anything, I think we’re about to see a massive contraction in cloud usage over the next five years, due to political and economic factors.