Savvy businesses crave rapid iterative development, reduced IT costs, and strategic use of IT staff for creating differentiated services, not for provisioning and managing back-end compute resources. The answer? Serverless computing.

Serverless computing, an emerging style of application development, eliminates the complexity of dealing with servers at all levels of the technology stack. It provides a platform for rapid change, pay-per-use billing, and management of computing resources.

But wait. Doesn’t this sound like cloud computing? Indeed, serverless computing is a form of cloud computing, but in this case, the cloud provider manages the provisioning of resources dynamically rather than planning capacity in advance, and customers pay for what they use in contrast to buying pre-defined blocks of capacity. This is a more granular, and therefore more cost-effective, approach than traditional cloud computing. Applications appear “serverless” because server management and capacity planning are hidden from the user (developer).

Serverless computing, combined with API-driven design, has drastically reduced development time for distributed development and micro-development teams. Serverless computing uses functions, encapsulated business logic such as a payment function, that are granular and independent, supporting incremental, DevOps-style development. Applications are written at the function level, and the cloud provider manages the function’s underlying operating system, availability, and scaling.

Great for events

Serverless computing lends itself to event-driven activities, especially events that are sporadic or can increase (or decrease) quickly. Serverless computing examples include:

  • IoT — stream processing of data from distributed IoT applications that require multiple, small units of computing power (e.g., transaction order processing, clickstream analysis, data cleansing, metrics generation, log filtering, indexing, social media analysis and IoT device data telemetry)
  • Operations automation — real-time file processing, triggered immediately after a new file is added to storage; scheduled backups; reports and housekeeping tasks
  • Triggered events based on an activity — fulfillment activities initiated when an order is placed, social media data made immediately available to users for querying when the data is posted, a thumbnail generated when a photo is added to storage, data formatted for a data lake when a new database entry is made
  • DevOps automation — event- or schedule-based triggers for continuous integration actions
  • Security — security and operational log analysis on the fly, to take instant protective action

Players

AWS Lambda and Microsoft Azure Functions are leaders in the serverless space. They support Node.js, Python, Java, and C#, along with other popular programming languages. Emerging frameworks are Google Cloud Functions and Oracle Fn, which are in beta.

For those interested in implementing their own on-premises serverless frameworks, there are two early-stage open source projects worth considering: Iron Functions from Iron.io and Project Fission from Platform9. Apache OpenWhisk is another on-premises serverless solution based on Apache 2 open standards.

Big savings

The serverless model provides significant cost savings — on the order of 60 percent — with considerably reduced administrative effort. This calculation is based on a simple e-commerce application using AWS Lambda (function-as-a-service model, with sub-second billing) versus hosting the application on AWS EC2 instances in a High Availability architecture (hourly billing).

Serverless computing is on the rise as interest and adoption grow. Tools to manage multiple versions of functions as well as complex service integrations are evolving. Serverless frameworks, as well as commercial pre-packaged functions, are becoming popular, though AWS and Azure will continue to dominate the market for the foreseeable future. Watch this space as it evolves.

5 responses to “How #serverless computing serves the enterprise”

  1. […] Almost a couple of months ago I retweet Slobodan because I was really excited about his upcoming book on serverless! […]

    Like

  2. […] a product which uses those magic light screens in our hands or on our desks. Serverless can be difficult to understand, it’s awash with words such as PaaS, IaaS, FaaS, or containerization. You shouldn’t have to […]

    Like

  3. […] Almost a couple of months ago I retweet Slobodan because I was really excited about his upcoming book on serverless! […]

    Like

  4. […] Microservice architecture simply referred to as microservices, is a well-defined protocol for developing a various software system, it has gained immense popularity in the recent years.  There isn’t much known about microservices and a less is known about how the software’s are developed. Nevertheless, it still enjoys the place of being the most preferred software developing tool for many developers. This is due to the scalability microservices offer. This scalable and tailored method is considered the best choice when enabling support for multiple platforms and devices is required, the list includes spanning web, mobile, Internet of Things, and wearables. This tool serves you well even when you are uncertain about the devices you’ll need to support the backdrop of a clouded future. […]

    Like

  5. […] Twitter. If we need to be honest though, most of the technologies that we know as leaders of the serverless generation of applications nowadays are around the corner for a little bit longer, even a decade ( e.g. DynamoDB ). As a Cloud […]

    Like

Leave a Reply

Trending