Konstantin Sutyagin - Fotolia
Most industry experts agree that the big development in cloud computing last year was serverless. Instead of paying for persistent VM instances, serverless platforms enable users to pay only for the time their software is actually in use. For many applications that respond to on-demand, but unlikely, events, this can create a windfall. But for traditional, always-on applications, it can create huge risk.
So what can we expect from serverless cloud providers in 2018 to change that?
Two things seem clear about the progress of serverless computing in the coming year. First, because of its popularity, cloud providers will extend the serverless pricing model to a broader range of services. Second, because serverless applications are designed differently than other application types, cloud providers will encourage developers to address those differences in their software. In some cases, cloud providers' serverless initiatives will divide cleanly into one of these two categories, but, in many cases, providers will target both -- along with hybrid cloud.
Providers look to address serverless challenges
In serverless computing, an application is triggered by use, loads on a convenient resource that the cloud provider selects, and runs using whatever resources it needs. Providers charge for those resources only when they are in use.
The serverless cloud model is difficult to apply to traditional applications for two reasons:
- When an application is triggered on a serverless platform, its loading delay can be significant, which potentially impacts the user's quality of experience.
- Many applications' transactions are multi-step sequences, and these applications maintain the context, or state, of their transactions internally as data. If you were to spin up this kind of application between those transactional steps in a serverless environment, you will lose that data. This is called a "state problem."
To solve both issues, break applications into smaller components. These components are faster to load on-demand, and developers can more easily make them stateless. Expect serverless cloud providers this year to encourage this application component model.
Providers will also do more to add state or context to their serverless platforms. Microsoft has achieved this through what it calls Durable Functions, and Amazon has done the same with Step Functions. Both of these services add state to the essentially stateless lambda or functional computing model, which makes it easier to run traditional applications on a serverless platform.
Microsoft's Durable Functions model, which is based on orchestration, acts as a bridge between the true stateless serverless functions and traditional applications. Microsoft wants to enable users to build applications through drag-and-drop management of its Durable Functions. While there's currently no feature in Durable Functions that allows existing application components to seamlessly substitute for functions, writing Durable Functions -- or, in the case of AWS, Step Functions -- is an easier path to convert current applications to functional/stateless form. Expect more from Microsoft in this area in 2018.
Google's serverless offering is Cloud Functions, which is technically similar to the basic Amazon and Microsoft functional computing services. But, so far, Google has not offered anything to support state management in the way Microsoft Durable Functions and Amazon Step Functions do. We'll see if this changes in 2018.
Serverless goes mobile
The most credible, near-term application for serverless or functional computing is mobile and e-commerce. Google acquired the Firebase platform for mobile messaging and has expanded it to be a framework for mobile back-end applications. Firebase applications are priced similarly to serverless, have similar limits on duration of execution, and, in many other ways, look like function-based applications -- but they are framed in the specific context of mobile users. If Google decides to push Firebase in 2018, which is likely, then Amazon and Microsoft will probably respond with similar mobile-centric packages that are built on their serverless tools.
Cloud providers will also address the fact that users interested in serverless don't want to manage cloud servers. Instead, they want to send an application to the cloud and use it, without the burden of infrastructure management. In 2018, expect most providers to offer serverless cloud hosting for current VM and containerized applications as a way to reduce operational complexity. These offerings will likely include pricing options to load applications for a specific period of time and pay only for those periods, but won't encourage users to load-and-unload applications with each event as true serverless computing does.
Serverless evolves toward hybrid cloud
Another trend to watch for with serverless applications is improved integration and support for hybrid cloud. Event-driven applications that are ideal for a serverless implementation generally act as front-end elements of traditional business processes, gathering information and connecting edge information inward to the data center. Both Amazon and Microsoft are likely to offer better tools to support that hybrid model, particularly because Microsoft's data center presence provides a hybrid advantage, which Amazon is determined to undermine.