Weekly update 01

I’m start­ing a new job at DAZN next week, excit­ing times! I’m look­ing for­ward to work­ing in a very dif­fer­ent domain, after many won­der­ful years in the games indus­try. Also, I’ll be look­ing for tal­ent­ed engi­neers to join my team. If you’re inter­est­ed, then take a look at the job spec to get a sense of what the role involves.

In the spir­it of try­ing some­thing new I’m tri­al­ing a new for­mat of blog posts in the shape of week­ly updates. In these updates I will share inter­est­ing arti­cles & announce­ments I come across, as well as a sum­ma­ry of what I have been work­ing out or writ­ing about.

Welcome TotalCloud as our first ever sponsor!

First, I wan­na give a shout out to Total­Cloud who will be spon­sor­ing this blog for the next week.

Total­Cloud, the first-of-its-kind inter­ac­tive & immer­sive visu­al con­sole for cloud man­age­ment, pro­vides DevOps engi­neers and IT man­agers with real-time, vir­tu­al view of cloud inven­to­ry, super­im­posed with addi­tion­al lay­ers of con­tex­tu­al insights and oper­a­tional capa­bil­i­ties, ulti­mate­ly to pro­vide “com­plete cloud vis­i­bil­i­ty.”

Using visu­al­ly-rich 3D rep­re­sen­ta­tion of met­ric data and real-time strat­e­gy (RTS) gam­i­fi­ca­tion con­cepts, it allows users to per­form cost analy­sis, man­age, opti­mize, com­ply, & secure cloud resources from a sin­gle touch point — visu­al­ly, con­tex­tu­al­ly and inter­ac­tive­ly.

I love shar­ing, but main­tain­ing this blog and writ­ing reg­u­lar­ly takes a lot of time and effort. Not to men­tion there is a cost for run­ning the blog itself as well, hence all the ads you nor­mal­ly see on here. My goal with spon­sor­ship is to work with spon­sors who are aligned with the inter­est of myself and my read­ers, and find a sus­tain­able way to keep this blog going with­out rely­ing on ads and improve the view­ing expe­ri­ence for every­one.

If you’re inter­est­ed in spon­sor­ing this blog in the future, please check out the spon­sor­ship page for more details.

AWS Lambda supports Node.js 8.10

The biggest announce­ment in the server­less space for me is that Node.js 8.10 is final­ly added to AWS Lamb­da. You can now use the async and await key­words with Promise, and no longer need to use co as poly­fill! Here are some oth­er things that you get with Node.js 8 sup­port.

AWS Summit SF

In typ­i­cal AWS fash­ion, they announced a whole bunch of things dur­ing the AWS Sum­mit in SF this week. Here are a few that I picked up on:

Last­ly, AWS SAM (AWS’s own deploy­ment frame­work based on Cloud­For­ma­tion) 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 host­ing the server­less track at the QCon New York con­fer­ence at the end of June! It’s my first time host­ing a track at a big con­fer­ence like QCon, and it’ll be my first time vis­it­ing the big apple too :-)

(new talk) Applying principles of chaos engineering to serverless

I gave a new talk at CityJs­Conf last week, based on my (not yet com­plete) series on how we can apply prin­ci­ples of chaos engi­neer­ing to the server­less par­a­digm. It went down real­ly well with the audi­ence and I’m look­ing for­ward to giv­ing this talk again in the future.

I’m speaking at WEBdeLDN on 10.04.2018

Next Tues­day, I will be speak­ing at an event orga­nized by WEB­deLDN on “less is more”, get your tick­et here. I will share my expe­ri­ence run­ning server­less in pro­duc­tion, and I will be joined by my old bud­dy Scott Smethurst who I worked close­ly with at Yubl.

New posts this week

7 things I learnt from one of the best star­tups 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 pro­gres­sive and inno­v­a­tive com­pa­ny, and it does so well in places oth­er more estab­lished com­pa­ny fail.

Here are my top tips on tech­ni­cal writ­ing after 8 years and 700 posts. I have been writ­ing on this blog for a long time now, and I have devel­oped a cer­tain style of writ­ing over time. In this post I shared the 6 sim­ple rules that I fol­low when­ev­er I write.

What is the best event source for doing pub-sub with AWS Lamb­da? In this post I dis­cuss the trade­offs between SNS, Kine­sis Streams and DynamoDB Streams as event source for Lamb­da in the con­text of pub-sub. The dis­cus­sion cen­ters around the trade­offs between scal­a­bil­i­ty, par­al­lelism, resilience and cost.

Progress update on Production-Ready Serverless

Last week, unit 7 was added to the MEAP (Man­ning Ear­ly Access Pro­gram). It cov­ers real-time event pro­cess­ing with Kine­sis and Lamb­da, as well as a bonus mod­ule on imple­ment­ing per-func­tion IAM roles.

Dur­ing my time off this week, I have been work­ing hard on unit 8 (log­ging) and 9 (mon­i­tor­ing) to get them into the hands of my edi­tor ASAP.

In unit 8, I walked through the steps to imple­ment log aggre­ga­tion for Lamb­da using Logz.io, which offers host­ed ELK stack and a free tier. I dis­cussed the need for using struc­tured log­ging with JSON, and how to cap­ture addi­tion­al con­text to enrich our logs. I dis­cussed why you shouldn’t enable debug log­ging in pro­duc­tion, and why you should instead sam­ple debug logs in pro­duc­tion. I then inte­grat­ed the demo app with mid­dy to make it easy to sam­ple debug logs at a con­fig­urable sam­ple rate.

In unit 9, I dis­cussed the chal­lenges the server­less par­a­digm pos­es to exist­ing tools and prac­tices we use for mon­i­tor­ing. I demon­strat­ed how you can record cus­tom met­rics both syn­chro­nous­ly as well as asyn­chro­nous­ly (via Cloud­Watch logs). I also showed a handy trick for get­ting the mem­o­ry usage and actu­al billed mil­lisec­onds out of Cloud­Watch logs and record them as met­rics. Not stop­ping there, I fin­ished the unit by demon­strat­ing an automa­tion pat­tern, to auto-cre­ate Cloud­Watch alarms when­ev­er you cre­ate a new API.

Some good reads from this week

Jere­my Daly wrote a nice post on cou­ple of things to help you man­age RDS con­nec­tions bet­ter from Lamb­da.

Tom McLaugh­lin men­tioned on Slack about this new IDE called Sig­ma for writ­ing Lamb­da func­tions.

Here’s a nice post that com­pares DNS Resolver Per­for­mance between Cloud­Flare, Google, Quad9 and OpenDNS.

Here are 13 note­wor­thy points about Google’s JavaScript style guide.

Chris Munns wrote about how to man­age cross-account server­less microser­vices.

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

Until next week..

So that’s it for the first edi­tion of my week­ly updates!  As it’s a new for­mat, I’d love to know what you think, and if there’s any­thing spe­cif­ic you’d like to see in these updates. Please let me know via com­ments or the con­tact form.

See you next week!