IoT
IoT
Cloud // Platform as a Service
News
2/29/2016
09:06 AM
Connect Directly
Twitter
RSS
E-Mail
50%
50%

How Serverless Applications Will Change Your Business

Can applications be composed almost entirely of microservices in the cloud, running with a smart user device? That's the promise of serverless applications. Here's how they work, and what they'll mean for your business.

10 Reasons To Snuggle Up To Python
10 Reasons To Snuggle Up To Python
(Click image for larger view and slideshow.)

Application development keeps evolving toward a model that produces code faster and puts it into production more quickly. But no matter how many incremental improvements are made to the process, it never seems fast enough. Can serverless applications help your enterprise deliver the rapid development that today's businesses demand?

Going serverless represents a new pattern, made possible by recent additions of application functions and services in cloud computing. It enables developers to create a host of microservices that only fire when needed, and produce the required functions rapidly and seamlessly.

Amazon's AWS Lambda and API Gateway, as well as Google App Engine Cloud and Google Cloud Functions, are among the services designed to aid in creating and executing serverless applications.

What do serverless applications mean to your business?

Here's one scenario, which involves overcoming buyer uncertainty at the point of decision. Let's say several customers are ready to make a purchase in your company's e-commerce application. But, before completing the order, one of these customers asks for confirmation that a third-party part needed for his order is available.

[ Want to learn more about serverless applications? Attend Building Serverless Applications at Interop 2016. ]

A computer-literate business analyst could spot a business need such as this and upload a snippet of JavaScript to Amazon Web Services in response. This script would automatically fire off whenever it was needed. Knowing buyers' uncertainty at the point of decision had stymied deal completion in the past, your inspired business analyst could create a part-confirmation box on the website for the purchase's final stage.

By clicking on it, the customer would activate a notice to the AWS Lambda cloud service to retrieve the analyst's snippet of JavaScript and run it with the event data. The JavaScript then would trigger a query to the correct third party's distribution center and inspect its inventory database system for the part, bringing back the confirmation needed to allow the purchase to go through.

(Image: Kewl via Pixabay)

(Image: Kewl via Pixabay)

Lambda's ability to respond to a software event (the shopper's click), retrieve the analyst's code, and quickly run it might prove instrumental in converting your shoppers into buyers.

There would be no long pause, no shifting to another application, no launch of a virtual server in the cloud, and no interjection of a human service representative with off-putting questions. The whole process would be automated and amount to a charge of a few pennies of AWS runtime. At the same time, this confirmation process is always available at an instant's notice. No matter how many buyers might need confirmations at one time, it will scale to meet the traffic.

That's one example of how serverless applications might work. The part-availability confirmation is a microservice. Most applications would be built out of multiple microservices. For a company using them, there would be dozens or hundreds of microservices, sitting in the public cloud until needed, then running in an efficient burst to produce results. The application isn't literally serverless, because there are virtual servers and hosts running somewhere to allow the responses. But, as far as the company's IT staff is concerned, the application always runs and produces business results, without any on-premises server hosting it.

Cloud Provider Offerings

The major cloud providers are offering more and more online functionality as part of their infrastructure services. AWS Lambda is a prime example. It allows outside events or other Amazon services to trigger the running of a microservice or other small piece of code in its environment, without a virtual machine. It can make use of the data streamed to it for the purpose. Instead of being charged for by the hour, the use of the microservice is measured in 100 millisecond units of run time.

One advocate of this style of development is Joe Emison, CTO of BuildFax and leader of an Interop 2016 workshop, Building Serverless Applications, on May 3 in Las Vegas. (Interop is produced by UBM Americas, InformationWeek's parent company.) Emison will discuss how Lambda can be paired with the Amazon API Gateway, an API management service, to create sets of related services for a serverless app. Also on the slate will be use of the Google App Engine cloud and its Firebase real-time database service.

Facebook's Parse is also on the agenda for Emison's Interop workshop, but Facebook announced Jan. 28 that it will be discontinuing its Parse service by Jan. 28, 2017. Parse is a scalable, cross-platform set of tools and services for mobile apps.

Nevertheless, more new services are bound to emerge to support serverless applications. These applications will make use of "cloud-enabled services to automate all these things currently done by hand, and done badly by hand," Emison said in an interview with InformationWeek.

[ How are agile companies changing development? Read 8 DevOps Lessons IT Can Teach The Enterprise. ]

Serverless apps are coming, he said, because they represent a better way to step up the pace of software development. "I agree with Marc Andreessen," Emison said. "Software is eating the world. Companies that can develop software most effectively will be among those that succeed" at thriving in such a world.

His measure of good software development no longer has anything to do with the number of lines of code produced, or functionality captured, by a local programmer. "You have to look at what it means to develop software effectively," he said. In a fast-moving world driven by software, that means looking at how frequently, and quickly, you can adjust it to changing conditions. As Emison said: "How many development cycles can you get against the customer base while it's interested in using the software?"

Still a Need for On-Premises Developers

Even with serverless applications, not everything happens in the cloud, nor does all functionality come from the cloud. There's still a need for on-premises developers "who control the end-user experience," said Emison. These developers should assume the end-user part of the application is running on a powerful smartphone, tablet, or other mobile device. A substantial part of the application logic can reside there, given the growing power of the devices.

In that sense, Web applications, which put all the logic on an Internet server and give the end user a browser or other form of thin user interface display, have been re-architected. In serverless applications, the user's experience is determined by the business logic on the end-user device, as well as the Internet data center server, and it represents a significantly larger share of the application than a display window.

But the serverless developer doesn't have to understand the database server, the messaging system, or the security measures in the cloud. They're being managed elsewhere, by the service provider.

Learn to integrate the cloud into legacy systems and new initiatives. Attend the Cloud Connect Track at Interop Las Vegas, May 2-6. Register now!

 

Earlier this year, Google announced Google Cloud Functions, a set of services suitable for use in building a serverless application. These are a "lightweight, event-based, asynchronous compute solution that allows developers to create small, single-purpose functions that respond to cloud events without the need to manage a server," wrote Forbes contributor and analyst, adviser, and architect at Janakiram & Associates, Janakiram MSV, in a blog post Feb. 9.

With Google Cloud Functions, a developer can supply JavaScript functions that are executed in a Google cloud runtime environment with "no requirement to provision or configure virtual machines. The uploaded snippets are invoked by events” that originate from other Google services, such as its Google Cloud Pub/Sub and Google Cloud Storage," Janakiram wrote.

In other words, it's a serverless application environment that can compete with AWS Lambda and API Gateway.

Jeremy Edberg, former chief reliability engineer for Netflix and now co-founder and chief product officer at CloudNative.io, is an early implementer of serverless applications for his firm. CloudNative.io offers a capability to model a customer's use of cloud services, then allow queries to be launched about it.

"My company is building its entire infrastructure on AWS Lambda and other parts of Amazon," he said in an interview.

The Seattle Times is one example of a company that isn't going all-in on serverless, but nevertheless is an early implementer. The newspaper's website uses an application in AWS Lambda that automatically resizes the images appearing in its articles depending on the nature of the device on which the content is about to be read.

A Serverless Future

"The future is going to be serverless," Edberg predictd. "Containers will be a fad that will quickly disappear. People doing containers will just move on to creating serverless applications."

Although serverless applications are frequently built in JavaScript, Edberg's firm is using Python to create them as microservices that will be triggered by customer queries and events. He thinks the transition from containers to serverless-based microservices will not be difficult, because container users have already started to think of applications as sets of microservices. They simply have to envision them running in a cloud runtime environment, instead of a container.

In the future, said Emison, the enterprise IT staff developer will be focused on constantly improving the logic of the customer's interaction with the business, instead of figuring out how to set up and maintain a database server and other infrastructure issues. The shift in resources will help those businesses that understand the concept of constant updates and punish those that fail to adjust quickly enough. It will be possible to achieve frequent additions to the software used to engage your customers throughout a product's lifecycle.

[Editor's note: This article has been updated to clarify references to AWS Lambda.]

Rising stars wanted. Are you an IT professional under age 30 who's making a major contribution to the field? Do you know someone who fits that description? Submit your entry now for InformationWeek's Pearl Award. Full details and a submission form can be found here.

Charles Babcock is an editor-at-large for InformationWeek and author of Management Strategies for the Cloud Revolution, a McGraw-Hill book. He is the former editor-in-chief of Digital News, former software editor of Computerworld and former technology editor of Interactive ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
balasreeni
50%
50%
balasreeni,
User Rank: Apprentice
3/8/2016 | 12:55:15 PM
Changes the way applications are developed
Serverless applications will change the way we develop applications. Traditionally lot of business rules, boundary conditions, complex integrations are built into applications and this prolongs the completion of the system as well as introduces lot of defects and in effect we are hard wiring the system for certain set of functional requirements. The serverless application concepts in a way moves us away from dealing with complex system requirements and evolve the application with time. It is also easy to deploy these microservices without intruding the system. Overall I think this concept is there much longer to stay....
SaneIT
50%
50%
SaneIT,
User Rank: Ninja
3/2/2016 | 10:22:10 AM
Re: Also into serverless: Iron.io, Serverless.com
I haven't seen anything yet that is completely serverless in the sense that I would call anything serverless.  An app that uses APIs to hook into someone else's data may not need its own dedicated server but that data has to live somewhere.  The draw as I can see it is to speed development of smaller feature sets that would under traditional models require a front end server to pull the data together, sit all day and poll databases or act as a bridge between multiple data sources that feed other applications.  You mentioned a database server still being a bottleneck and that's possible but everything I see is less about server side performance and more about application visibility.  Imagine two systems and a human that spends their day moving data from one system to another as needed or back end process that does this.  What I see with tools like Siena are a more flexible way to pull multiple datasets together  and work with them simultaneously instead of relying on those back end processes. 
TerryB
50%
50%
TerryB,
User Rank: Ninja
3/1/2016 | 12:53:46 PM
Re: Also into serverless: Iron.io, Serverless.com
Good to see your take @SaneIT. I read this and chuckled, I was pretty sure a server was hosting the database where the inventory check took place. And that could still be bottleneck, depends on the pipe into that server.

But in the way it seems you develop apps in cloud, I get how this could be useful.
SaneIT
50%
50%
SaneIT,
User Rank: Ninja
3/1/2016 | 8:48:21 AM
Re: Also into serverless: Iron.io, Serverless.com
It sounds like you've been using Lambada or at least looking at it closely.  Maybe I'm over simplifying or don't quite grasp this but it sounds like servlets using APIs to trigger applications running on actual servers.  I do see the usefulness given its inherent flexibly but I think part of the sales pitch is a little misleading.  I don't see very many people without any development experience building serverless apps.  I see even fewer doing this in a large corporate environment.  If I had dozens of people throwing together applications that were hitting my data sources I'd be very concerned about who was doing it and what they were trying to accomplish.  That said though, I think another approach to this is worth a look if you live in a Microsoft environment https://www.microsoft.com/en-us/projectsiena/ .  I still wouldn't say this if for the average office worker to build apps with but the toolboxes are there for anyone who is willing to sit down and learn.
Charlie Babcock
50%
50%
Charlie Babcock,
User Rank: Author
2/29/2016 | 8:36:05 PM
Also into serverless: Iron.io, Serverless.com
If you're intrigued by serverless applications, you might also consider the framework for AWS Lambda being offered by Serverless.com, or the container workload management of Iron.io, as well as OpenWhisk on IBM's Bluemix.

 
Charlie Babcock
50%
50%
Charlie Babcock,
User Rank: Author
2/29/2016 | 7:10:16 PM
IBM's OpenWhisk is a serverless Bluemix service
As of Feb. 22, IBM's Bluemix joined the "serverless" parade with OpenWhisk, an event-driven application programming service. It appears oriented toward helping developers produce applications for Apple devices, among other things, with support for both JavaScript and Apple's Script language. Analysis services can be added from Bluemix. IBM's announcement came after this story was completed.  
Google in the Enterprise Survey
Google in the Enterprise Survey
There's no doubt Google has made headway into businesses: Just 28 percent discourage or ban use of its productivity ­products, and 69 percent cite Google Apps' good or excellent ­mobility. But progress could still stall: 59 percent of nonusers ­distrust the security of Google's cloud. Its data privacy is an open question, and 37 percent worry about integration.
Register for InformationWeek Newsletters
White Papers
Current Issue
Top IT Trends to Watch in Financial Services
IT pros at banks, investment houses, insurance companies, and other financial services organizations are focused on a range of issues, from peer-to-peer lending to cybersecurity to performance, agility, and compliance. It all matters.
Video
Slideshows
Twitter Feed
InformationWeek Radio
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.