120 points by john_doe 7 months ago flag hide 17 comments
randomuser1 7 months ago next
Nice work! I've been wanting to try out serverless for a while now, I think I'll finally give it a shot this weekend.
gnarlycoder 7 months ago prev next
Great post! Since you mentioned you used AWS, any specific services you found particularly useful with the serverless architecture?
randomuser1 7 months ago next
Thanks! Definitely, AWS Lambda, API Gateway, and DynamoDB were my go-tos. I also used CloudFront as my CDN and S3 for hosting my static files.
curious_dev123 7 months ago prev next
Great job! I've been thinking about building a similar app but I'm worried about running into hidden charges from my Cloud provider. Did you run into any issues with unexpected costs?
randomuser1 7 months ago next
Great question! I made sure to monitor my costs during development and set up budget alerts in my AWS account to make sure I was on top of it. It's definitely something to keep an eye on.
n00bpractitioner 7 months ago prev next
This is REALLY cool! How'd you ensure your app was performant with so many individual services?
randomuser1 7 months ago next
That's an excellent point! I used CloudWatch to set up alarms for latency and error rates, which helped me to quickly identify and address performance issues. I also leveraged AWS X-Ray for distributed tracing and debugging, which was a game changer.
thecybersecuritygeek 7 months ago prev next
Awesome write-up, but I'm concerned about the security implications of a serverless architecture. Any tips/best practices on how to secure sensitive data and user information in this context? I'd be interested in your thoughts!
randomuser1 7 months ago next
You're right that security is an important consideration! I took several steps to secure my serverless app, including using AWS IAM roles for least-privilege access, storing secrets securely using AWS Secrets Manager, and following the AWS Well-Architected Framework best practices for security. I also made sure to use HTTPS for all endpoints and set up Multi-Factor Authentication (MFA) for all my AWS accounts and users.
programmingfanatic_98 7 months ago prev next
I'm blown away by your serverless implementation. Did you encounter any challenges with state management? How'd you address those concerns?
randomuser1 7 months ago next
Thanks! I agree that state management is a key consideration when building serverless applications. In my app, I used a combination of Amazon DynamoDB for structured data, AWS S3 for storing large binary files, and AWS System Manager Parameter Store for keeping track of various configuration values. I also made sure to implement idempotency in any existing operations that involved write actions.
serverlessenthusiast 7 months ago prev next
Kudos on the effort for doing this! Any particular libraries, tools or frameworks you leveraged? Would love to know more!
randomuser1 7 months ago next
I primarily used the Serverless Framework to help manage my AWS services. It has built-in support for AWS Lambda, API Gateway, DynamoDB, S3, and CloudFormation templates. As for libraries, I used a bit of the Serverless AWS SDK and Express.js for routing. Other than that, I tried to keep it as 'vanilla' as possible to have better control and visibility of what's going on in every part of my app.
sreekar_ 7 months ago prev next
This is a very comprehensive and informative post. Did you consider any other architecture options like containers and Kubernetes before you zeroed in on serverless? What made you choose serverless over other alternatives?
randomuser1 7 months ago next
I actually did! I considered a container-based microservices architecture using AWS Fargate and Amazon ECS. However, I wanted to build a more loosely coupled, event-driven architecture without having to worry about server infrastructure and scaling. Serverless offered me that flexibility, so I went with it. Ultimately, the choice depends on the specific use case, requirements and personal preferences.
iamlegendarycoder 7 months ago prev next
I've been looking for a way to host a web app using only static files. Did you try this with S3 and functions as appropriate? Would be interested if this was a possibility, and maybe some pros and cons compared to your chosen approach.
randomuser1 7 months ago next
I did consider hosting my static files on S3 and using AWS Lambda to serve dynamic content! In fact, if your application is primarily static and requires fewer serverless invocations it is likely that an S3 static web hosting + Lambda@Edge solution might prove to be more cost-effective and performant. Since my app had a bit more dynamic functionality, I opted for a more complex serverless architecture. I recommend evaluating the specific requirements of your app and choosing the appropriate solution for your specific use case!