Reading AWS Serverless in Action (1)

It’s been quite a while since I last posted. In fact the last time was May 2017! So maybe it’s time to get back into the swing with some thoughts on AWS.

I’ve worked with AWS for more years than I can remember. In the early years that was mostly EC2 and S3 but in the last year I’ve been using a much wider range of Amazon’s vast offering. In particular I’ve been setting up and running systems using “Serverless” architectures. I thought it would be interesting to see what I might have learnt earlier if I’d had a good book. As a Manning author I naturally thought that Serverless Architecture on AWS (2nd edition) was a good place to start.

The book itself isn’t due to be published until 2021 but is being released in parts through Manning’s early access program (MEAP). So here’s the plan: I’ll set aside some time to go through a chapter or two each day and post my thoughts and reflections. I’m writing this just as we are about to go into another lockdown in England and so I should have some spare time on my hands! I’ll commit to doing this throughout November. If you have any feedback, questions or thoughts drop me a line in the comments.

So chapter 1: As usual for books of this type this is really a scene-setter chapter getting readers up to the same page and discussing some of the jargon that many will already know. In particular what is serverless? The authors give a definition that requires 2 things to be present 1) served as a utility 2) only incur cost for usage. The key here is offerings like Salesforce meet the first but not the second.

Related to this is the discussions of Functions-as-a-service (FAAS) for which AWS offers Lambda functions. Sometimes FAAS/Lambda gets conflated with serverless. Serverless is a superset of these technologies, one obvious example being AWS’s FARGATE which is a serverless container (as in Docker) environment.

Possibly the most useful section of the chapter is section 3 which looks at how and when to go serverless. In particular the authors recommend avoiding a ‘lift-and-shift’ approach, something I would heartily agree with. If you are looking to make this call and want to understand the options and pros and cons, checkout this section.

Finally I checked out the 2 appendices. Appendix A listed out some of the technologies that might be used in a serverless approach and presumably they will be talking about them later in the book. It was encouraging to see both AWS’s hosted API offerings, API Gateway (REST) and AppSync (GraphQL), discussed. I’ve enjoyed using AppSync/GraphQL over the last couple of months so hopefully there will be something on that.

Appendix B covers some of the nuts and bolts of AWS that you really have to have nailed down before jumping in feet first. I’m talking about 1) security 2) costs. As I found when encountering any new cloud service it doesn’t take long before you have to understand the security model to make best use of cloud. AWS has a reasonably straight-forward model but it does have a few oddities.

It also won’t take long before you find costs biting. It’s good to get a hang of how the various costing models work in particular what free-tiers are available: it’s not uncommon to happily be working with a technology that seems very cheap until you tip over the free-tier level!

I’ll post my thoughts on chapter 2 in the next posts.

One thought on “Reading AWS Serverless in Action (1)

  1. Pingback: Reading AWS Serverless in Action (2) | (Machine) Learning at Speed

Leave a comment