Applying the Saga pattern with AWS Lambda and Step Functions

The Saga pattern is a pattern for managing failures, where each action has a compensating action for rollback. In Hector Garcia-Molina’s 1987 paper, it is described as an approach to handling system failures in a long-running transactions. It has become increasingly relevant in the world of microservices as application logic often needs to transact across …

Applying the Saga pattern with AWS Lambda and Step Functions Read More »

Yubl’s road to Serverless – building better recommendations with Lambda, BigQuery and GrapheneDB

part 1: overview part 2: testing and CI/CD part 3: ops part 4: building a scalable notification system part 5: building a better recommendation system <- you’re here When I joined Yubl in April 2016, it had launched just 2 months earlier, after a long and chaotic development cycle that lasted more than 2 years …

Yubl’s road to Serverless – building better recommendations with Lambda, BigQuery and GrapheneDB Read More »

aws x-ray and lambda : the good, the bad and the ugly

AWS announced general availability of AWS Lambda support for AWS X-Ray back in May. It’s taken me a while to try it out, and whilst I see plenty of values I think its current limitations significantly restricts its usefulness in a complex system. I found Lambda-specific documentations to be fragmented and I had to rely …

aws x-ray and lambda : the good, the bad and the ugly Read More »

Finding coldstarts : how long does AWS Lambda keep your idle functions around?

In the last post I compared the coldstart time for Lambda functions with different language, memory and code size. One of the things I learnt was that idle functions are no longer terminated after 5 minutes of inactivity. /2017/06/aws-lambda-compare-coldstart-time-with-different-languages-memory-and-code-sizes/ It is a fantastic news and something that Amazon has quietly changed behind the scene. However, …

Finding coldstarts : how long does AWS Lambda keep your idle functions around? Read More »

aws lambda – compare coldstart time with different languages, memory and code sizes

A while back we looked at the performance difference between the language runtimes AWS Lambda supports natively. We intentionally omitted coldstart time from that experiment as we were interested in performance differences when a function is “warm”. However, coldstart is still an important performance consideration, so let’s take a closer look with some experiments designed …

aws lambda – compare coldstart time with different languages, memory and code sizes Read More »

Beware of dilution of DynamoDB throughput due to excessive scaling

update Jan 26, 2020: since this article was already written, the problem of throughput dilution has been resolved by DynamoDB’s adaptive capacity feature which is applied in real-time. TL;DR – The no. of partitions in a DynamoDB table goes up in response to increased load or storage size, but it never come back down, ever. DynamoDB …

Beware of dilution of DynamoDB throughput due to excessive scaling Read More »

From F# to Scala – implicits

Read the whole series: Part 1 — type inference Part 2 — traits Part 3 — case class/object (ADTs) Part 4 — apply & unapply functions Part 5 — implicits <- you’re here Having looked at case class and extractors recently, the next logical thing would be partial functions. Since Andrea pointed me to a really well article on the subject I don’t think …

From F# to Scala – implicits Read More »

Serverless 1.X – enable API Gateway caching on request parameters

Having previously blogged about the untrodden path to enable caching on API Gateway request parameters in the Serverless framework 0.5.X, it’s a little disappointing that it’s still not officially fixed in the 1.X versions… The Problem The problem is two-fold: there’s currently no way to specify caching should be enabled for path & query string …

Serverless 1.X – enable API Gateway caching on request parameters Read More »

Yubl’s road to Serverless architecture – building a scalable push notification system

part 1: overview part 2: testing and CI/CD part 3: ops part 4: building a scalable notification system <- you’re here part 5: building a better recommendation system Just before Yubl’s untimely demise we did an interesting piece of work to redesign the system for sending targeted push notifications to our users to improve retention. The …

Yubl’s road to Serverless architecture – building a scalable push notification system Read More »

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close