2

With serverless computing using AWS lambda, Amazon(AWS) is taking the ownership of architecture, administration & deployment aspect of AWS services(VPC/EC2/ELB/AScaling/Rtables/SGroups/etc...) for the application to run.

With this approach, AWS user losing control on designing an optimal VPC architecture that fine tunes with application

So, when not to think about serverless computing?

4
  • 1
    Hi and welcome! Sounds like the answer offered by yourself could be like "in some cases lambda is not enough and you need to elaborate a more detailed solution for an individual case". But then why ask?
    – Ta Mu
    Commented Dec 31, 2018 at 6:25
  • perhaps the question title should be edited to be “when is it not appropriate to use serverless technology such as AWS Lambda?”
    – simbo1905
    Commented Dec 31, 2018 at 8:17
  • Check out this paper on the problems of Serverless cidrdb.org/cidr2019/papers/p119-hellerstein-cidr19.pdf
    – simbo1905
    Commented Jan 17, 2019 at 19:40
  • Somehow related - PaaS vs FaaS in the Google Cloud Platform context: When to choose App Engine over Cloud Functions? Some arguments are applicable in AWS, too. Commented Feb 27, 2019 at 5:24

3 Answers 3

4

There is likely no general answer to this question, but some reasons to not consider Lambda (or other serverless platforms) include:

  • App requires a language which is not available (C++, Haskell, Erlang, etc.)

  • Organization has existing substantial investment in containerized (or other) app development model, including developer knowledge, build and deployment pipelines

  • Portability is concern; i.e. the organization wants/needs to keep app in a state which is portable across platforms (AWS, Azure, various k8s implementations, and so on).

  • Cost. Do costs of running the Lambda function(s), as well as associated resources (API Gateway, VPC components) exceed budget? This is unlikely if the org. is already running in AWS, but can be a factor when compared against existing (and paid-off) on-premise resources.

3

I wrote a bit about this on my LinkedIn post which was based on the article by Andrea Passwater.

In brief, do not go serverless, if

  1. You want complete control of the infrastructure and latest system patches
  2. If your microservices are complex, and thus have some latency in starting up and computing output
  3. You are not prepared for a heavy reliance on event-based architecture to monitor systems
2
  • So PAAS layers like cloud foundry or aws lambda should not be used in above cases Commented Feb 27, 2019 at 8:36
  • yes they shouldn't.
    – KatariaA
    Commented Feb 27, 2019 at 9:39
1

If your system doesnt have events which you want to handle or have something getting triggered then don't use lambda. I won't say that language should be a concern here since you can always rewrite that part into python or golang code. Lambda is difficult to handle for complex systems. Unless you are already using a web framework like rails or django which have their inbuilt way of handling routes, you do want to make use of aws lambda.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.