<instructions>Your goal is to analyze the following comment and estimate how highly it will be upvoted by the Hacker News community.</instructions><comment><author>philwelch</author><text>And then what if your Lambda function fails because a service dependency is down? The answer is, it retries twice and then you can have it go to a deadletter queue. If you want to have any configuration control over your retry or deadletter behavior, SQS is really handy.&lt;p&gt;It&amp;#x27;s also a useful pattern to, instead of configuring the SQS event itself as your Lambda trigger, have a scheduled trigger and then perform health checks on your service dependencies before pulling messages from the queue. This technique saves you wasted retries and even gives you more fine-grained control over deleting messages (the SQS mechanism for saying, &amp;quot;this is done and you don&amp;#x27;t need to retry it after the timeout). The SQS trigger, in contrast, deletes the entire batch of messages if the Lambda exits cleanly and does not delete any of them if the Lambda does not exit cleanly, which is a bit messy.&lt;p&gt;Also, you can have an SQS queue subscribe to multiple SNS topics, which means you can set up separate SNS topics for backfill or other use cases. This is especially useful in cross-account use cases, where often your online events are coming from an SNS from a different account, but you want to be able to inject your own testing and backfill events.</text><parent_chain><item><author>otterley</author><text>No need to use SQS here, assuming you don&amp;#x27;t need strict ordering behavior, since SNS can use Lambda functions as notification targets.  The nice thing about SNS is that it can automatically fan out to multiple Lambda functions in parallel.</text></item><item><author>ryanmarsh</author><text>Instead of enquing a job you’d  just write to an SQS queue and have a lambda as your “job handler” using the queue as an event source.&lt;p&gt;Boom, no need for Active Job.&lt;p&gt;Welcome to Serverless.&lt;p&gt;There’s going to be a lot of people trying to do things the “rails way” on serverless and it’s going to be a little confusing for a while. Many will write it off, some will creat innovative new gems. And of course the Ruby community will come up with the best abstraction for SAM templates and deployment, because we like nice tools.</text></item><item><author>scarface74</author><text>Why would you need to make an active Job handler? What would that do for you over just a regular event based Ruby lambda?&lt;p&gt;Honest question: I don’t Ruby, I just looked up what it is.</text></item><item><author>aantix</author><text>Thanks for the Ruby links.&lt;p&gt;With the native ruby support[3], I wonder how hard it would be to implement a Lambda ActiveJob handler..</text></item><item><author>talawahdotnet</author><text>&lt;p&gt;&lt;pre&gt;&lt;code&gt;  We are making these open source runtimes available soon:
  C++[1]
  Rust[2]

  We are also working with our partners to provide more open source runtimes:
  Erlang (Alert Logic)
  Elixir (Alert Logic)
  Cobol (Blu Age)
  N|Solid (NodeSource)
  PHP (Stackery)
&lt;/code&gt;&lt;/pre&gt;
There is also native Ruby support as well[3]&lt;p&gt;1. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aws.amazon.com&amp;#x2F;blogs&amp;#x2F;compute&amp;#x2F;introducing-the-c-lambda-runtime&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;aws.amazon.com&amp;#x2F;blogs&amp;#x2F;compute&amp;#x2F;introducing-the-c-lambd...&lt;/a&gt;&lt;p&gt;2. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aws.amazon.com&amp;#x2F;blogs&amp;#x2F;opensource&amp;#x2F;rust-runtime-for-aws-lambda&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;aws.amazon.com&amp;#x2F;blogs&amp;#x2F;opensource&amp;#x2F;rust-runtime-for-aws...&lt;/a&gt;&lt;p&gt;3. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aws.amazon.com&amp;#x2F;blogs&amp;#x2F;compute&amp;#x2F;announcing-ruby-support-for-aws-lambda&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;aws.amazon.com&amp;#x2F;blogs&amp;#x2F;compute&amp;#x2F;announcing-ruby-support...&lt;/a&gt;</text></item></parent_chain></comment><story><title>New for AWS Lambda: Use Any Programming Language and Share Common Components</title><url>https://aws.amazon.com/blogs/aws/new-for-aws-lambda-use-any-programming-language-and-share-common-components/</url></story>
<instructions>Your goal is to analyze the following comment and estimate how highly it will be upvoted by the Hacker News community.</instructions><comment><author>scarface74</author><text>Using SQS as an event source, it will also fanout with the advantage of being able to process up to 10 messages at once, dead letter queues for SQS make a lot more sense than lambda DLQs etc.&lt;p&gt;But, I prefer to use SNS for producers and SQS for consumers and assign the SQS queue to a topic. With SNS+SQS you get a lot more flexibility.</text><parent_chain><item><author>otterley</author><text>No need to use SQS here, assuming you don&amp;#x27;t need strict ordering behavior, since SNS can use Lambda functions as notification targets.  The nice thing about SNS is that it can automatically fan out to multiple Lambda functions in parallel.</text></item><item><author>ryanmarsh</author><text>Instead of enquing a job you’d  just write to an SQS queue and have a lambda as your “job handler” using the queue as an event source.&lt;p&gt;Boom, no need for Active Job.&lt;p&gt;Welcome to Serverless.&lt;p&gt;There’s going to be a lot of people trying to do things the “rails way” on serverless and it’s going to be a little confusing for a while. Many will write it off, some will creat innovative new gems. And of course the Ruby community will come up with the best abstraction for SAM templates and deployment, because we like nice tools.</text></item><item><author>scarface74</author><text>Why would you need to make an active Job handler? What would that do for you over just a regular event based Ruby lambda?&lt;p&gt;Honest question: I don’t Ruby, I just looked up what it is.</text></item><item><author>aantix</author><text>Thanks for the Ruby links.&lt;p&gt;With the native ruby support[3], I wonder how hard it would be to implement a Lambda ActiveJob handler..</text></item><item><author>talawahdotnet</author><text>&lt;p&gt;&lt;pre&gt;&lt;code&gt;  We are making these open source runtimes available soon:
  C++[1]
  Rust[2]

  We are also working with our partners to provide more open source runtimes:
  Erlang (Alert Logic)
  Elixir (Alert Logic)
  Cobol (Blu Age)
  N|Solid (NodeSource)
  PHP (Stackery)
&lt;/code&gt;&lt;/pre&gt;
There is also native Ruby support as well[3]&lt;p&gt;1. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aws.amazon.com&amp;#x2F;blogs&amp;#x2F;compute&amp;#x2F;introducing-the-c-lambda-runtime&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;aws.amazon.com&amp;#x2F;blogs&amp;#x2F;compute&amp;#x2F;introducing-the-c-lambd...&lt;/a&gt;&lt;p&gt;2. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aws.amazon.com&amp;#x2F;blogs&amp;#x2F;opensource&amp;#x2F;rust-runtime-for-aws-lambda&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;aws.amazon.com&amp;#x2F;blogs&amp;#x2F;opensource&amp;#x2F;rust-runtime-for-aws...&lt;/a&gt;&lt;p&gt;3. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aws.amazon.com&amp;#x2F;blogs&amp;#x2F;compute&amp;#x2F;announcing-ruby-support-for-aws-lambda&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;aws.amazon.com&amp;#x2F;blogs&amp;#x2F;compute&amp;#x2F;announcing-ruby-support...&lt;/a&gt;</text></item></parent_chain></comment><story><title>New for AWS Lambda: Use Any Programming Language and Share Common Components</title><url>https://aws.amazon.com/blogs/aws/new-for-aws-lambda-use-any-programming-language-and-share-common-components/</url></story>