Serverless Apps with Node and Claudia.js
Slobodan Stojanović and Aleksandar Simović
  • MEAP began October 2017
  • Publication in Spring 2018 (estimated)
  • ISBN 9781617294723
  • 325 pages (estimated)
  • printed in black & white

First the buzzwords: Serverless computing. AWS Lambda. API Gateway. Node.js. Microservices. Cloud-hosted functions. That's an impressive-sounding list, but what's the point? Beyond the buzzwords are real benefits like fast design-to-deployment times, low hosting costs, and efficient scaling and application management, along with real technologies that deliver them.

Serverless Apps with Node and Claudia.js walks you through building serverless apps on AWS using JavaScript. Inside, you'll create a full project designed to help you understand and apply general serverless design principles and concepts. Along the way, you'll also discover what Claudia brings to the table as you build and deploy a scalable event-based serverless application that is fully integrated with AWS services including Lambda and API Gateway. You'll learn to simplify the design and development process so you can focus on getting your application deployed as fast as possible without sacrificing quality. Plus, you'll learn how to migrate your existing Express apps to serverless!

"A compelling introduction to serverless deployments using Claudia.js."

~ Jasba Simpson

"This book is really great for any newbie to the serverless paradigm."

~ Luca Mezzalira

"The concepts of Serverless Architecture are presented clearly and realistically, also giving guidance when Serverless might not be the correct solutions."

~ Kaj Strom

Table of Contents detailed table of contents

Part 1: Serverless Pizzeria

1. Introduction to serverless with Claudia

1.1. Servers and washing machines

1.2. The core concepts

1.3. How does serverless work?

1.4. Serverless in practice

1.4.1. Aunt Maria’s Serverless Pizzeria

1.4.2. A common approach

1.4.3. Serverless approach

1.5. Serverless infrastructure — AWS

1.6. What is Claudia, and how does it fit?

1.7. When and where should you use it?

1.8. Summary

2. Building your first serverless API

2.1. Assembling pizza ingredients: Building the API

2.1.1. Which pizza can I GET?

2.1.2. Structuring your API

2.1.3. POST an order

2.2. How Claudia deploys your API

2.3. Traffic control: How the API Gateway works

2.4. When a serverless API is not the solution

2.5. Taste it!

2.5.1. Exercise

2.5.2. Solution

2.6. Summary

3. Asynchronous work is easy, we Promise()

3.1. Storing the orders

3.2. Promising to deliver in less than 30 minutes!

3.3. Trying out your API

3.4. Getting orders from the database

3.5. Taste it!

3.5.1. Exercise

3.5.2. Solution

3.6. Summary

4. Pizza delivery: Connecting an external service

4.1. How do you connect to an external service?

4.2. Connecting to the delivery API

4.2.1. The Fake Delivery API

4.2.2. Creating your first delivery request

4.3. Potential issues with async communication

4.3.1. Forgetting to return a promise

4.3.2. Not passing the value from the promise

4.3.3. Not wrapping the external service in a promise

4.3.4. Timeout issues with long async operations

4.4. Taste it!

4.4.1. Exercise

4.4.2. Solution

4.5. Summary

5. Houston, we have a problem!

6. Level up your APIs

7. Working with files

Part 2: Let’s Talk

8. When Pizza is one message away - Chatbots

9. Typing…​ Async and delayed responses

10. Blah, blah, blah

Part 3: Next Steps

11. Testing, testing, 1, 2, 3

12. Pay for pizza

13. Migrate your existing Express app to AWS Lambda

14. Serverless architecture


Appendix A: Installation and configuration

A.1. Installing Claudia

A.1.1. Configuring Claudia prerequisites

A.1.2. Creating an AWS profile and getting the keys

A.1.3. Installing Claudia API Builder

A.1.4. Installing Claudia Bot Builder

A.2. Installing AWS CLI

About the Technology

Serverless computing services like AWS Lambda and API Gateway can be tedious to set up, aren't designed to work well with JavaScript and Node, and most of the quirks and gotchas aren't well documented. A new generation of serverless tools, including Claudia.js, make it radically easier to set up serverless web applications so you can focus on what your app does instead of meddling with infrastructure configuration and deployment. Claudia doesn't alter your project layout or abstract away the core AWS services; it just makes it easier to get started with them!

What's inside

  • Creating a serverless API using AWS Lambda and Claudia.js
  • Doing authentication and database storage in a serverless way
  • Creating a chatbot for multiple platforms
  • Building a voice assistant with Amazon Alexa
  • Developing microservices with Node.js, AWS Lambda, S3, and more

About the reader

Written for beginner and intermediate web developers comfortable with JavaScript and Node.js. Some prior experience with AWS is required.

About the authors

Slobodan Stojanović and Aleksandar Simović are core contributors to the Claudia.js project and are the lead developers and maintainers of Claudia Bot Builder. They work closely with Claudia.js founder Gojko Adzic, and present serverless and Claudia.js at conferences and workshops.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
MEAP combo $44.99 pBook + eBook + liveBook
MEAP eBook $35.99 pdf + ePub + kindle + liveBook

FREE domestic shipping on three or more pBooks