My Opinion on Serverless

Michael Wittig – 09 Nov 2016

I attended Serverlessconf in London to speak with people involved in the Serverless world. Vendors, Framework maintainers, and users like myself. I reflected on the discussed topics and here it is: my opinion.

Opinion

Beta vs Stable

I can’t believe that business rely on beta software such as Azure Functions (in Preview) or Google Cloud Functions (in Alpha). There is a reason why providers attach the beta label to their software. Because it’s not stable! So please don’t run a business on top of that. Pet projects are more appropriate.

Vendor Evangelists

Please question those Vendor Evangelists. They are 100% not neutral! They get paid to tell you that their product is great. Don’t spread their arguments without reflecting on them. It’s your mind. You have the freedom to think by yourself.

Lambda chains vs event driven

I talked to many people and one hot topic was Lambda chains. A Lambda function calls a Lambda function calls a Lambda function.
If your Lambda needs to talk to other Lambdas a lot you may need to slice your problem better. Checkout bounded contexts to improve your modeling skills. Try to model your business process asynchronously by using an event driven design and avoid synchronous chains.

I can recommend the talk Serverless for Developers: Tips for Your Next App by Danilo Poccia.

Serverless - the name

I have not spoken to a single person who was not aware of the fact that the code still runs on servers. I recommend that we focus on a different topic than finding a name in the coming months.
Why not spend that energy to think about the event driven topic?

Platform is what matters

AWS Lambda alone is only the tip of the ice berg. The value comes from the AWS platform. Use Lambda to glue AWS services together and you will realize the potential. When evaluating other providers this is what matters!

I want to fix it myself syndrom

Oh my god: Lambda is down. I can’t fix it. I rely on AWS to fix it.

That’s called specialization and is the driver for our wealth. Someone maintains my car. Someone manufactures iPhones. Someone produces my food. I have no idea how this works. That’s fine!
But I hardly believe that I’m better at what I do in my field compared to people outside of my field. So why should this not apply to the Lambda staff?

There is still Ops

Let me tell you what I have observed in various projects:

  • There is less Ops in EC2 compared to run your own VMware solution.
  • There is less Ops in RDS compared to run your own Oracle database.
  • There is less Ops in Kinesis compared to your own Kafka cluster.

The same is true for Lambda.
By the way: There is less Dev in Lambda compared to your Play/Spring/Express Framework as well. We get more productive. That’s fine.

Michael Wittig

Michael Wittig

I’ve been building on AWS since 2012 together with my brother Andreas. We are sharing our insights into all things AWS on cloudonaut and have written the book AWS in Action. Besides that, we’re currently working on bucketAV, HyperEnv for GitHub Actions, and marbot.

Here are the contact options for feedback and questions.