In Ryan’s view, there are two different aspects to serverless. The first, he says, is “essentially a programming model which allows you to deal with event-driven architectures and event-driven applications. What we actually mean is there's an awful lot of small events that are generating things that give you an ability to deal with each thing individually in terms of very small functions.”

For example, uploading a file to a particular location could trigger actions such as transcoding the file into different formats.

From the developer perspective, serverless is also about abstraction. Ryan describes it as “abstracting away the underlying infrastructure from people. They can focus exclusively on developing the business logic that they need rather than having to think about how to scale out architectures, etc.”

Ryan notes that this is part of a trend toward helping a broader class of users develop applications. “Citizen developers” is a term that is sometimes used for this group of non-traditional developers. Ryan doesn’t think that they “quite fit into using these technologies [serverless] as of yet, but they may become consumers of them. We're definitely seeing that kind of shift.” He observes that there’s a clear trend, however: “The amount of Python usage that we're seeing in the data science communities and people coming out of, say, even social science degrees. It's completely different to where we were a number of years ago.”

Public cloud serverless offerings like Amazon Web Services Lambda or Microsoft Azure Functions also differ from more traditional approaches with respect to pricing. Typically, you pay for a virtual machine or a container based on how long they run. In contrast, serverless pricing (at least the compute part of the workloads) tends to be per-event. However, Ryan cautions against placing too much emphasis on pricing: “[In] the conversations we have, we very rarely come across people that are considering services solely on a cost perspective. It is definitely a consideration, but it's not the biggest consideration. That velocity thing is what they're really, really interested in.”

Ryan says that it is useful to think about the serverless space as consisting of two areas: platforms and frameworks.

“In the platform area, we're seeing an explosion of different implementations of serverless at the moment that will run on premises,” he notes. “It's all coalescing and running on top of Kubernetes, which is quite an interesting shift versus where we were even a year ago.” Among the many open source projects in this area, many of them early-stage, he identifies Apache’s OpenWhisk as having a lot of momentum, with companies including Red Hat and IBM participating.

Application portability is one specific aspect of using Kubernetes that Ryan highlighted. “That's one of the things from developers and from businesses' perspective that is really, really interesting,” he says. “...if I can use this framework with any Kubernetes implementation that's out there. Then I can shift my serverless applications around the place. That becomes an interesting dynamic in terms of how you approach and how you make your technology decisions.”

As for frameworks, he identifies projects like the Serverless Framework as taking away “all of the complexities from setting up when using serverless. It is relatively opinionated about how it sets things up. That lets you get on with actually developing the application.” He adds that there are many additional frameworks, but the majority are tied to a single language and underlying cloud provider platform and aren’t really intended to be general-purpose.

Does serverless replace containers, as some argue? From Ryan’s perspective, that’s too simplistic a view of real-world IT environments which are almost always highly heterogeneous. He told me: “One of the things that we tend to see with every technology wave, we tend to see a bit of an over-rotation from it. Everybody goes, ‘Everything's going to be a container. Everybody's going to be serverless, etc.’ Whenever anybody says that to me, I always point out, ‘Well, IBM just had a huge quarter on the basis of selling mainframes.’ Things don't go away. There's a long tale of technology inside an enterprise that's absolutely huge. That's not going to disappear because a new technology's emerging.”

Ryan also points out that applications differ in their requirements. “There’s the set of applications that are suitable for serverless versus a set of applications that are suitable for other areas, for other types of approaches.” For example, consider how long a process needs to run. “There [are] questions of things like, ‘OK, do I need special types of affinity to locations and that kind of stuff?’ That's not guaranteed with serverless. It is guaranteed with where I can do positioning, with an orchestrator [such as Kubernetes].”

Ryan concluded by observing, “There's a whole bunch of these considerations that are there. To sum it up, there's basically a spectrum of containers in serverless. They're going to fill a very, very big chunk of it together. We'll see a lot of people combining them together and using different areas for different parts of the application.”

Topics

About the author

Gordon Haff - Gordon Haff is Red Hat technology evangelist, is a frequent and highly acclaimed speaker at customer and industry events, and helps develop strategy across Red Hat’s full portfolio of cloud solutions. He is the co-author of Pots and Vats to Computers and Apps: How Software Learned to Package Itself in addition to numerous other publications. Prior to Red Hat, Gordon wrote hundreds of research notes, was frequently quoted in publications like The New York Times on a wide range of IT topics, and...

Footer

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat.

Opensource.com aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. Red Hat and the Red Hat logo are trademarks of Red Hat, Inc., registered in the United States and other countries.