3 ms·
Background: I just started a systems integration project that leverages Lambda pretty heavily as part of a messaging API. Behind an API Gateway Lambda functions
by finaliteration 9y ago
Background: I just started a systems integration project that leverages Lambda pretty heavily as part of a messaging API. Behind an API Gateway Lambda functions will be responsible for processing initial message requests, routing the requests to certain SQS queues based on certain criteria, and then making requests to other systems as messages come into the various queues. Each of these parts of the process have their own set of functions that will run independently. I’m writing my Lambda functions using C#/.NET Core 2.0 (I started with Go initially but I’ve used C# before and find that I personally prefer it).
So far I think the development process has been good. Deployment has been okay, and I’ve found it easier to deploy my .NET functions vs the old Go functions.
Logging/debugging is a bit of a chore but not awful. Cloudwatch alarms are fairly useful for knowing when something critical happened, but you still have to dig in fairly deep to find the relevant error information.
Performance wise, Go was really fast even with the smallest amount of memory. Cold starts were around 1s and requests after that were around 30-40ms on average. C# is substantially slower unless you bump up the memory.
All that being said, overall I really enjoy developing Lambda functions and not having to worry about containers, etc., because I’m not a DevOps person. I would definitely use it again for other projects, and probably will.