Go is a way faster than both Python and PHP, which is pretty understandable, but we were amazed at how good we adapted to use it. Go was a blessing for a team , since strict typing is making it very easy to develop and control everything inside team, so the quality was really good. We made huge leap forward in dev speed because of it.
Maybe not an obvious comparison with Kafka, since Kafka is pretty different from rabbitmq. But for small service, Rabbit as a pubsub platform is super easy to use and pretty powerful. Kafka as an alternative was the original choice, but its really a kind of overkill for a small-medium service. Especially if you are not planning to use k8s, since pure docker deployment can be a pain because of networking setup. Google PubSub was another alternative, its actually pretty cheap, but I never tested it since Rabbit was matching really good for mailing/notification services.
As a backend dev, it was quite easy to go with vue over react. Important note that Im now talking about Vue2 maybe the are crucial changes in third version, but the second one is super easy to get into without spending too much time learning concepts. And vue-cli is just a breeze to start a project with.
Since now Jira is offering pretty wide free plans, it can compete with asana at small teams. And they have a significant advantage especially if you're working in agile methodology. Confluence is also a big advantage, and also comes with a free plan, so it's a pretty big thing. But we had also talked about asana and used to work with it before a lot, but we chose to go with Jira, and it's pretty good for now.
Jenkins is a friend of mine. 😀
There are not much space for Jenkins competitors for now from my point of view. With declarative pipelines now in place, its super easy to maintain them and create new ones(altho I prefer scripted still). Self-hosted, free, huge community makes it the top choice so honestly for me it was an easy pick.
Google cloud is in a good price range, and I feel that the pricing overall is pretty significantly better than AWS. Also, maybe its just for me, but Google dashboard is waaay better and more informative than Amazon one. Especially all billings and financial info are just in another league. Google billings is pretty transparent so its a huge reason for me. The overall deployment of services and configs are pretty much the same so I cant add a lot of pros or cons for Aws or GCP.
Nuxt was a better choice, since Gridsome has pretty small community overall and pretty hard to adapt it to scaling. Nuxt allowed us to built website fast and focus on app more. Next was our backup plan, but we felt that if we stick with vue for app, we may as well go with vue-driven framework for website too.
Not to discourage people, but if you want to build SSR(server-side rendering) without Nuxt(well actually even with it), I recommend checking if you can go with react over vue. The main thing is, for some reason, SSR components is pretty common on Vue too, but a lot of them are not working with SSR right even if stated otherwise, so you end up building almost everything from scratch. It can be an issue with react too, but community is a bit larger so the components are more frequently updated, and there is generally more expertise in terms of SSR.
We basically deploy everything in a docker containers. We moved on from docker compose, since it was a bit of painful to deploy compose containers. Altho we still use compose for integration testing, when we need to test handlers with db in confined environment.
SendGrid was a staple for our team for a long time. Especially with dynamic templates, it's very easy to setup trigger emails for confirm/reset password functions. Since I never met anyone who enjoyed building email templates, I think visual builder is a blessing.