Serverless is more than just one of the hottest buzzwords in software development. It abstracts the maintenance of physical infrastructure and systems software away from developers so that your serverless provider can take over those operations.

So how can you take advantage of this new way of building software? The one surefire way to find out is to try building a few serverless apps. Plenty of developers have done this and recorded the steps they took. They've even built starter kits or templates for building serverless apps using various tool stacks.

TechBeacon gathered 50+ popular resources for building serverless apps to help you take the first step toward understanding serverless architectures in practice. Even developers who have previously built serverless apps will find useful resources here, such as helpful templates and tutorials.

The resources below include a few introductions to serverless, some starter kits, crash courses, coding screencasts, serverless API tutorials, and various use-case tutorials, all of which can help developers at all levels learn more about serverless development.

Serverless 101

This blog is my go-to resource whenever I have questions about a concept in software. Fowler's straightforward introduction to serverless is easy to understand and digest. The blog includes has an introduction to serverless architecture, which gives more examples of what serverless applications look like at the architectural level. Also check out Peter Sbarski's excellent guide to serverless technologies and architectures.

This presentation, from GOTO Amsterdam 2017, draws on years of cloud and serverless development experience to give you a detailed explanation of when to use serverless, and when not to. And be sure to read up on the economics of serverless before making your decision.

After you've decided to build something serverless, you need to choose which tools will work best. Rafal Gancarz, technology consultant at Starbucks, has written a nice overview of the serverless platform, framework, and tool landscape, along with a description of where serverless fits in cloud computing.

Serverless crash courses

The most common serverless tutorials use AWS Lambda and JavaScript with Node.js. That's because Lambda has been around longer than the other serverless platforms, and its first supported language was JavaScript via Node.js. This crash course is the most popular serverless starter tutorial on Medium. Also, read the AWS Lambda docs to round out your understanding of the platform.

This tutorial, written by a Google engineer, uses Google Cloud Functions as its serverless platform to create a chatbot. Google's excellent docs on Cloud Functions are also worth a look if you want to learn more about the quality of Google's serverless play.

Developer celebrity Scott Hanselman shows how to use some of the pre-made functions in Azure Functions in just 15 minutes by modifying a function that finds a face in an image and saves a cropped image of it. This crash course is short and high level. For a deeper crash course in Azure Functions, read through Microsoft's Azure Functions documentation.

OpenWhisk, IBM's take on serverless, is an open-source framework that lets you run a serverless platform locally or with any infrastructure provider you choose. If you like this option for serverless development, you can dive deeper into building OpenWhisk applications by reading "Developing Serverless Applications," by Raymond Camden, a veteran of the web development space.

Serverless starter kits

Postlight, a dev shop in New York City, is no stranger to serverless development. It has shipped several serverless projects to production and wanted to open source its template kit for building serverless apps. The kit uses the Serverless framework, a specific open-source serverless framework, and a modern JavaScript development stack that includes ESNext (Webpack and Babel), Jest, ESLint, and Prettier.

In contrast to Postlight's kit, this kit from AWS is a sample RESTful API for a TODO app built with AWS Lambda. It's useful for understanding how to deploy apps with the AWS serverless application model (SAM).

This serverless React application sample hooks together registration, sign-in, multi-factor authentication (MFA) flows, API routing, cross-origin resource sharing (CORS)

settings, endpoint authorization, and user authentication—all of which can be tricky to deal with in a serverless website. You can use pieces of the sample for your own applications.

This starter pack for building applications with the Serverless framework includes examples of common use cases to ease you into using the framework for more complicated, real-world applications.

This more substantial starter kit for the Serverless framework adds ES7 async/await and unit test support with JEST. It's part of the Serverless Stack guide.

Shopify Serverless Starter

This starter kit helps you spin up a Shopify e-commerce site quickly with a serverless back end. Shopify also has a React starter kit designed to work as a front end for its serverless kit.

Tutorials for serverless use cases

This four-part tutorial shows how to set up a serverless function that talks to the Stripe API for payments, and then connects to a checkout application made with Vue.js. Another tutorial by the same author shows how to build a serverless data visualization example with Vue.js. Both are great for learning about serverless and Vue.js.

There are a few more in-depth tutorials than this one on setting up serverless payments with the Stripe API, considered one of the best-designed APIs in the software industry. And check out "Building a Serverless E-Commerce App with AWS Lambda, Stripe and React" as well.

You don't always need a serverless platform to have your application be serverless. This progressive web app, for example, is a chat application built using AWS AppSync (a managed GraphQL service) and Amazon Cognito.

You can find a lot of great serverless content on A Cloud Guru. This article shows you how to build an on-demand serverless app that updates the scale, quality, and format of an image from your browser without needing to store all the different images.

Richard Moot, developer evangelist at Square, argues that the functions-as-a-service (FaaS) model is well suited for processing webhooks, despite having issues around cold starts. With the increasing prevalence of webhooks, his tutorial for creating a sample FaaS webhook handler for Square is timely.

Batch file processing is a common use case in modern enterprise apps. This tutorial shows you how to create a serverless batch processing app with AWS components. It also explains the advantages it has over the traditional approach of using an SFTP server.

Learn how to use AWS components and the Serverless framework to build a JavaScript/Node.js URL shortener application. This is yet another small task that is perfect for the serverless approach.

This four-part tutorial from Dmitri Zimine, founder of StackStorm, shows you how to build a serverless community on-boarding application from the ground up using Python and several StackStorm Exchange integration plugins for Slack and ActiveCampaign CRM.

Want more ideas for different types of apps you can build using a serverless architecture? Check out this site for more tutorials and resources, along with information about serverless providers.

Serverless and specific language ecosystems

Serverless platforms and frameworks support various mainstream programming languages, so you should be able to find tools that you can use to write functions using whatever language you're fluent in. Googling your language, frameworks, and tools of choice plus "serverless" will usually yield a few tutorials you can use to see what serverless looks like in your programming ecosystem. This tutorial is a good example of serverless development in the Java ecosystem using the popular build management tool Maven. And JavaWorld offers this solid Java+serverless tutorial.

This resource, as well as the one preceding it, uses the multi-language support of a Serverless framework. In this example, the PHP ecosystem is featured in a serverless context.

Serverless REST APIs

The developers working on the Serverless framework are seeing more people deploy REST APIs using serverless frameworks like theirs. This tutorial leverages the popular Express.js framework and ecosystem to deploy a serverless REST API without having to rewrite all your existing code.

Get ready to learn serverless development by coding a fictional service for ordering unicorns to come pick you up.

Here's a break from all the AWS Lambda-based tutorials. This one examines Microsoft's version of serverless: Azure Functions. This isn't a deep dive into Functions, but it does explore how easy it is to create various types of database back-end APIs using just the Azure Portal.

Instead of staying in the AWS ecosystem when using Lambda, as many of the tutorials out there do, this one shows you how it's done with MongoDB instead of Amazon's DynamoDB.

The creator of the Lambada serverless framework (don't confuse it with AWS Lambda) shared this tutorial on how to migrate an existing Java API to a serverless architecture. Lambada helps this process by implementing the most common JAX-RS annotations and providing a Maven plugin to easily deploy on AWS. There's also a paid course for Java developers who want to learn how to build a productive serverless AWS Lambda API in Java.

Most of the tutorials so far have used the Serverless framework to help create scaffolding for serverless apps. This tutorial uses Chalice, a serverless microframework written in Python.

Qiang Xue, a tech fellow at CapitalOne and creator of the Yii PHP Framework, shows that you can also build serverless apps using the increasingly popular Go language. He uses the Apex framework to help him do it.

Are you more of a visual learner? This short video series will show you how to build a serverless API with the Serverless framework, AWS Lambda, and DynamoDB.

Here's another break from the AWS Lambda-based tutorials: Bakani Pilime uses Firebase Cloud Functions, a subset of Google Cloud Functions. Firebase is one of the more popular backend-as-a-service (BaaS) platforms on the market. And from the other articles mentioned here, you'll know that BaaS and FaaS are the two main pillars of serverless applications.

GraphQL, an alternative to REST, is rapidly gaining momentum in the developer community, so you might want to check out resources such as this article as well as this video on how to use GraphQL in a serverless architecture.

Serverless tutorial videos

Marcia Villalba's YouTube channel, FooBar, may be the one-stop shop you need for learning how to build serverless applications. A full-stack developer at Rovio, Villalba has created playlists that cover such topics as handling serverless security, building chatbots, using step functions, and building APIs.

You'll find many more serverless tutorial videos on YouTube by searching for some of the tools you want to use or the kinds of apps you want to build. This one-hour tutorial was originally live-streamed by David Wells, one of the developers of the Serverless framework. Watch it to learn how to build a multi-stage React application backed by a Serverless API. He also adds user authentication and protected routes.

Want more?

If the resources above don't quite cover what you need, you can find many other resource bundles on serverless, including two Awesome Serverless lists on Github, one by Anibal, and another by Philipp Muens, as well as this Awesome AWS list that includes a section on AWS Lambda.

We didn't have room to include the many architectural overviews of serverless apps built by big-name companies. Gilt, for example, rebuilt its instant vouchers order-processing system to be serverless. And Incentro built a serverless digital archive with machine-learning APIs, cloud pub/sub, and Google Cloud Functions.

Do you have any favorite serverless tutorials or articles you think might help your fellow readers? If so please mention them—and include a link—in the comments below.

Keep learning