Weekly update 01

Yan Cui

I help clients go faster for less using serverless technologies.

This article is brought to you by

I never fully recovered my workspace setup when I upgraded my laptop two years ago, and I still miss things today. If only I had known about Gitpod back then…

Learn more

I’m starting a new job at DAZN next week, exciting times! I’m looking forward to working in a very different domain, after many wonderful years in the games industry. Also, I’ll be looking for talented engineers to join my team. If you’re interested, then take a look at the job spec to get a sense of what the role involves.

In the spirit of trying something new I’m trialing a new format of blog posts in the shape of weekly updates. In these updates I will share interesting articles & announcements I come across, as well as a summary of what I have been working out or writing about.

Welcome TotalCloud as our first ever sponsor!

First, I wanna give a shout out to TotalCloud who will be sponsoring this blog for the next week.

TotalCloud, the first-of-its-kind interactive & immersive visual console for cloud management, provides DevOps engineers and IT managers with real-time, virtual view of cloud inventory, superimposed with additional layers of contextual insights and operational capabilities, ultimately to provide “complete cloud visibility.”

Using visually-rich 3D representation of metric data and real-time strategy (RTS) gamification concepts, it allows users to perform cost analysis, manage, optimize, comply, & secure cloud resources from a single touch point — visually, contextually and interactively.

I love sharing, but maintaining this blog and writing regularly takes a lot of time and effort. Not to mention there is a cost for running the blog itself as well, hence all the ads you normally see on here. My goal with sponsorship is to work with sponsors who are aligned with the interest of myself and my readers, and find a sustainable way to keep this blog going without relying on ads and improve the viewing experience for everyone.

If you’re interested in sponsoring this blog in the future, please check out the sponsorship page for more details.

AWS Lambda supports Node.js 8.10

The biggest announcement in the serverless space for me is that Node.js 8.10 is finally added to AWS Lambda. You can now use the async and await keywords with Promise, and no longer need to use co as polyfill! Here are some other things that you get with Node.js 8 support.

AWS Summit SF

In typical AWS fashion, they announced a whole bunch of things during the AWS Summit in SF this week. Here are a few that I picked up on:

Lastly, AWS SAM (AWS’s own deployment framework based on CloudFormation) is now open sourced.

I will be hosting the serverless track at QCon New York in June

I’m pleased to announce that I will be hosting the serverless track at the QCon New York conference at the end of June! It’s my first time hosting a track at a big conference like QCon, and it’ll be my first time visiting the big apple too :-)

(new talk) Applying principles of chaos engineering to serverless

I gave a new talk at CityJsConf last week, based on my (not yet complete) series on how we can apply principles of chaos engineering to the serverless paradigm. It went down really well with the audience and I’m looking forward to giving this talk again in the future.

I’m speaking at WEBdeLDN on 10.04.2018

Next Tuesday, I will be speaking at an event organized by WEBdeLDN on “less is more”, get your ticket here. I will share my experience running serverless in production, and I will be joined by my old buddy Scott Smethurst who I worked closely with at Yubl.

New posts this week

7 things I learnt from one of the best startups you’ll find. As I take my leave from Space Ape Games, I wrote up the 7 things that I learnt from my time there. It’s a very progressive and innovative company, and it does so well in places other more established company fail.

Here are my top tips on technical writing after 8 years and 700 posts. I have been writing on this blog for a long time now, and I have developed a certain style of writing over time. In this post I shared the 6 simple rules that I follow whenever I write.

What is the best event source for doing pub-sub with AWS Lambda? In this post I discuss the tradeoffs between SNS, Kinesis Streams and DynamoDB Streams as event source for Lambda in the context of pub-sub. The discussion centers around the tradeoffs between scalability, parallelism, resilience and cost.

Progress update on Production-Ready Serverless

Last week, unit 7 was added to the MEAP (Manning Early Access Program). It covers real-time event processing with Kinesis and Lambda, as well as a bonus module on implementing per-function IAM roles.

During my time off this week, I have been working hard on unit 8 (logging) and 9 (monitoring) to get them into the hands of my editor ASAP.

In unit 8, I walked through the steps to implement log aggregation for Lambda using Logz.io, which offers hosted ELK stack and a free tier. I discussed the need for using structured logging with JSON, and how to capture additional context to enrich our logs. I discussed why you shouldn’t enable debug logging in production, and why you should instead sample debug logs in production. I then integrated the demo app with middy to make it easy to sample debug logs at a configurable sample rate.

In unit 9, I discussed the challenges the serverless paradigm poses to existing tools and practices we use for monitoring. I demonstrated how you can record custom metrics both synchronously as well as asynchronously (via CloudWatch logs). I also showed a handy trick for getting the memory usage and actual billed milliseconds out of CloudWatch logs and record them as metrics. Not stopping there, I finished the unit by demonstrating an automation pattern, to auto-create CloudWatch alarms whenever you create a new API.

Some good reads from this week

Jeremy Daly wrote a nice post on couple of things to help you manage RDS connections better from Lambda.

Tom McLaughlin mentioned on Slack about this new IDE called Sigma for writing Lambda functions.

Here’s a nice post that compares DNS Resolver Performance between CloudFlare, Google, Quad9 and OpenDNS.

Here are 13 noteworthy points about Google’s JavaScript style guide.

Chris Munns wrote about how to manage cross-account serverless microservices.

And this is the best login page design I have ever seen!

Until next week..

So that’s it for the first edition of my weekly updates!  As it’s a new format, I’d love to know what you think, and if there’s anything specific you’d like to see in these updates. Please let me know via comments or the contact form.

See you next week!

 

References

Whenever you’re ready, here are 3 ways I can help you:

  1. Production-Ready Serverless: Join 20+ AWS Heroes & Community Builders and 1000+ other students in levelling up your serverless game. This is your one-stop shop for quickly levelling up your serverless skills.
  2. I help clients launch product ideas, improve their development processes and upskill their teams. If you’d like to work together, then let’s get in touch.
  3. Join my community on Discord, ask questions, and join the discussion on all things AWS and Serverless.