Check out my new course Learn you some Lambda best practice for great good! and learn the best practices for performance, cost, security, resilience, observability and scalability.
Hi, welcome to another weekly update.
Bye bye, DAZN!
Yesterday was my last day at DAZN.
Handed in my laptop, bagged my slippers, this is it. It's been a pleasure @dazneng! See you guys around ??
— Yan Cui (@theburningmonk) June 21, 2019
I’m fortunate and grateful to have had the chance to play a very small part in the growth of DAZN over the last 12 months. The product is doing fantastically well. It became the top-grossing sports app in the world, and year-on-year revenue was up a staggering 950%!
Most of all, I feel privileged to have met and worked with some of the most talented and capable people in the industry. And I’m sad to part ways with them.
Over the last 6 months, DAZN has been very kind to accommodate me and allowed me to reduce my involvement to 3 days a week. This gave me the opportunity to ease my way into a new career as an independent consultant. Thankfully, many of you responded and I was able to work with a number of clients to help them on their journey to serverless. I have thoroughly enjoyed working with different clients, understanding and solving problems in different domains.
Most differences in opinion are just difference in context. I regularly disagree with something, while at the same time realizing that if I were solving the same problems I would draw the very same conclusion.
— Michel Weststrate (@mweststrate) June 20, 2019
The experience has also opened my eyes to a wider range of contexts and constraints that different clients have to work within. I’m sure, in time, it’ll make me a much better problem solver and I want to do more of it! Which is why I made the difficult decision to leave DAZN in order to pursue a career as an independent consultant full time.
If you’re interested in working with me, you can find out more about the services I can provide, as well as to get in contact with me through this page.
Going forward, I’ll also be splitting my time between Amsterdam and London. My wife is starting a new job in Amsterdam, so we’ll shortly be migrating to Amsterdam as a family (with our cat Ada, whom many of you met on my video course!). But as most of my clients are based in London, I’ll be taking the short flight between London and Amsterdam almost on a weekly basis.
We held our first-ever internal tech conference
Just before I left DAZN, I took part in our first-ever internal tech conference. We had a number of internal as well as external speakers and covered everything from microfrontends and serverless, to dealing with the imposter syndrome.
A huge thanks to @daznglobal and the amazing speakers that hit the stage yesterday at the DAZN London Dev Day ?????@lucamezzalira @_maxgallo @theburningmonk @BackhouseRobyn @mackstar @simon_tabor @JoshuaMKite @PatrickKunka @granze @elibelly @tonyedwardspz @smoosh_comedy pic.twitter.com/soRuqvltC5
— DAZN Engineering (@dazneng) June 18, 2019
My contribution was a talk on the value of experimenting in the cloud and doing so in a tasteful manner (i.e. don’t put your experiments into production!). It’s a topic that is very close to me, and one of my favourite past-times. I shared a number of interesting experiments that the serverless community has done, and some ideas and learnings that we can take from them.
As my colleague, Richard McIntyre summed up in one sentence – “be curious, ask a question and run with it”. This simple rule has been the driving force for my whole career and I would recommend it to anyone!
AWS Lambda: how to detect and stop accidental infinite recursions. In this post, I discussed the danger of accidentally triggering an infinite recursion of Lambda invocations. It’s a problem that has hit several members of the serverless community, and is an easy mistake to make! As such, we (DAZN) has incorporated a middleware into our dazn-lambda-powertools project to detect and stop infinite recursions.
Serverless app to speed up all your Lambda functions. I continued my collaboration with Lumigo to bring you even more opensource tools to make it easier for you to build serverless applications. This time, we open sourced two separate tools:
- autodeploy-layer: a Serverless Application Repository (SAR) app to automate the deployment of Lambda layers. Now, it’s easy to roll out a new version of a layer that your functions depend on. You just need to a) deploy this SAR app to your region, and b) tag the functions that need the layer.
- optimized-aws-sdk: a version of the AWS SDK with HTTP keep-alive enabled. Which, you can conveniently deploy to all your functions that use the AWS SDK with the autodeploy-layer app ;-)
I gave a talk on Serverless and FinDev at the National DevOps Conference this week, you can find the slides for the talk below.
I specialise in rapidly transitioning teams to serverless and building production-ready services on AWS.
Are you struggling with serverless or need guidance on best practices? Do you want someone to review your architecture and help you avoid costly mistakes down the line? Whatever the case, I’m here to help.
Check out my new course, Learn you some Lambda best practice for great good! In this course, you will learn best practices for working with AWS Lambda in terms of performance, cost, security, scalability, resilience and observability. Enrol now and enjoy a special preorder price of £9.99 (~$13).
Are you working with Serverless and looking for expert training to level-up your skills? Or are you looking for a solid foundation to start from? Look no further, register for my Production-Ready Serverless workshop to learn how to build production-grade Serverless applications!
Here is a complete list of all my posts on serverless and AWS Lambda. In the meantime, here are a few of my most popular blog posts.
- Lambda optimization tip – enable HTTP keep-alive
- You are thinking about serverless costs all wrong
- Many faced threats to Serverless security
- We can do better than percentile latencies
- I’m afraid you’re thinking about AWS Lambda cold starts all wrong
- Yubl’s road to Serverless
- AWS Lambda – should you have few monolithic functions or many single-purposed functions?
- AWS Lambda – compare coldstart time with different languages, memory and code sizes
- Guys, we’re doing pagination wrong