Serverless Computing

The new “Function” platforms are to microservices what microservices are to the monolithic application architectures. Microservices were invented to divide applications into small easily managed modules, fitting well with agile project management and deployment. The “Function” platforms (Amazon AWS Lambda, Microsoft Azure Functions, Google Cloud Functions, and IBM Cloud Functions) have us dividing applications into even smaller modules, making an even better fit with agile project management.

Also called “Serverless Computing”, the architecture is dependent on automated scaling infrastructure offered by the cloud computing vendors. The word Serverless is an obvious misnomer because obviously servers are involved. What’s different is the developer does not get involved with deployment and scaling, which the hosting infrastructure provider takes care of. With container-based (Docker/Kubernetes/etc) microservices, a DevOps team is required to handle scaling the application to meet demand. With this Serverless model, the developer writes their small function-sized module, the hosting provider implements bite-sized containers holding that code, automatically deploying containers when and where and how much is required. The developer simply writes their code and pays a bill at the end of each month.

Both microservice and serverless computing is a reaction to traditional monolithic application architecture. The idea is smaller modules are easier for a team to manage. The entire application results from connecting together all the modules via published well understood API’s. One potential gain is application reliability by all application modules respecting the published API of all other application modules, enforced by the module being in another service container.

Getting started with using Node.js and the Serverless framework on AWS Lambda

(June 3, 2018) While Amazon's AWS platform is excellent, there are other similar platforms from Google, IBM, Microsoft and others. Why should our code be written solely to support the AWS infrastructure? The Serverless framework makes it easy to reuse the same application code on any of these functions-as-a-service platforms. Perhaps more importantly, it simplifies coding against these platforms. The AWS platform is incredibly complex, and using the Serverless framework is simplifies developing applications for the AWS platform.

Introduction to Node.js with the Serverless framework on AWS Lambda

(May 19, 2018) AWS Lambda has excellent support for Node.js code. As of this writing Lambda supports Node.js 8.10, meaning we have excellent async function support and other modern ES2015+ language features.

Introduction to Node.js with the Serverless framework on AWS Lambda

(May 19, 2018) AWS Lambda lets programmers focus on their code, with AWS taking care of all the deployment drama issues.