The latest cloud buzzword sounds like an oxymoron; it’s actually a new programming model that abstracts away even more complexity and offers great economics — in the cloud or even on your own servers. Here's what savvy CIOs need to know. The cloud, goes the old joke, is just someone else’s computer. That’s true; except that it’s a computer that’s probably better run and more frequently patched and better secured than yours, that you didn’t have to pay for, that you can rent by the second and that offers services that let you work at a much higher level than powering on a server and installing software on it yourself. You may think of the cloud as being about scale and cost savings, but even more important are the abstractions it introduces: storage services and data services rather than hard drives, application services rather than virtual machines, software-controlled networks rather than physical cards and cables you have to connect. As cloud has moved from IaaS to SaaS to PaaS, adding monitoring, data analytics and machine learning as well as development frameworks and application services, the level of abstraction has kept increasing. Serverless abstracts away infrastructure IaaS abstracts away the physical data center, but it doesn’t take away all the infrastructure, points out Azure CTO Mark Russinovich. “You still have to pick the operating system, deploy the operating system, rightsize the virtual servers, configure the networking on the virtual servers, scale out the virtual server, figure out how to deploy software into the servers, update that software, monitor that software.…” Even with PaaS, “most services require you to request a provisioning level with some sizing unit that can even be servers, and you’re still tasked with figuring out how many of those you need and how you can most efficiently use them, you have to worry about scaling. There are still tasks involved that are not directly related to what I really want to do, which is have my app serve requests.” Serverless takes abstraction even further. Yes, your code still runs on servers — they’re just servers that you don’t have to care about. Russinovich views serverless as “the next generation of computing, where everything is going to be driven because that’s where the maximum value comes for an organization that wants to develop a solution, by not having to worry about all of these details that a platform can deal with for them.” The cloud, goes the old joke, is just someone else’s computer. That’s true; except that it’s a computer that’s probably better run and more frequently patched and better secured than yours, that you didn’t have to pay for, that you can rent by the second and that offers services that let you work at a much higher level than powering on a server and installing software on it yourself. You may think of the cloud as being about scale and cost savings, but even more important are the abstractions it introduces: storage services and data services rather than hard drives, application services rather than virtual machines, software-controlled networks rather than physical cards and cables you have to connect. As cloud has moved from IaaS to SaaS to PaaS, adding monitoring, data analytics and machine learning as well as development frameworks and application services, the level of abstraction has kept increasing. Serverless abstracts away infrastructure IaaS abstracts away the physical data center, but it doesn’t take away all the infrastructure, points out Azure CTO Mark Russinovich. “You still have to pick the operating system, deploy the operating system, rightsize the virtual servers, configure the networking on the virtual servers, scale out the virtual server, figure out how to deploy software into the servers, update that software, monitor that software.…” Even with PaaS, “most services require you to request a provisioning level with some sizing unit that can even be servers, and you’re still tasked with figuring out how many of those you need and how you can most efficiently use them, you have to worry about scaling. There are still tasks involved that are not directly related to what I really want to do, which is have my app serve requests.” Serverless takes abstraction even further. Yes, your code still runs on servers — they’re just servers that you don’t have to care about. Russinovich views serverless as “the next generation of computing, where everything is going to be driven because that’s where the maximum value comes for an organization that wants to develop a solution, by not having to worry about all of these details that a platform can deal with for them.” Serverless is event-based programming with micro-billing If you find the name annoying, think of it as event-based programming or functions as a service. AWS Lambda is named for lambda functions (anonymous functions that can consume and create other functions), Microsoft’s equivalent is Azure Functions, and Google has Cloud Functions. “Serverless literally means I’m not worrying about the servers,” says Russinovich, but adds that the definition also has to include the programming model, and micro-billing. “I’ve abstracted the servers; I’m not saying how many servers or units I want, I simply use the resources and I get charged for the resources. I’m not paying up front, I’m paying for resources as I’m using them.” That billing model works because of the programming model. “Serverless is event based, trigger-based computing, and it requires that the startup of the response to a trigger or event be very quick, otherwise I might as well just leave the resource there and have it be long running.” Because the serverless platform takes care of provisioning and scaling automatically, if you want to optimize the resources you’re using, you do that by making your code more efficient. That’s a very different economic model from IaaS and even most PaaS. Triggers turn serverless into cloud glue Serverless code doesn’t run all the time; just when it’s triggered by an event that matches a rule you’ve set up. The trigger you set could be other code calling your serverless function, like a web application, but it could also be something that happens on a connected service — “anything from file dropped into a storage account, to a ticket opened up in a CRM system, to a message that showed up in a system,” suggests Russinovich. The output of a function can also get sent to another service, so you could use it to trigger image recognition from images and videos that are captured and send the results to a database, or to send alerts to customer service using Twitter sentiment analysis, or to drive a chatbot. “Maybe I want to kick off a workflow when someone says they want to schedule an appointment. Azure Functions can integrate with cloud services, with databases and storage services, with messaging, with event hubs, with gateway connectors that allow integration to your SQL Server on premises.” Using serverless functions to transform data and connect different services is ideal for powering mobile apps; Azure Logic Apps (for developers) and Flows and Power Apps (for power users) both use Azure Functions underneath, and you can call Lambda functions through Amazon’s Mobile SDKs for iOS and Android. It’s also one way to combine services from different clouds, gluing the different systems together using serverless functions, whether that’s pulling files uploaded to Dropbox into Dynamics 365 or using AWS Lambda to move files from Amazon S3 to Google App Engine via the Cloud Endpoints API. The big benefit to developers is the speed and simplicity, which lets you develop faster, fitting in well with the shift to devops and continuous integration and deployment. “With serverless, all the developer worries about when it comes to their code is the application logic,” Russinovich points out. “They can focus on just the business logic and writing this bit of code, there’s no other support code that’s related to the operation of virtual machines or the PaaS environment. What you get is faster time to market; you can literally write a piece of code and deploy it and have it running in seconds or minutes. Serverless will go beyond the cloud Serverless offerings like Lambda and AWS Functions aren’t the only place this event-based programming will be useful though. “The event-based programming model is very powerful and it’s a model that will live outside this world of abstracting servers and micro-billing,” says Russinovich. As the model matures, he suggests, you’ll be able to use the same serverless functions code you’ve written on PaaS or even IaaS offerings, and even on-premises; in the Microsoft case, that will be through Azure Stack or you can do it today with the Functions runtime in a Windows Container. “[In Azure Functions], you lose some control,” he explains. “There are some scenarios where this model of micro-billing pay-for-usage might cost me more. If the setup cost for getting my code running is high, because it leverages large pieces of code I can’t pre-provision on Functions, so my startup time is long. So I might want to go into PaaS and pre- provision that code and now my event-based trigger code can respond very quickly.” For now, serverless is most efficient in the cloud, because under the covers there are virtual machines and other infrastructure that has to be provisioned, and the hyperscale cloud providers like Azure and AWS have that so well automated that there’s no real cost to them to do it for serverless jobs — which they can fit into the virtual machine resources that aren’t being used for other cloud services. You may find it harder to get those same benefits if you try to run a serverless framework yourself (you’re unlikely to have the scale and you still have to have someone run the infrastructure), but in time this model is likely to spread. Serverless is a fairly new idea but it’s already in use in large organizations like Coca-Cola, which is using AWS Lambda with the open source Serverless Framework to reduce IT costs. Abstractions like serverless are part of the reason Atlassian is moving its services like Jira and Confluence out of its own data centers and onto AWS. “The promise is that we can use these to accelerate our development and we plan to use more of these services. If you have anything that is asynchronous, where you have to run a job, Lambda makes it very attractive,” Atlassian CTO Sri Viswanath explained to us. Serverless features are still evolving, he notes. “Lambda is not yet fully featured; right now it’s good for smaller services that run for a few milliseconds, but microservices need to run for long periods so in Lambda you have to spin up a VM for that. It’s good for asynchronous events that you need to process that come in one after another.” Those limitations are being worked on — Azure Functions allows dedicated app hosting for longer-lived functions — and Viswanath believes the simplicity of the model will only get more appealing. “Over time, I think the concept of not even worrying about the servers is a very important one. [With serverless], you don’t have to worry about deploying to a server; you write your code and you save it and you’re done.” Related video: Related content BrandPost The future of trust—no more playing catch up Broadcom: 2023 Tech Trends That Transform IT By Eric Chien, Director of Security Response, Symantec Enterprise Division, Broadcom Mar 31, 2023 5 mins Security BrandPost TCS gives Blackhawk Network an edge with Microsoft Cloud In this case study, Blackhawk Network’s Cara Renfroe joins Tata Consultancy Services’ Rakesh Kumar and Microsoft’s Nilendu Pattanaik to explain how TCS transformed the gift card company’s customer engagement and global operati By Tata Consultancy Services Mar 31, 2023 1 min Financial Services Industry Cloud Computing IT Leadership BrandPost How TCS pioneered the ‘borderless workspace’ with Microsoft 365 Microsoft’s modern workplace solution proved a perfect fit for improving productivity and collaboration, while maintaining security of systems and data. By Tata Consultancy Services Mar 31, 2023 1 min Financial Services Industry Microsoft Cloud Computing BrandPost Supply chain decarbonization: The missing link to net zero By improving the quality of global supply chain data, enterprises can better measure their true carbon footprint and make progress toward a net-zero business ecosystem. By Tata Consultancy Services Mar 31, 2023 2 mins Retail Industry Supply Chain Green IT Podcasts Videos Resources Events SUBSCRIBE TO OUR NEWSLETTER From our editors straight to your inbox Get started by entering your email address below. Please enter a valid email address Subscribe