Closed fitomad closed 1 year ago
thanks for bringing this up @fitomad there are a few spots where we can discuss such things:
swift forums: https://forums.swift.org/c/related-projects/aws-lambda-runtime/63 community slack: https://swift-open-source.slack.com/archives/C014TGU0GTE
Thanks for the info.
I didn't know the Slack channel (I hope giphy integration was disabled 🤪)
I'll take a look to forums and Slack
I think we can mark as closed this issue.
Hi @tomerd
Just one question about Slack community channel. Does It works under invitation process?
Thanks!
Here's an invite link, anyone is free to generate such invite link: https://join.slack.com/t/swift-open-source/shared_invite/zt-1pdcdvaqp-Nvh1QMRifpp_Js1kt5UjPQ
Thanks @ktoso!
I think that turn on the Discussion repository feature could be useful in order to provide a space to discuss topics other than issues or enhancements requests but always related to the use of this project.
Architecture
It would be a good idea to have a space where talk about architectural questions related to AWS Lambdas implementation with Swift using this project or how-to implement AWS Lambda Layers and the software design implications that it brings.
As
UIKit
framework teams did, the gave us the framework and said...We can start thinking about different architectural patterns that match with the nature of Lambdas and its usage with Swift, for example Hexagonal architecture, or MVC architecture.
Design Patterns
Another point of discuss is recommend a set of software patterns to solve common projects goals, for example the use of Lambdas as AWS API Gateway backend (defining a handler per endpoint and each related operation follows the Command pattern, or something like that...)
Sample Project
We can define some kind of sample project that serves as a PoC for all of this stuffs and future ones, as the projects used in the WWDC to show the different features, and include it in the Example folder of this project.
Conclusion
All of those points could be useful to define the way to work with AWS Lambdas using Swift at different projects scale, from the simple one, receiving an event from AWS SQS, to the complex one, where a mix of various API Gateway and SQS events are received and have a shared Domain and Data layers in a AWS Lambda Layer, storing data in a AWS DynamoDB instance