Analysis / Technology /

TNS Guide to Serverless Technologies: The Best Frameworks, Platforms and Tools

26 Oct 2016 12:09am, by

This post is the second of a two-part series that collects many of the technologies and services in the emerging serverless ecosystem. The first installment covered providers of Functions-as-a-Service (FaaS) and Backend-as-a-Service (BaaS or mBaas for mobile providers).

Even if you don’t need the servers themselves, serverless technologies could still require plenty of supporting software. Frameworks are needed to codify best practices, so that everyone is not out to reinvent the wheel, especially when it comes to interfacing with various languages such as Go, JavaScript and Python. And platforms are needed to help people avoid spending too much time on configuring the underlying infrastructure, perhaps by handing the work off to a service provider.

Just in time for the Serverless conference in London, this post highlights some of the most widely used frameworks and platforms, as well as other supporting tools, that make successful serverless-based workloads happen.

Serverless Frameworks

Chalice (AWS Labs): An open source project that provides a Python serverless microframework for AWS that allows you to quickly create and deploy applications that use Amazon API Gateway and AWS Lambda. It makes assumptions about how applications will be deployed, and it has restrictions on how an application can be structured.

Claudia.js (Claudia.js): Claudia.js makes it easy to deploy Node.js projects to AWS Lambda and API Gateway. It automates all the error-prone deployment and configuration tasks, and sets everything up the way JavaScript developers expect out of the box. Its founder, Gojko Adzic, has created extension libraries to let users quickly build chatbots and Web API endpoints.

DEEP Framework (Mitoc Group): A full-stack JavaScript framework for building cloud-native web applications regardless of specific cloud providers. It is used to support Mitoc’s DEEP Marketplace, which is a software service that lets customers choose and deploy from lists of microservices.

Gestalt Framework (Galactic Fog): A set of microservices that are used together create a platform for application developers to build functionality without managing a container environment. The company is a Mesosphere partner, so may be one of the first ways to execute Lambda functions on Mesosphere’s Data Center Operating System (DC/OS).

Serverless Framework (Serverless, Inc.):  Serverless is an application framework for building web, mobile and IoT applications exclusively on Amazon Web Services’ Lambda and API Gateway. It’s a command line interface. The company behind it, Serverless, Inc. recently raised over $3 million in funding. The New Stack recently interviewed its creator, Austen Collins.

Shep (Bustle): Shep is a framework for building JavaScript APIs with AWS API Gateway and Lambda. It was created and used by Bustle’s engineering team.

Sparta (Open source project): Sparta offers a Go framework for AWS Lambda microservices. This project is led by NodeSource’s Matt Weagle. Sparta lets your Lambda-based service be integrated with the entire set of AWS lambda event sources. It also can provision CloudFormation supported resources.

zappa

Zappa (Open source project): Serverless Python web services that make it easy to deploy Python WSGI applications (i.e., based on frameworks like Django and Flask), on AWS Lambda and API Gateway. A few months ago Ryan Brown conducted an interesting interview with founder Rich Jones.

Serverless Platforms

Apex (PubNub): Lets you build, deploy, and manage AWS Lambda jobs. Apex allows the use of non-natively supported language by using a Node.js shim injected into the build. Testing functions and other tooling is also part of the project, which is sponsored by PubNub.

Funktion (Red Hat): An open source, event-driven, lambda-style programming model on top of Kubernetes. A funktion (note the funky spelling) is a regular function written in any languagefunktion-redhatproject, but then connected to a trigger that is deployed into Kubernetes. When activated, these triggers work with endpoint URLs for databases, messaging systems and many other cloud services. The project is still experimental.

Iron.io Platform (Iron.io): The platform includes IronWorker, IronMQ and IronCache, and is pre-integrated into many cloud-native platforms, such as Cloud Foundry, Kubernetes, Mesos and others.With IronWorker you can run AWS Lamba-like serverless functions from inside your firewall. IronWorker is a platform that isolates the code and dependencies of individual tasks to be processed on demand in a containerized environment. IronMQ is a distributed queue service and IronCache is a data service.

Gordon (Open source project): Gordon is a platform to create, wire and deploy AWS Lambdas using CloudFormation. Jorge Bastida is the leading developer for this project.

nanolamba

Nano Lambda (Nano Lambda): An automated compute service that runs and scales microservices. Code is uploaded into a container. Outside of the container, Nano Lambda will orchestrate the required tasks to network, secure, authenticate and log the micro-service. We learned about this emerging company from an Adrian Cockcroft presentation and look forward to seeing how their attempt to make money in the serverless space.

Project Kratos (Iron.io): Still in beta, Project Kratos will enable enterprises to run AWS Lambda functionality in any cloud provider, as well as on-premise. Iron.io already offers another product, IronWorker, that can run AWS Lamba-like serverless functions that is pre-integrated into many cloud-native platforms.

Syncano (Syncano): Syncano is a platform for building serverless apps, allowing users to customize sockets, which are configurations connected to Syncano services. It offers a dashboard and SDKs to define data schema. The company is among the most mature in the serverless space.

Serverless Tools

IOpipe (IOpipe): IOpipe is analytics and distributed tracing service to monitor Amazon Lambda functions. Users add a module to their Lambda functions to get telemetry. IOpipe aggregates data, sends email reports and will provide a dashboard and metrics. Its founder is Erica Windisch, a Docker alum, was our podcast guest in both in 2014 and 2015.

Kaazing WebSocket Gateway (Kaazing): This network gateway provides a single access point for real-time, web-based protocol elevation that supports load balancing, clustering, and security management. It is available in a free (community) and enterprise edition.

Kappa (Open source project): Kappa is a command line tool that (hopefully) makes it easier to deploy, update, and test functions for AWS Lambda.

LambCI (Open source project): LambCI is a continuous integration system built on AWS Lambda. It is a package you can upload to AWS Lambda that gets triggered when you push new code or open pull requests on GitHub and runs your tests in the Lambda environment itself. While founder Michael Hart launched LambCI with a compelling case to use it, there may not yet be a market for it as a commercial offering.

Assumes 7 days/wk — with LambCI running on fastest 1.5GB Lambda option)

Assumes 7 days/wk — with LambCI running on fastest 1.5GB Lambda option)

Pusher (Pusher): Pusher is a hosted real-time messaging service with APIs, developer tools and open source libraries that simplify integrating real-time functionality into web and mobile applications.

Vandium-node (Vandium Software): An AWS Lambda wrapper, Vandium is an open source npm module for protecting Node.js security using validation and protecting against injection attacks. This project and its eponymous company appear to be led by Richard Hyatt, a co-founder of BlueCat Networks.

Webtask (Auth0): Webtask uses HTTP calls to run server-side code for your JavaScript and native applications. Auth0’s primary offering is a set of authentication services for mobile and serverless applications.

Miscellaneous Serverless Resources

At its heart, serverless is about creating a composable infrastructure, without worrying about the server components. IFTTT and Zapier are consumer and business applications that have already established a niche where users can create applications without needing to configure any back-end servers. Included in this list of miscellaneous resources are a few other companies of note that follow the same business model.

Dexter: Dexter is a platform that to connect third-party APIs. The development team is focusing on the “bot” use cases.

Flourish (AWS): As we reported earlier in the year, Flourish will be an open source platform to manage components of serverless applications. Although it has not been released yet, Flourish gets a lot of mindshare among serverless developers.

Form.io (Form.io): A combined form and API platform for Angular and React, Form.io simplifies connections between your forms and APIs.

nstack (nstack): The nstack software turns a piece of code (such as a function, a class, or a library) into a lightweight microservice that can be bound to a stream of events. It used to be called Stackhut.

Serverless Calculator (A Cloud Guru): This calculator helps compare estimated costs across different FaaS providers, initially for AWS Lambda and Azure Functions. When Google Cloud Functions and IBM OpenWhisk set their pricing, this information will be included also.

Stamplay (Stamplay): Stamplay connects APIs into service-based applications.

Serverless Consultancies

In so many emerging technology spaces, most companies are comprised mostly of manpower, implementing projects, not selling intellectual property. These companies are just a few examples. 

Cloudonaut

Microapps

Serverless Heroes

SGA Serverless

Trek10

Useful IO

IBM, Iron.io, Mesosphere and Red Hat are sponsors of The New Stack.

Feature image via Pixabay.


A digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.