Starting a new hobby project. It would be a HTTP API service with 10-15 endpoints. Would get a few 1000 hits for about 14-16 hours a day. Language preference is Golang or Javascript followed by Python (Flask).<p>Want it to be as less maintainable as possible in addition to low-cost, autoscaling. To be honest, not bothered about vendor lock-in, to reduce dev hours & cost. This is also an opportunity to learn about serverless architecture of development and so not doing it as a monolith.<p>Few reqmts:
1) Need to interact with a database, which could also be serverless (say aurora or firestoredb). Should have a reliable workflow for database migrations.
2) Should have an excellent offline, local development workflow. Should not expect me to talk to cloud for local development.
3) Should be easy to integrate with gitlab/github to do continous deployment
4) Should have support for multiple deployment environments (Production, Staging, Demo)
5) Should have well defined ways for .env files, ENV variables for reading sensitive info (API Keys)<p>Some contenders that I see (with first opinions on shallow googling) are:
1) serverless - Seem to be the oldest. Seems trusted by AWS
2) openfaas - Seems good. No vendor lockin. But not supported by either AWS or GCP officially. Not too keen on vmware cloud.
3) KNative - Still seems immature. By the lethargic pace in which GCP is moving (especially related to Golang support) I am not too keen on this. Not 1.0 yet I believe.
4) AWS Fargate - Seems like the best solution. No need to break every HTTP handler into an unit of deployment. Integrates with AWS ecosystem (cloud watch, vpc ...)<p>Bonus points for frameworks that support:
1) automatic code structure gen, given a swagger YAML(openapi 3.0)
2) Integrations for logging, tracing etc. with standard tools (like elasticsearch, cloudwatch, stackdriver, prometheus, etc).<p>So, Here I am seeking the opinions/experiences/comments of HN crowd about serverless frameworks / tools you used. Thanks.
Check out Kubeless, it can do most of what you ask. Will need to Kubectl patch ... for secrets mounting.<p>GKE is an easy way to get a k8s cluster, use the nginx ingress, so you don't have to pay for a GCloud load balancer (will need to disable them)