How serverless computing serves the enterprise

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 compute power (e.g., transaction order processing, click stream 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 ecommerce 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.


Srinivasan Valady Ranganathan is an AWS certified technologist based in Bangalore, India, who focuses on evangelizing serverless architectures in application services. As a technology lead in DXC Labs, he has worked on multiple legacy migration projects with AWS as the target platform. He has considerable experience in application life cycle projects. @srivalady

 

RELATED LINKS

Serverless Architectures

Serverless Computing and Applications (AWS)

Build Apps Faster with a Serverless Architecture (Microsoft)

 

 

Trackbacks

  1. […] How serverless computing serves the enterprise […]

    Like

  2. […] How serverless computing serves the enterprise […]

    Like

  3. […] How serverless computing serves the enterprise […]

    Like

  4. […] I love containers. You love containers. We all love containers. But, if you ever tried to run your programs on Microsoft Azure, you had a problem. It wasn’t easy to run Docker-style containers, a native Linux technology, on Azure. Oh, it could be done, but it was work. Now, with Azure Container Instances (ACI), it’s not only simpler to run both Linux and Windows containers, Azure now also supports serverless computing. […]

    Like

  5. […] Adoro i contenitori. Anche tu ami i contenitori. Tutti noi amiamo i contenitori. Ma, se hai mai provato a eseguire i tuoi programmi su Microsoft Azure, hai probabilmente avuto un problema. Non è stato facile gestire containers in stile Docker, una tecnologia Linux nativa, su Azure. Oh, si poteva fare, ma era molto lavoro. Ora, con Azure Container Instances (ACI), non solo è più semplice lavorare con i contenitori sia su Linux che su Windows, ma inoltre ora Azure supporta anche il serverless computing. […]

    Like

  6. […] Toutefois, si vous avez déjà essayé d’exécuter vos programmes sur Microsoft Azure, vous avez certainement dû rencontrer un problème. Il n’était pas facile d’exécuter des conteneurs de type Docker, une technologie native de Linux, sur Azure. Le correctif aurait pu être fait, mais cela demandait beaucoup de travail. Désormais avec Azure Container Instances (ACI), il est non seulement plus simple d’exécuter des conteneurs Linux et Windows, mais Azure est également compatible avec l’informatique sans serveur. […]

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: