As someone who operates a consultancy which has deployed more than 5000+ web apps in the last quarter alone.

We exclusively use AWS Lambda, DynamoDB or if the app is complex, we use Amazon RDS.

For search - AWS Elasticsearch

Our preferred stack is Go + VueJS.

WHY GO?

It's much easier for our senior developers to ramp up a team of 10 developers on Go than say Python or Ruby. Suprinsgly, we have a few guys who are Go experts, they unblock all other developers when it comes to best practices or some weird bugs.

WHY VUEJS?

It's has been a lot easier for us to introduce this to our frontend developers than any other thing.

WHY NOT RAILS?

We found it difficult to make SPA apps in Rails and ramp period for developers is much higher than Go + Vuejs.

WHY NOT PYTHON?

I loved Flask but we really need Type checking, we are not able to sleep without it. And Go has enough of what we need. Yes, we've briefly experimented with Haskell, OCaml, Scala etc.... but way difficult for new devs.

WHY NOT JAVASCRIPT BACKEND?

We found it much easier to write backend code in Go.

IDE/DEBUGGER

I am a pro-VIM user myself but it's so refreshing and fun to watch new developers speed up on Gogland IDE and the debugger makes developing in Go much easier. This is something only old languages like Java or C# has. It's way more difficult for new developers to pick up Java or C# in our experience. They've way more features which our developers found confusing. So, Go stayed everything else was thrown out including Haskell.

VUE CLI

We use https://github.com/vuejs/vue-cli No it does not require deep knowledge of webpack. There are just a few guys on our team who knows webpack/vuejs/javascript inside out in extensive details, rest of the developers simply use their custom designed/documented template and it satisfies 100% of our frontend needs. They unblock everyone on our team if any developer gets stuck with webpack.

DEVELOPERS ARE OUR BIGGEST COST

Keep in mind, we do not have access to the best developers at the budget price.

TRAINING

We give new developers as much help and training as they need. Our developers can call the pro guys anytime (even on weekends) and our senior developers love the respect/rewards they get in return.

COST

AppEngine costs $30 a pop, for 90% apps which receive less than 100 hits a day, it's expensive. This is where Lambda wins.

CI

Multi-tenant CI is still a pain in 2018. Current workflow with Gitlab sucks. We wish we could have a simple file in our repo and make 1 curl call to run the CI without any initial setup. But it will eventually happen.

PAYMENT PROCESSING

If the SaaS product needs multiple payment methods like Stripe, Braintree, PayPal Bitcoins, Ethereum, Wire Transfer we use http://killbill.io/ which is multi-tenant, opensource and self-hosted. Previously, we were using WHMCS, Amember pro, and Chargify but it ended up costing way more and was a lot more fragile at the end, completely failing monkey wrench test and our new developers found it much harder to wrap their head around 3 different products. A customer has to simply enter their API credentials for the respective gateway (Stripe or PayBear or BitPay) and we integrate it in minutes.

BIGDATA

If we need complex large aggregation, we haul in Athena or BigQuery.

Our developers prefer BigQuery but Athena is sometimes cheaper in the long run and makes it way easier to import/partition your big data.

STREAM PROCESSING

If we need anomaly detection or preprocessing of statistics we use Kinesis streams.

Because of this setup, we primary run on an army of bootcamp graduates and we are able to provide really cheap service to non-profits and other companies who are not able to afford even a dedicated freelancer.

FORGET VALUE, WE WANT TO BE CHEAP

"Cheap" is a wrong word to use as a marketer/sales guy. But yea, since I am now in technical position, so I remove sales guy hate and wear tech hat, making our creation as cheap, robust and secure as possible while still satisfying the requirements.

WHERE IS THE FUN

We drive our major profits from AdTech business (which involves stressful high tech stuff but it's lot more fun) and consultancy is just to validate our solutions across a large number of our portfolio customers. We've to ensure, their setup is as cheap, robust and secure as possible.

IMPROVEMENTS

As I want to improve my strategies and methods as much as possible, feel free to challenge my choice. It should not just work for 1 developer but an army of developers and it should make it trivial to add more developers.