I’m building a serverless application with AWS Lambda using Go, but I want to avoid using TypeScript or AWS CDK to keep my stack simple and focused on Go. Is there a way to manage the serverless infrastructure and deployment without relying on TypeScript or CDK?
Motivation
When I started exploring serverless architectures, I came across this excellent YouTube video, which inspired me to dive deeper into the world of serverless Go. While the approach in the video was insightful, I noticed that using AWS CDK with TypeScript to build serverless applications, even when the core business logic was written in Go, introduced some complexity. This observation led me to explore a more streamlined solution.
Solution
To complement the approach from the video and to avoid the complexity of TypeScript and CDK, I developed the Go Serverless Lambda Skeleton Project. This project is a template that focuses on simplicity, performance, and a pure Go stack. By leveraging the AWS Serverless Application Model (SAM), it allows Go developers to build and deploy Lambda functions without needing additional languages or tools.
What I Care About in This Project
Simplicity at Its Core: Inspired by the video, my project eliminates the need for TypeScript or AWS CDK, focusing solely on Go. This approach reduces the learning curve and makes the project accessible to more developers, especially those who prefer to avoid unnecessary complexity.
Maintainability: With everything written in Go and managed through AWS SAM, the codebase remains clean and easy to manage. This focus on simplicity and clarity ensures the project’s long-term health and scalability.
Focus on Go: By staying within the Go ecosystem and using AWS SAM for deployment, this project leverages Go’s strengths, making serverless development straightforward, efficient, and aligned with Go’s philosophy.
Conclusion
I created this project to make Go-based serverless development more accessible and user-friendly. While inspired by the work of others, including the video mentioned above, I aimed to create a simple, powerful, and easy-to-use template that doesn’t rely on additional languages or complex frameworks. I hope it helps other developers as much as it has helped me.
Repository: https://github.com/kwtki/go-serverless-lambda