Programming

What is the best event source for doing pub-sub with AWS Lambda?

AWS offers a wealth of options for imple­ment­ing mes­sag­ing pat­terns such as pub-sub with Lamb­da, let’s com­pare and con­trast some of these options. The pub-sub pat­tern Pub­lish-Sub­scribe (often short­ened to pub-sub) is a mes­sag­ing pat­tern where pub­lish­ers and sub­scribers are decou­pled through an inter­me­di­ary bro­ker (ZeroMQ, Rab­bit­MQ, SNS, etc.). SNS + Lamb­da In the AWS ecosys­tem, the obvi­ous …

What is the best event source for doing pub-sub with AWS Lamb­da?Read More »

You need to use structured logging with AWS Lambda

This is a les­son that I wished I learnt when I first start­ed using AWS Lamb­da in anger, it would have made my life sim­pler right from the start.  But, we did get there before long, and it allowed us to track and include cor­re­la­tion IDs in our log mes­sages (which are then pushed to an ELK stack)which would …

You need to use struc­tured log­ging with AWS Lamb­daRead More »

I’m afraid you’re thinking about AWS Lambda cold starts all wrong

When I dis­cuss AWS Lamb­da cold starts with folks in the con­text of API Gate­way, I often get respons­es along the line of: Meh, it’s only the first request right? So what if one request is slow, the next mil­lion requests would be fast. Unfor­tu­nate­ly that is an over­sim­pli­fi­ca­tion of what hap­pens. Cold start hap­pens once for …

I’m afraid you’re think­ing about AWS Lamb­da cold starts all wrongRead More »

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

In the last post I com­pared the cold­start time for Lamb­da func­tions with dif­fer­ent lan­guage, mem­o­ry and code size. One of the things I learnt was that idle func­tions are no longer ter­mi­nat­ed after 5 min­utes of inac­tiv­i­ty. /2017/06/aws-lam­b­­da-com­­pare-cold­s­tart-time-with-dif­fer­­ent-lan­guages-mem­o­ry-and-code-sizes/ It is a fan­tas­tic news and some­thing that Ama­zon has qui­et­ly changed behind the scene. How­ev­er, …

Find­ing cold­starts : how long does AWS Lamb­da keep your idle func­tions around?Read More »

From F# to Scala – implicits

Read the whole series: Part 1 — type infer­ence Part 2 — traits Part 3 — case class/object (ADTs) Part 4 — apply & unap­ply func­tions Part 5 — implic­its <- you’re here Hav­ing looked at case class and extrac­tors recent­ly, the next log­i­cal thing would be par­tial func­tions. Since Andrea point­ed me to a real­ly well arti­cle on the sub­ject I don’t think …

From F# to Scala – implic­itsRead More »

From F# to Scala — apply & unapply functions

Read the whole series: Part 1 — type infer­ence Part 2 — traits Part 3 — case class/object (ADTs) Part 4 — apply & unap­ply func­tions <- you’re here Part 5 — implic­its Last time around we looked at Scala’s Case Class in depth and how it com­pares to F#‘s Dis­crim­i­nat­ed Unions. F# also has Active Pat­terns, which is a very pow­er­ful lan­guage …

From F# to Scala — apply & unap­ply func­tionsRead More »

From F# to Scala — case class/object (ADTs)

Read the whole series: Part 1 — type infer­ence Part 2 — traits Part 3 — case class/object (ADTs) <- you’re here Part 4 — apply & unap­ply func­tions Part 5 — implic­its Con­tin­u­ing on from where we left off with traits last time around, let’s look at Scala’s case class/object which can be used to cre­ate Alge­bra­ic Data …

From F# to Scala — case class/object (ADTs)Read More »

From F# to Scala — traits

Read the whole series: Part 1 — type infer­ence Part 2 — traits <- you’re here Part 3 — case class/object (ADTs) Part 4 — apply & unap­ply func­tions Part 5 — implic­its Con­tin­u­ing on from where we left off with type infer­ence last time around, let’s look at a lan­guage fea­ture in Scala that doesn’t exist in F# — traits. Scala has …

From F# to Scala — traitsRead 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