In Serverless for Everyone Else, you'll learn practical use-cases for Serverless Functions, how to build and deploy your own functions that you can run anywhere at a low, predictable cost.
Once you have the basics under your belt, you'll learn how to do more advanced tasks like scheduled tasks, running functions in the background, CI/CD, and adding a database to your host.
You can run everything on your laptop using a VM, in the cloud using a 5 USD / mo DigitalOcean Droplet, or even a Raspberry Pi.
Almost all the examples are compatible with OpenFaaS on Kubernetes or K3s from building functions in Node.js, to setting up multi-arch CI/CD with GitHub Actions.
Functions can help you extend an existing product or system, by writing code that is triggered by events. You can then automate all kinds of internal systems, marketing, sales, social media and more.
You'll learn how to deploy code in any language, lift and shift Dockerfiles, run requests in queues, write background jobs and to integrate with databases. faasd packages the same code as OpenFaaS, so you get built-in metrics for your HTTP endpoints, a user-friendly CLI, pre-packaged functions and templates from the store and a UI
"OpenFaaS is my favourite serverless framework as it integrates seamlessly into your workflow and faasd is the simplest way of starting to use it. This book really opens your eyes up to the things you can achieve with it for almost no overhead." - Simon Emms
Getting started and building function
- How to use the book
- Should you deploy to a VPS or Raspberry Pi?
- When should you use faasd over OpenFaaS on Kubernetes?
- What is included in the faasd stack?
- Deploying your server with bash, cloud-init or terraform
- Exploring your faasd instance through the REST API, CLI and UI
- Using a private container registry
- Finding functions in the store
- Building your first function with Node.js
- Using environment variables for configuration
- Using secrets from functions, and enabling authentication tokens
- Using Postgresql and databases from functions
Monitoring and operations:
- Understanding how function templates work and how to customise them
- Monitoring your functions with Grafana and Prometheus
- Scheduling invocations and background jobs
- Tuning timeouts, parallelism, running tasks in the background
- Adding TLS to faasd and custom domains for functions
- Getting remote access to self-hosted faasd with inlets
- Adding a database for storage with InfluxDB, Postgresql and Redis
- Exploring faasd resource consumption
- Troubleshooting faasd, functions and getting logs
- Upgrading and updating faasd
- Multi-arch CI/CD with GitHub Actions
- Taking things further, community resources and case-studies
- Options for scaling up with faasd, or OpenFaaS on Kubernetes.
You can see the full table of contents by clicking the image preview carousel.
"Do you need to try Serverless functions but you simply do not want to lose time with the "hosting technicalities"? Then faasd is definitively for you and how best to understand it if not by its creator directly" - Nuno do Carmo
Watch and learn with the 50min video workshop
In the workshop I walk through deploying faasd, using the OpenFaaS UI, CLI, Function and Template store, and then go on to show you how to build the first few examples using Node.js. At the end I'll give you a few more ideas for use-cases and show you how to monitor rate of execution, duration and errors in your functions with Grafana.
What people are saying about the video workshop
"Congrats Alex, Very good hands-on video as the perfect complement to your book! I really like the use cases approach and the related deployment option strategy" - Philippe Ensarguet, Group CTO, Orange Business Services
"Very slick, Alex! The green screen helps keep a personal touch. I hadn't heard of multipass. Thank you. From a continuing learning perspective, this helps me professionally to (1) know what's out there and (2) see it in action." - Kyle Brennan
The workshop is available in the Learner and Team Player tiers.
We're a community:
This is the perfect way to learn about containers and functions over a long weekend.
Even if you've never written code before, you will be able to copy and paste the examples and see how each part works. The main examples are written in Node.js, but the concepts carry over and you can also write in many other languages like Python, C#, Golang and bash.
Once you've purchased, feel free to join me and the community in the #serverless-book channel on OpenFaaS Slack .
Got a question or comment? Send me an email: firstname.lastname@example.org
Please leave a rating for the book after purchase. If you're not completely satisfied with the eBook, then email me within 7 days to request a no hassle refund.
64-page PDF and ePub:
You'll get the 64-page PDF and the ePub version today, with everything listed above.
Revision 6 is already out!
- Add Postgresql to your installation for storing data with a full CRUD example with a schema
- New introduction to the OpenFaaS Slack and what each piece does
- New screenshots and examples of adding external services into your faasd cluster
- Brand new rev3 PDF created with pandoc
- Redis service add-on example added
- Sub-chapter breaks removed to make the book more dense
- 50m video workshop for Learner and Team player tiers
- Rev 6 - Detailed instructions for CI/CD with GitHub Actions
- Rev 6 - Check system resources and consumption on your faasd instance
- Rev 6 - ePub format added, along with PDF
- Rev 7 - fix for npm install pq (now pg)
- Rev 7 - unit testing functions with mocha
- Rev 7 - update accessing core services
What people are saying
"Only been playing with it for a day now, but really amazing bit of kit...makes me wonder why not everyone is talking about it. It is to faas, as sqlite is to MySQL . You get 90% of the power, at 0.5% of the overhead" - Nic Grobler
"Once you have deployed faasd, it's one command to push your function into production. From there it's up to you what you like to build. It builds the container, publishes, and deploys your function code ready-to-use in seconds." - Peter Thaleikis
"Some of my functions are literally quick and dirty hacks that just work and drive value. I can rewrite/optimise later but surprisingly dockerfile or bash template have most of the power I need" - Tomasz Miklas
"After collecting too much dust my Raspberry Pi has found it’s purpose as a “Function-as-a-service” Box (like AWS Lambda), all with open source software by Alex Ellis with faasd for the FaaS and inlets for Ingress." - Chris Dietrich
"Finally got around fixing should-i-watch-this.com. Ditched my fully fledged k8s cluster (which was overly expensive) in favor of a simple faasd droplet for my openfaas backend. thanks Alex, works nicely!" - Alexis Reigel
"Alex, I just received the book and I really appreciate your effort to make faasd easy to understand." - Mohammad Sadegh Aslanpour
"Tonight I built an openfaas function with Python Flask that connects SMS with Twilio to Slack for bidirectional chat. It’s running on faasd that was deployed to a $5/month droplet via Terraform. This is just cool!" @technicalissues
You've purchased this product
See it in your libraryView in Library
We charged your card and sent you a receipt
You'll need an account to access this in our app. Please create a password to continue.
Download from the App Store or text yourself a link to the app
Thank you for your support. Do feel free to join the book's own channel on OpenFaaS Slack - https://docs.openfaas.com/community/
Good news! Since you already have a Gumroad account, it's also been added to your library.