Software never really changes. We just give it fancier names and improve our ability to deliver it. Things like serverless and containers are all the rage these days, but in many ways they’re simply new faces for decades-old software concepts. Way back in the 1960s, JCR Licklider proposed an “intergalactic computer network” that would allow anyone to run programs over a network of computers. Later we had mainframes, grid computing, and more, all of which smell a lot like today’s cloud computing.

One key difference, however, is speed–a difference driven by getting away from enterprise IT altogether. That “API-driven speed of deployment,” as cloud guru Adrian Cockcroft puts it, explains why enterprises are rushing to move compute, storage, and networking to the cloud, following the lead of their developers. Intriguingly, those same developers are now aggressively moving into the next iteration of IaaS–serverless–as they seek a nirvanic time when infrastructure doesn’t matter.

Data gravity hurts then helps the cloud

Look back at early instantiations of “cloud computing,” and each was driven by enterprise IT. While that may not sound like a bad thing, it was. Developers are driven by technologies that make them more productive, that are convenient. So long as a developer needs to get sign-off from her IT overlords, it simply doesn’t matter that something like a mainframe or server farm delivers performance, usage-based metering, and a certain degree of flexibility. Not if it’s tethered to someone that can say “no.”

If this sounds like a familiar pattern for developers, that’s because it is. Open source also owes its early impetus to developers’ desire to leave the bureaucratic mess of enterprise IT behind, one download at a time. Open source, then, is to software as cloud computing is to hardware: Both freed developers from IT.

SEE: Cloud migration decision tool (Tech Pro Research)

Even so, for a time developers could only push so much to the cloud, given performance and other issues. With enough experience successfully running test and dev instances in the cloud, however, they increasingly moved non-mission critical workloads to the cloud, and eventually mission critical applications, too. In so doing, the “data gravity” that once kept them tied to data centers has pulled developers, along with the enterprises that employ them, to the public cloud.

This concept of data gravity was perhaps best expressed by Dave McCrory: “As data accumulates (builds mass) there is a greater likelihood that additional services and applications will be attracted to this data.” Such data gravity derives from “latency and throughput, which act as the accelerators in continuing a stronger and stronger reliance or pull on each other,” he noted.

If compute sits in the cloud, it makes sense to run networking there, too, as well as hold storage there. As more businesses have moved online, it has become critical to run compute, storage, and networking there.

That is, so long as APIs are available to access those cloud services.

Brother, can you spare an API?

Though “API-driven speed of deployment makes IaaS attractive” to developers, Rishidot analyst Krish Subramanian asserts, the cloud isn’t merely a matter of APIs. It’s really about API-driven, on-demand deployment. As he notes, the “on-demand factor made public clouds more attractive than APIs slapped in front of virtualized environments.” The latter were controlled by IT; the former is only controlled by a developer’s credit card limit.

Those same cloud vendors have now amped up competition, taking the on-demand nature of the cloud to a higher order of abstraction, called serverless. Serverless takes IaaS–compute, storage, and networking “primitives” (to borrow Brian Leroux’s terminology)–to the next phase, a phase when such primitives stop mattering. Originally, developers wanted the familiarity of such primitives to make the shift from enterprise data centers to public clouds easier to understand, and more closely aligned with how they were used to building applications.

As developers have bedded into the cloud, they’re now ready to let the clouds glue these primitives together. All the developer wants to bother with is their business logic, leaving how that logic gets executed completely in the hands of the cloud vendor. It’s infrastructure-as-a-service taken to its logical conclusion, where infrastructure has never mattered more, yet is also completely invisible to the developers who depend upon it.

The move to IaaS was driven by developer productivity. That’s the same thing pushing enterprises into serverless. The more time a developer can focus on building her application, rather than messing with infrastructure (or waiting on IT to mess with infrastructure), the more productive she’ll be. Early versions of cloud computing focused on IT and so missed the point. Enterprises needn’t optimize for IT, they need to optimize for developers.