Over the weekend, I read Matt Fuller’s AWS Lambda: a Guide to Serverless Microservices, published in the Kindle store on January 11th.
This text is a good all-in-one introductory tour of Lambda. But, if you’ve already used Lambda for even small projects, take the $4 and buy yourself a coffee. The target reader for this book hasn’t used Lambda at all, and so needs explanations of both the ins and outs of the service as well as general “why use this?” type topics.
If Lambda is new to you and you want to get an idea of what it is, what it’s good at, and some demo applications, then this is the book you want.
No fluff. This book goes on a pretty swift walk around:
- Using the EC2 API from Lambda
- Calling external services
- Scheduled events (ignores actual event syntax)
- Short treatment of IAM
- Versioning/aliases for deployment
- A very, very brief intro to API Gateway
- Using CloudFormation to deploy functions
- Lambda’s cost/billing structure and when EC2 can be cheaper
It also makes no pretentions about being a deep book - it took me a total of 2.5 hours to read, and at no point did it get bogged down in deep technicalities of any particular service. Instead, it opts for broad coverage of testing, logging, permissions, and event responses.
Compared to reading the equivalent AWS documentation, a beginner will be ready to get started with Lambda about 4x as fast, since the content is organized and introduces services as they’re needed.
The Less Good
The first example in the book is the dishearteningly overused “make image thumbnails” demo, which has refused to die as the go-to use case for Lambda’s S3 event processing. It’s a pet peeve of mine because of just how many blog posts, talks, and Github repos there are devoted to it.
Otherwise, the real-world examples are varied - working with instance tags, CodeDeploy, SES email processing, and enforcing IAM two-factor auth are a fair sample of ops-type Lambda workloads.
The formatting needs some assistance - almost all the examples are unreadable on the Kindle e-reader because they use wide tabs, and some of the tables don’t fit even in landscape mode. Worst of all: the graphics are mostly low-contrast, so I spent a while puzzling them out on my Kindle.
The word “microservices” is in the title, but any recognizable form of them is notably absent. There is brief mention that a microservice is typically larger than a Lambda function, and that microservices are compartmented contexts that work together to provide a larger context. The book is primarily focused on Lambda as a replacement for running scripts/cronjobs on an EC2 instance and polling APIs.
I’d give this a solid 3 out of 5 Greek letters. The writing is clear, the examples are correct, and it’s well-targeted at beginners. The examples also don’t require much Node.js experience to understand. Since being published, AWS has added VPC support for Lambda which (understandably) hasn’t been added yet. For beginners, it’s a great place to start and priced at a very attractive $4. It’s available in the Kindle store, and Kindle Unlimited.
Disclosure: I bought the book myself, and received no compensation for this review, and none of the links in this post are affiliate links.