about this book

Serverless Applications with Node.js is a book whose primary goal is to teach about and help you build serverless Node.js applications. It features a pragmatic approach, where you start with a story of your fictional Aunt Maria’s Pizzeria, whose problems you’re trying to solve by going serverless. The book begins by explaining serverless, tackling each problem Aunt Maria encountered by a separate serverless concept, which slowly start to form a clear picture how to build effective and clean serverless Node.js applications.

Who should read this book

Serverless Apps with Node.js is for JavaScript web developers seeking to learn how to build serverless applications and trying to understand how to properly organize, architect, and test them. Even though lots of Node.js content is already available online, as well as lots of tutorials on building basic serverless applications, this book introduces a step-by-step process for combining all those serverless topics and concepts to help you build big serverless applications and become a serverless Node.js developer.

How this book is organized

The book is organized in 3 parts with 15 chapters.

Part 1 explains the basics of serverless and how to build a serverless app with a database, how to connect to third-party services, how to debug it, how to add authorization and authentication, and how to work with files

  • Chapter 1 introduces you to serverless on Amazon Web Services platform and explains serverless with simple analogies. It also introduces you to Aunt Maria, her pizzeria, and the problem she is facing. Finally, you’ll learn what a common serverless Node.js app looks like and find out what Claudia.js is and how it helps you to deploy Node.js apps to AWS Lambda.
  • Chapter 2 shows you how to develop a simple Pizzeria API using AWS Lambda, API Gateway, and Claudia API Builder. It also teaches you how to deploy your API with a single command using Claudia.
  • Chapter 3 teaches you how databases work in serverless architecture, and it teaches you how to connect your Pizzeria API with the DynamoDB, a serverless database offered by AWS.
  • Chapter 4 teaches you how to connect Pizzeria API with third-party services, such as Some Like It Hot delivery API. It also shows you some common issues you might face when using promises with Claudia API Builder.
  • Chapter 5 helps you learn how to find errors in your serverless applications, how to debug them, and what debugging tools you have at your disposal.
  • Chapter 6 shows you how to implement authentication and authorization in your serverless application. You’ll learn the difference between authentication and authorization in a serverless environment, how to implement a web authorization mechanism using AWS Cognito, and how to identify your users using a social provider.
  • Chapter 7 takes a dive into serverless file storage possibilities and examines how to create a separate file processing function that uses the storage and provides requested files to your other Lambda -- your serverless API.

Part 2 covers how to create additional serverless applications that work with the same resources, how to create chatbots, voice assistants, SMS chatbots, how to add NLP, and how you should organize all those serverless applications together.

  • Chapter 8 shows how to develop your first Facebook Messenger chatbot and how Claudia Bot Builder helps you do that in just several lines.
  • Chapter 9 shows how to add simple NLP (natural language processing) to your chat bot, connect your chatbot to your DynamoDB database, and send delayed responses when a delivery is in progress (an asynchronous event).
  • Chapter 10 shows how to develop your first Alexa skill and a Twilio SMS chatbot, and how with Claudia Bot Builder you can do that incredibly fast.

Part 3 covers the more advanced topics on how to test, architect your serverless apps, and migrate your existing applications to serverless. It also gives recommendations, general patterns, and solutions to common issues and frequent questions. It also showcases two medium scaled companies that went serverless.

  • Chapter 11 teaches you about testing serverless applications, writing testable serverless functions, and running automated tests locally. Along with that, it explains Hexagonal Architecture and how to refactor your serverless applications to make them easier to test and to remove potential risks.
  • Chapter 12 covers processing payments with serverless applications, implementing payments to your serverless API, and understanding the PCI compliance in payment processing.
  • Chapter 13 makes sure you know all about running Express.js applications in AWS Lambda and the serverless ecosystem, serving static content from an Express.js application, connecting to MongoDB from a serverless Express.js application, and understanding the limitations and risks of Express.js apps in a serverless ecosystem.
  • Chapter 14 covers how to approach migrating to serverless, structuring your app according to serverless provider characteristics, organizing your application architecture so it's business-oriented and able to grow, and dealing with the architectural differences between serverless and traditional server-hosted applications.
  • Chapter 15 teaches you how CodePen uses serverless for its preprocessors ensuring hundreds of millions of requests, and how MindMup serves 400,000 active users with a two-person team and serverless.

About the code

This book contains many examples of source code both in numbered listings and inline with normal text. In both cases, source code is formatted in a fixed-width font `like this` to separate it from ordinary text. Sometimes it is also in bold to highlight code that has changed from previous steps in the chapter, such as when a new feature adds to an existing line of code.

In many cases, the original source code has been reformatted; we’ve added line breaks and reworked indentation to accommodate the available page space in the book. Additionally, comments in the source code have often been removed from the listings when the code is described in the text. Code annotations accompany many of the listings, highlighting important concepts.

Source code for the examples in this book is available for download from the publisher’s website at https://manning.com/books/serverless-apps-with-node-and-claudiajs

Book forum

Your purchase of Serverless Applications with Node.js includes free access to a private web forum section run by Manning Publications where you make comments about the book, ask technical questions, and receive help from the authors and other users. To access the forum, point your web browser to https://forums.manning.com/forums/serverless-apps-with-node-and-claudiajs. You can also learn more about Manning’s forums and the rules of conduct at https://forums.manning.com/forums/about.

Manning’s commitment to our readers is to provide a venue where a meaningful dialog between individual readers and between readers and the authors can take place. It is not a commitment to any specific amount of participation on the part of the authors, whose contributions to the forum remain voluntary (and unpaid). We suggest you ask the authors challenging questions, lest their interest stray.

Online resources

If you need additional help, you can:

  • Jump over to Claudia.js Gitter https://gitter.im/claudiajs/claudia, where the authors usually respond to technical questions regarding Claudia.js, Claudia API Builder, and Claudia Bot Builder
  • See the claudiajs tag at Stack Overflow (http://stackoverflow.com/questions/tagged/claudiajs), where you can post problems and questions you have about developing serverless applications with Node.js and Claudia.js. You can also help someone else stuck on an issue, too.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset